Our great sponsors
-
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."
-
Jetty
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
-
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.
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!!
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).
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.
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).