Quarkus 1.0.0: First Major Release for the Kubernetes-native Java Stack
© Shutterstock / Jurik Peter
The Java Framework Quarkus is making Java ready for the Cloud-native Age with Kubernetes and Serverless. With Quarkus 1.0.0, the first major version has been released. Although it does not contain any major changes, it represents an important milestone for the open source project.
Quarkus, the Java Framework developed by the software company Red Hat, has experienced a very large number of updates since its first release in March this year. On its way to Quarkus 1.0.0, the open source project team, led by Red Hat, released 30 updates in just 36 weeks, which is equivalent to one release every nine days.
Therefore, new functions were added and annoying bugs were eliminated on a weekly basis. The credo was and still is that the team does not work towards certain version numbers, so also not towards a big “Update 1.0”. Alex Soto, software engineer at Red Hat, told us about this in an interview:
A lot of companies are running Quarkus in production. In the end, the version number is just a number, we take care of all releases in a way that they are production ready.
Many companies do use Quarkus in production already, even though there is no major version yet. But this is no problem, because version numbers are nothing more than numbers at the end of the day. We treat every release in such a way that it is ready for production at the end.
Quarkus 1.0.0 – Background
The open source software stack Quarkus is in a way the answer to the question of how to develop future-proof Java applications based on the container-first principle. Kubernetes native Java development with the classical JVM can lead to problems, therefore the somewhat more performant and for these purposes better suitable GraalVM is being used mainly, but the JVM can be used also. Additionally, Quarkus offers (not only since version 1.0.0) known programming models and APIs:
Whether you want to call it a framework, stack or platform, Quarkus was developed with a “reactive mindset”, but imperative programming models are explicitly supported. A single network engine based on Vert.x is used for this. The security layer in the reactive context is also based on Vert.x.
Hibernate, JAX-RS, Apache Camel, Eclipse MicroProfile and Spring are also supported. The compatibility to Spring APIs (Spring Web, Spring Data JPA and Spring DI are also on board) is more recent. But that’s not all: The Quarkus ecosystem is growing steadily, especially through the efforts of the community, which now includes 177 contributors. Every developer can and may define extensions, which are then made available on the catalog page and the Maven or Gradle tools. To date, there are over 80 extensions available for the Java Framework.
Traditional Java developers have also been swearing for decades about the (non-existent) possibility of doing without constant compiling. Quarkus wants to break this vicious circle of compiling, deploying and refreshing the browser with its live coding function: Even with Java code it is now possible to simply write the code and refresh the browser to see the updated results.
What’s new in Quarkus 1.0.0?
These are all features of Quarkus that have been implemented and advanced over time. Definitely new in version 1.0.0.CR1 are, among others, the update to GraalVM SDK 19.2.1, the move from port checking to the right place and fixing the
NoSuchFileException in logs as well as the improper caching in development mode after removing an HTML file.
Although Quarkus 1.0.0 is a rather small update, the importance of this project cannot be made clear enough. Even though backwards compatibility is a topic that needs to be dealt with in the current version, the development team promises to drive the innovation forward as usual and at a similar (rapid) pace. The Red Hat blog mentions, among other things, improved observability and support for particularly long running transactions.
Quarkus Cheat Sheet
Quarkus Cheat Sheet
If you’re interested in what Alex Soto has to say, then check out our Quarkus cheat sheet, by Alex Soto! It covers everything you need to know, from startup and basics through to advanced use cases. Including code examples and cats – what more could you want?!