Last Update: 24.11.2017. By Jens in APIs
When building APIs in Java, we have some more options than just Spring Boot. No, I am not talking about JEE. We actually have some more options.
This article gives you an overview of some of the alternatives. However, I do not judge them because I haven’t worked with most of them. Maybe, I’ll explore some of them in future articles. The list is in no particular order.
Spring Boot
Yeah, I have to add it to the list. It is one of the mature and widely used frameworks for building APIs, web apps, and microservices. But it comes with a price, named Spring.
JEE
The Java enterprise is still around. Honestly, I never met one who loved to work with these, except basic servlets, nonetheless, it might be an option for you. JBoss, Websphere, and co are still alive.
ENTERPRISE GRADE. HALF THE CODE. Finally a Java MVC framework that’s fun to use, but isn’t a toy.
Ratpack is a set of Java libraries for building modern HTTP applications. It provides just enough for writing practical, high performance, apps. It is built on Java 8, Netty and reactive principles.
An Application Model you can Play with End-to-End Java framework including comprehensive Data Authorization model, a powerful RESTful engine, and out-of-the-box UI views
Scalable, fast and modular micro web framework for Java.
Spark - A micro framework for creating web applications in Kotlin and Java 8 with minimal effort
It’s an open source (Apache License) micro web framework in Java, with minimal dependencies and a quick learning curve. The goal of this project is to create a micro web framework in Java that should be easy to use and hack.
Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services.
A REST API or service framework built on top of light-4j
Ninja is a full stack web framework for Java. Rock solid, fast, and super productive.
The High Velocity Web Framework For Java and Scala
Simple REST APIs for Java and Kotlin
A Google Guice based Micro Web Framework to build scalable Java Web Application and Web Services
Some of the frameworks are full fledge “replacements” for the Spring universe, e.g., Play, Jello. While others like Spark or Javalin focus on the web facing part and leave the rest to the dev. Both techniques have their place and time. Ultimately, you must decide which one fits into your specific context.
For me, it’s Spring Boot most of the time. But I am biased. I’ve been working with Spring for a decade now and am comfortable working with it.