Building APIs with Java - Framework Overview

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.

  1. 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.

  2. 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.

  3. ACT.framework

    ENTERPRISE GRADE. HALF THE CODE. Finally a Java MVC framework that’s fun to use, but isn’t a toy.

  4. Ratpack

    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.

  5. Jello Framework

    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

  6. jooby

    Scalable, fast and modular micro web framework for Java.

  7. Spark

    Spark - A micro framework for creating web applications in Kotlin and Java 8 with minimal effort

  8. Pippo

    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.

  9. Dropwizard

    Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services.

  10. Light-rest-4j

    A REST API or service framework built on top of light-4j

  11. Ninja

    Ninja is a full stack web framework for Java. Rock solid, fast, and super productive.

  12. Play

    The High Velocity Web Framework For Java and Scala

  13. Javalin

    Simple REST APIs for Java and Kotlin

  14. Snow

    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.