The year 2014 saw the establishment of various web application frameworks for development for web applications and services. Each web framework is designed for a specific purpose. But, in general, web application frameworks strive to make the mundane front ends of Java interesting and user friendly. Because Java is an open community with super enthusiast users, a lot of web frameworks are available out there. Which one to use and which not to really depends on the project itself.
The following were the fore runners in the race for the top positions amongst Java Web Frameworks in 2014 and will probably remain so in 2015; at least in early 2015.
We examine the claims of each of the framework websites for Spring MVC / Spring Boot, Grails, Play, Vaadin, Dropwizard, Vert.x and Spark with the links to the appropriate sources.
Spring MVC & Spring Boot
Spring MVC is at the top on the list. The Spring Web MVC framework or simply Spring MVC is really a rich model view controller web framework. It usually uses a DispatcherServlet to help dispatch requests to handlers, using configurable handler mappings, view resolution and theme resolutions along with help regarding upload of files. Spring MVC users tend to be powerfully aligned and there is a statistics that forty percent of developers that use a web framework use Spring.
Spring Boot makes it easy for development teams to build efficient JVM based apps and solutions. As regards web frameworks, Spring Boot provides auto-configuration for Spring MVC which suit majority of applications. It is a good framework to start quick development of web applications, especially because it comes bundled with TomCat and Jettty.
Next to Spring MVC comes this open source web application framework for the Java virtual machine, Grails.
Grails is an Open Source, full stack, web application framework for the JVM. It takes advantage of the Groovy programming language, an agile and dynamic language for the Java Virtual Machine with convention over configuration to provide a productive and stream lined development experience.
Play is used to build web applications with Java and Scala. It is built on Akka and provides optimization of resources. It has a lightweight, stateless and web-friendly architecture to keep the developer community happy.
Vaadin is a Java framework for building modern web applications that look great, perform well and make both developers and users happy. Based on Google Web Toolkit (GWT), Vaadin writes both apps and UI using Java.
Drop wizard is a lightweight Java framework for developing ops-friendly, high-performance, RESTful web services. This framework pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package. Dropwizard extends its services to provide configuration, logging, application metrics and application tools as well as to derive niche web services with a quick turn around.
Vert.x is a lightweight, high performance application platform for the JVM for use by mobile, web, and enterprise applications. It is a server framework providing an event-based programming model providing asynchronous API. It has won the award for “Most Innovative Java Technology” at the JAX Innovation awards earlier in 2014.
A tiny Sinatra inspired framework for creating web applications in Java 8 with minimal effort. It does not aim to replace Sinatra in any way. It is perfect for creating quick and smaller web applications and is popularly found to be used with AngularJS. It avoids the need for XML configuration fostering quick development with no overheads.
The developer community watches these frameworks with close interest in 2015 just as it did in the year gone by.