The Modern Java Platform

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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

    Discontinued A simple and modern Java and Kotlin web framework [Moved to: https://github.com/javalin/javalin]

  • Also very lightweight and pleasant to use are Javalin and SparkJava. I've worked with both of them in personal projects and work stuff and really enjoyed using them. Basically a Java version of Flask - small but totally stable and sufficient for many web projects.

    https://javalin.io/

    http://sparkjava.com/

  • Graal

    GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

  • 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

  • I would like to draw you attention to vertx[1] its an eclipse project with well thought out API's and documentation and no magic.

    [1]https://vertx.io/

  • 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."

  • Check out https://www.jhipster.tech

    It uses Spring Boot, but comes with a lot of sane defaults.

  • teavm

    Compiles Java bytecode to JavaScript, WebAssembly and C

  • }

    would actually compile down to just (JS)

    window.alert("Hello World")

    TeaVM doesn't support code splitting that Both GWT and Closure Compiler support, or cross-module code motion.

    https://github.com/konsoletyper/teavm/issues/333

  • Play

    The Community Maintained High Velocity Web Framework For Java and Scala.

  • Java Play Framework is great. It's what Spring should be.

    https://www.playframework.com/

  • spring-fu

    Configuration DSLs for Spring Boot

  • There's a next stage after annotations. The current thinking is to replace annotations with function calls. It makes more sense if you use Kotlin because Java is a bit verbose when you do this and in Kotlin you get to create nice DSLs. This cuts down on use of reflection and AOP magic that spring relies on and also enables native compilation. It also makes it easier to debug and it makes it much easier to understand what is going on at the price of surprisingly little verbosity. Kofu and Jafu are basically still experimental but work quite nicely https://github.com/spring-projects-experimental/spring-fu/tr...

    Another trend is native compilation. Spring native just went into beta (uses the Graal compiler). That still relies on reflection but they re-engineered the internals to be more native friendly.

    Spring Boot basically added the notion of autoconfiguring libraries that simply by being on the classpath self configure in a sane way. It's one of those things that makes the experience a bit more ruby on rails like. Stuff just works with minimal coding and you customise it as needed (or not, which is perfectly valid).

    Compared to XML configuration, Spring has come a long way. Separating code and configuration is still a good idea with Spring but indeed not strictly enforced. @Configuration classes can take the place of XML and if you use the bean dsl, that's basically the equivalent of using XML. Only it's type checked at compile time and a bit more readable.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Quarkus

    Quarkus: Supersonic Subatomic Java.

  • This 'magic' is one of the reason why we switched to https://quarkus.io/

    Couldn't be more happier.

  • Spring Boot

    Spring Boot

  • I think too that Spring Boot opt-out autoconfiguration is an issue.

    Take a look at https://github.com/spring-projects/spring-boot/issues/25742#...

    I included a workaround allowing to opt-in for autoconfiguration instead of opting out. I have used the filter for more than 2 years without issue.

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