Choose the right Java runtime for the job (2020, Quarkus vs Open Liberty vs traditional application server)

This page summarizes the projects mentioned and recommended in the original post on /r/java

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • JHipster

    JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures."

  • Some people like to take components a la carte with JHipster, which has options for pretty much everything, so you could check available options there if you want even more!!

  • Jetty

    Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more

  • If you're doing something pretty simple and need something really lighweight, however, you could go with something like Javalin or even use Jetty directly (the HTTP server which powers Javalin and many other frameworks by default). It's not that hard to do that and that's what I actually would do myself for almost everything... the fewer moving parts you have in your application, the better chances you have of keeping everything up-to-date and the less chance to mess up (with a caveat: bigger frameworks may give you secure defaults that if you're not experienced enough you may not even know about, so it may be better to not go low level if you're new-ish to running web applications securely).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Vert.x

    Vert.x is a tool-kit for building reactive applications on the JVM

  • For performance and good support for asynchronous programming, I think the best option is Vert.x. It's the fastest Java option by far according to TechEmpower ranking.

  • javalin.github.io

    Javalin website source code

  • If you're doing something pretty simple and need something really lighweight, however, you could go with something like Javalin or even use Jetty directly (the HTTP server which powers Javalin and many other frameworks by default). It's not that hard to do that and that's what I actually would do myself for almost everything... the fewer moving parts you have in your application, the better chances you have of keeping everything up-to-date and the less chance to mess up (with a caveat: bigger frameworks may give you secure defaults that if you're not experienced enough you may not even know about, so it may be better to not go low level if you're new-ish to running web applications securely).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts