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

 

Author notes

 
This framework is a good starting choice, mainly for smaller projects and fast prototyping.
 
Introduction date: 2013
Rating: 5/5
 
Spring Boot makes it easy to create Spring-powered, production-grade applications and services with the absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need.
 

Links

 
 
Official Site GitHub Documentation
 
 

Pro

 
  • Fast and very popular
  • Easy to setup and handle
  • Spring family environment – (I will not list all spring benefits, you can Google it on your own)
  • Modular
  • Plays well with other libraries
  • Huge community
  • Top-notch documentation
  • Enterprise ready
 

Con

 
  • Its popularity also brings a batch of downsides, and one of them is documentation fragmentation. Too much available on-line sources makes it very hard to find what are you looking for.
  • Braking changes between versions

 

Author notes

 
This framework is my bread and butter. While not fastest it serves me well enough. I don’t have any current plans of switching to some other frameworks. Maybe, if required, I will think of also using Java Light framework.
 

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.



  • 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?

    • Dany Yacoub

      It can be developed with Java, I’ve used it for a while (and I prefer type safe languages) so always used it with Java and in the same code use some Groovy (for array manipulation for instance)

  • Hestia

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

    • Pawan Dalal

      We use Jersey along with spring boot in production environment.

  • 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!

  • greenlaw110

    Hey, maybe you want to checkout this new framework:
    http://actframework.org/

    Plus the performance comparison between ActFramework and many of the framework listed in your blog:
    http://tfb-insight.thinking.studio/#vs/actframework:spring:dropwizard:ninja-standalone:light-4j:play2:spark

    The data comes from the latest TechEmpower framework benchmark: https://www.techempower.com/benchmarks/previews/round15/

    I’ve also calculated lines of source code vs tests implemented and come up with an new benchmark item: code density, in order to measure how expressive a framework can be when creating the TechEmpower benchmark project.

    Link to test project source is provided in each framework’s detail page, e.g. http://tfb-insight.thinking.studio/#framework/dropwizard

  • Carlos Alberto Hernandez Mogue

    One big issue I have faced with some of this frameworks (Play, Spring Boot and Dropwizard) is their enormous memory footprint. This makes them not suitable for micro services.

  • Luigi Candita

    Yes… It’s another jvm Lang (groovy), but is based on spring-boot: Grails. A real awesome full stack web framework. And groovy is a powerful language, easy to learn for Java developer.