Spring Boot still works and ships on schedule. The project page lists version 4.1.2, which came out on October 23, 2026 together with 4.2.0-RC1. It is free under the Apache 2.0 licence. People leave for other reasons. One Hacker News commenter moved a team to Quarkus to cut AWS Lambda cold starts. Another left because Spring had too much hidden behaviour.
Upgrade pressure adds to it. Free support for Spring Boot 3.5 ended on June 30, 2026, and 4.0 loses it on December 31, 2026. Moving to 4.x brings a Jakarta EE 11 and Servlet 6.1 baseline. If you are paying for a migration anyway, compare first.
The first five picks run on the JVM, so your Java skills, Maven or Gradle builds and libraries carry over. The last four mean a new language: C#, TypeScript, Go or Python.
Prices below are as of November 6, 2026. Our method is on How we review tools.
Quick comparison
| Tool | Best for | Price | Platforms |
|---|---|---|---|
| Quarkus | Porting a Spring codebase with the fewest rewrites | Free (Apache 2.0) | JVM on Windows, Mac, Linux; native via GraalVM or Mandrel |
| Micronaut | Serverless functions with short cold starts | Free (Apache 2.0) | JVM (Java 25+); GraalVM native image |
| Javalin | Small REST APIs with no annotations | Free (Apache 2.0) | JVM (Java 17+) |
| Helidon | Shops that already pay Oracle for Java | Free (Apache 2.0) | JVM (Java 27 for v27, Java 21 for 4.5.x) |
| Ktor | Kotlin teams | Free (Apache 2.0) | JVM; CIO engine also on Kotlin/Native and JavaScript |
| ASP.NET Core | Spring-style structure in C# | Free (MIT) | Windows, Mac, Linux |
| NestJS | Full-stack TypeScript teams | Free (MIT) | Node.js 20+ |
| Gin | Single-binary Go services | Free (MIT) | Go 1.25+ |
| FastAPI | Python APIs next to ML code | Free (MIT); FastAPI Cloud from $0 | Python |
Quarkus
Of the JVM options, Quarkus asks the least of a Spring codebase. Its spring-di extension maps @Autowired to @Inject, @Service and @Component to @Singleton, and @Bean to @Produces, according to the compatibility guide. Injection is resolved at build time, and the reactive core uses Vert.x underneath.
The current long-term release is 3.40, published on September 30, 2026, with 3.40.1.1 as the latest patch. It needs JDK 17 or newer, the same floor as Spring Boot 4. Dev mode reloads code as you edit, and native executables are built with GraalVM or Mandrel.
Best for: Spring teams that want faster startup and lower memory without rewriting every class.
Pricing:
- Framework: free, Apache 2.0 licence
- Red Hat Build of Quarkus and IBM Enterprise Build of Quarkus: no public price, contact sales
- HeroDevs sells fixes for end-of-life versions, no public price
Watch out for:
- The Spring layer only reads annotations. It never starts an ApplicationContext, ignores @Conditional and has no Spring Boot test support.
- Community LTS releases are supported for 12 months, so plan a yearly upgrade or buy a vendor build.
Official site: Quarkus.
Micronaut
Compile-time dependency injection is the core idea in Micronaut. A wiring mistake fails the build, not the deploy. The homepage shows a sample app starting in 15 ms with 42 MB as a native image, against 235 ms and 356 MB on the JVM. Those are the vendor's numbers for its own sample.
Micronaut Platform 5.2.5 shipped on November 4, 2026. Version 5 moved JSON handling to Jackson 3, and the project became part of the Commonhaus Foundation in September 2026. You can write services in Java, Kotlin or Groovy.
Best for: Serverless functions and small services where cold start time shows up on the bill.
Pricing:
- Framework: free, Apache 2.0 licence
- Commercial support from Oracle (GraalVM Developer Kit) and Object Computing: no public price
Watch out for:
- Java 25 is the minimum for Micronaut 5. Teams on Java 17 or 21 must upgrade the JDK first.
- Upgrading from 4.x means code changes: RxJava 2 support was dropped and Micronaut's own @Nullable and @NonNull gave way to JSpecify.
Official site: Micronaut.
Javalin
Routes in Javalin are plain lambdas on top of Jetty 12. You never extend classes and rarely implement interfaces, per javalin.io, and the site says the whole thing is a few thousand lines of code. Java and Kotlin apps are built the same way.
Javalin 7.0 came out on February 22, 2026 with a regrouped config model and a new plugin API. Maven Central lists 7.2.4 as the newest build, from October 25, 2026. It needs Java 17 or newer.
Best for: Small REST APIs and internal tools where you want to read every step of request handling.
Pricing:
- Free, Apache 2.0 licence
- No paid support plan is listed on javalin.io
Watch out for:
- Javalin ships no logger, and the docs say you have to add your own. Injection and database access are also up to you.
- Moving from version 6 to 7 changes config and plugin code; read the migration guide before upgrading.
Official site: Javalin.
Helidon
Oracle builds Helidon on a web server that is fully based on virtual threads. Version 27 follows the JDK release train: it shipped alongside JDK 27, and Helidon 28 is planned for March 2027, according to InfoQ.
Release 27 renamed Helidon SE to Helidon Core, with an imperative style and a declarative style that resolves injection at build time. Teams that want a slower pace can stay on 4.5.x, which keeps a Java 21 baseline. Helidon is part of Oracle's Java Verified Portfolio.
Best for: Teams that already pay Oracle for Java or run workloads on Oracle Cloud.
Pricing:
- Framework: free, Apache 2.0 licence
- Oracle support through the Java Verified Portfolio, included at no extra cost for Java SE Subscription and OCI customers
- Java SE Universal Subscription: $15 per employee per month for 1 to 999 employees, falling to $5.25 at 40,000 to 49,999 (Oracle price list, dated March 1, 2023)
Watch out for:
- Helidon 27 requires Java 27, so build images, CI and native image toolchains all move with it.
- MicroProfile is not in Helidon 27 yet. MP, CDI and JAX-RS apps must stay on 4.5.x.
Official site: Helidon.
Ktor
JetBrains wrote Ktor for Kotlin and coroutines. You start from a small core and install plugins, including a built-in DI plugin in the ktor-server-di artifact. The current release is 3.6.1.
You choose the engine: Netty, Jetty, Tomcat, CIO, or a servlet container for WAR files. Spring Boot already supports Kotlin, so Ktor pays off when you want less framework, not only a nicer language. Java-only teams would have to learn Kotlin first.
Best for: Kotlin teams that prefer explicit, code-first routing over annotations.
Pricing:
- Free, Apache 2.0 licence
- No paid support: the support page lists Stack Overflow, YouTrack, Kotlin Slack and Reddit
Watch out for:
- CIO is the only engine that runs outside the JVM, and it has no HTTP/2 support.
Official site: Ktor.
ASP.NET Core
For a team willing to leave Java, ASP.NET Core feels the most like Spring Boot. Dependency injection is part of the framework, and C# reads familiar to a Java developer. The code is MIT licensed and runs on Windows, Mac and Linux.
.NET 10 is the current long-term release, at patch 10.0.14 and supported until November 14, 2028. LTS versions get three years of free patches and STS versions two. Both .NET 8 and .NET 9 reach end of support on November 10, 2026.
Best for: Teams open to C# that want Spring-style structure and one vendor behind the runtime, language and framework.
Pricing:
- Framework: free, MIT licence
- Paid help through Microsoft Unified or the Engage Center: no public price
Watch out for:
- Native AOT does not support MVC, Blazor Server or session state, and Minimal APIs only partly.
Official site: ASP.NET Core. Our listing: ASP.NET Core.
NestJS
Modules, providers and constructor injection give NestJS a shape Spring developers will recognise. The docs say Nest is built around dependency injection and resolves dependencies by type. Interfaces vanish when TypeScript compiles, so you inject them with a custom token.
Version 12 is the current major, and @nestjs/core 12.4.0, from November 6, 2026, needs Node.js 20 or newer. Express is the default HTTP layer, with a Fastify adapter as an option. One language from database to React front end is the main draw.
Best for: Full-stack TypeScript teams that liked Spring's structure but not the JVM.
Pricing:
- Framework: free, MIT licence
- Enterprise support from the core team: no public price, request it on nestjs.com
Watch out for:
- CPU-heavy work blocks the single Node.js event loop. The NestJS docs suggest moving such tasks to queues.
Official site: NestJS.
Gin
Gin has 89.2k GitHub stars, more than Spring Boot's 81.4k. It gives Go a radix-tree router and middleware chains, and the site says it avoids reflection.
A Go service compiles to a single binary, with no JVM to install and no heap flags to tune. Gin 1.12.0 is the latest release, and the README asks for Go 1.25 or later. Expect a smaller core than Spring: you bring your own config, injection and data layer.
Best for: Teams rewriting small, high-traffic services and ready to learn Go.
Pricing:
- Free, MIT licence
- No commercial support offering
Watch out for:
- Since Go 1.22, the standard net/http router matches methods and path wildcards. The Go team calls that one fewer dependency for many projects, so try the standard library before adding Gin.
Official site: Gin.
FastAPI
Python type hints do double duty in FastAPI. They validate requests, and they feed the Swagger UI at /docs and ReDoc at /redoc that the framework serves on its own. Starlette handles the web layer and Pydantic the data.
The latest release on GitHub is 0.162.2, from November 7, 2026, under the MIT licence. The same team runs FastAPI Cloud, a hosting service that is now generally available.
Best for: Python teams, especially ones serving ML models behind the API.
Pricing:
- Framework: free, MIT licence
- FastAPI Cloud Hobby: $0 per month, 3 apps, 1 custom domain, 0.1 CPU and 500 MiB per replica, 1-day log retention
- FastAPI Cloud Pro: $20 per seat per month, up to 10 seats
Watch out for:
- Versions are still 0.x and minor releases can break code: 0.162.0 changed how omitted boolean form fields are handled.
Official site: FastAPI. Our listing: FastAPI.
How to choose
| If you need | Pick |
|---|---|
| Keep most Spring annotations and libraries | Quarkus |
| Short cold starts on AWS Lambda or other serverless platforms | Micronaut |
| A tiny REST API with no annotations | Javalin |
| Support bundled into an existing Oracle Java subscription | Helidon |
| A Kotlin-first codebase | Ktor |
| Spring-like structure in a different language | ASP.NET Core |
| One language across front end and back end | NestJS |
| A single binary for a busy service | Gin |
| An API that sits next to Python ML code | FastAPI |
When to stay with Spring Boot
Keep Spring Boot if you rely on Spring Security, Spring Data or Spring Cloud and most of the 4.x upgrade is done. Free support for 4.1 runs to July 31, 2027, and Spring Boot 4.1.2 is compatible up to Java 27. For a team that knows Spring well, moving frameworks usually costs more than the startup time it saves.
Frequently asked questions
What is the best alternative to Spring Boot?
For most Java teams it is Quarkus, since common Spring annotations keep working and the JDK floor stays at 17. Micronaut is the stronger pick if cold start is the real complaint and you can move to Java 25. Teams leaving Java should look at ASP.NET Core first.
What are the alternatives to Java Spring besides Spring Boot?
Jakarta EE and MicroProfile are standards, not single frameworks, and several runtimes implement them. Helidon 4.5.x supports MicroProfile today, while Helidon 27 has split it into a separate project that has not shipped yet.
Is Spring Boot still free?
Yes. The code is Apache 2.0. Broadcom sells Tanzu Spring on top, with 24x7 support for over 50 Spring projects, day-zero patches and private releases for versions past their free support date. Tanzu Spring is sold by quote through the enterprise page.
Is Quarkus faster than Spring Boot?
Quarkus claims faster boot and lower RSS memory on both the JVM and native builds, and its homepage shows a chart against Spring. It publishes no figure you can apply to your own app. Port one real endpoint and measure startup time and memory under your own load.