Introduction date: 2013
Rating: 3.5/5
 
The Restx is lightweight, modular, feature rich, very fast, open source Java REST framework.
 

Links

 
 
Official Site GitHub Documentation
 
 

Pro

 
  • Fast and lightweight
  • Easy to setup
  • Real micro-framework
  • Modular
  • Other libraries are also supported
  • MongoDB support
 

Con

 
  • Nonfriendly and confusing documentation, I expect better from this kind of framework.
  • Still too young framework
  • Async is not supported – yet

 

Example

 
@GET("/message/{id}")
    public Message sayHello(String id, // path param
                            String who // query param
                            ) {
        return new Message().setMessage(String.format(
                "hello %s, it's %s",
                who, DateTime.now().toString("HH:mm:ss")));
    }
@POST("/message/{id}")
    public Message sayHello(String id, // path param
                            Message msg // body param
                            ) {
        return msg.setMessage(String.format(
                "%s @ %s",
                msg.getMessage(), DateTime.now().toString("HH:mm:ss")));
    }
 

Author notes

 
Truth to be told I didn’t spend too much time playing with this framework. There’s simply no point in yet another RESTful framework. I mean, come on, Java framework market is getting more and more fragmented, just like JavaScript market. This course of action must stop.
 
Introduction date: 2011
Rating: 3.5/5
 
Not to be confused with Apache Spark, Spark Framework is a lightweight Java web framework made for a rapid development (50% of Spark users use Spark to create REST APIs) with minimum fuss. It is inspired by Ruby framework called Sinatra.
 
It has a minimalist core (Its total size is less than a megabyte), providing you with all the essential features, be it for RESTful or classic web applications.
 

Links

 
 
Official Site Download GitHub Documentation
 
 

Pro

 
  • Fast and lightweight
  • Excellent for rapid prototyping
  • Easy to setup
  • Most commonly used with AngularJS
  • Real micro-framework
  • Uses Jetty
  • Can be used inside a container or without one
 

Con

 
  • Documentation could be better, it is not intended for beginners.
  • Not suitable for large projects
  • Small community

 

Example

 
import static spark.Spark.*;

public class HelloWorld {
   public static void main(String[] args) {
      get("/hello", (req, res) -> "Hello World");
   }
}
 

Author notes

 
This framework is a good starting choice, mainly for smaller projects and fast prototyping.
 

Who Am I?

Between working as a senior Java developer in one of the largest insurance companies in the world and traveling, in my free time, I work as a professional mobile development adviser. I'm also a major jQuery Mobile supporter back at StackOverflow and a forum moderator at the official Ionic Framework forum.

Blogs worth reading

If you're here looking for information related to the Ionic Framework, you will also like these blogs:






  • Antonio Garcia

    Hi
    I use this framework in my last work. I pick over other for the benchmark. This is because the use of Jetty.
    I do not use the framework at 100%, the core and JDBI but the documentation is very terse = much StackOverflow.
    JodaTime is included what is interesting.

  • Edgar Espina

    Good article!

    Here is another micro framework: http://jooby.org (I’m the author)

    It runs on top of netty (default), jetty or undertow. It has a scripting programming model but also MVC.

    • Ahmmad Ismail

      I am pretty much considering your framework. However, It will be great if you can provide some video tutorials. Otherwise it is hard to gain confidence to get started for a project on which I will be stick to for next 4/5 years at least.

  • My advice, go to the Ionic official forum. Sort answers by “number of replies”, and you’ll find your answer somewhere on the top. It’s a standard Ionic question.

  • C B Newham

    I don’t know why you claim Spark is not intended for beginners. I’m no expert on restful frameworks (Spark was the first I used) but I found the documentation to be adequate and it does exactly what I want with minimal fuss.

  • Thanks I will check it out

  • Thanks I will check it out, do you mind if I contact you with few questions?

    • Feel free to contact me with any question you might have.

  • Jay Ma

    No RestEasy?

  • Danio

    Great article. Can you explain these two:

    “Most commonly used with AngularJS”
    – isn’t AngularJS alone enough to develop front-end and just call backend without use of Spark framework?

    “Can be used inside a container or without one”
    – you wanna tell it does not have to use Jetty at all.. it is configurable? I did not know that

  • Jonathan Airey

    Dropwizzard -> Dropwizard.

  • Yohanes Pradono

    I am new to Java and am building a simple restful application. I am considering Dropwizard, Jersey, or Play2. still struggling on where i should put my faith on.
    Which one is the simplest to deploy on server?
    I am developing on windows and my server uses Linux.

    • Ferran Maylinch

      Would recommend Spring Boot or Dropwizard. Not Play, it has too many issues.
      Dropwizard is easy to use. Spring Boot too, and Spring products are always of high quality and well documented.

      • Madhu Sudhan

        go with dropwizard.easy to build and deploy

  • Yohanes Pradono

    Does grails require you to know Groovy? or it can be developed using java only knowledge?

  • Hestia

    I wanted to use Jersey, but the teacher forces us to use an other frmaework.

  • Steve Hu

    I maintain a microservices framework benchmarks which can give you an estimate of overhead for each framework. As latency, throughput and memory footprint are three most important factors for microservices. Hope it helps.

    https://github.com/networknt/microservices-framework-benchmark

  • Johanneke

    This is an AWESOME overview! Okay, I’m missing RESTEasy, which is one of the frameworks I’m considering. But the structure of your post is great, with a description, pro’s, con’s, author notes and the EXAMPLES! Small enough to not scare anyone away, but it gives an impression of the kind of code you’ll be writing. Thank you!