🧵Everything you might have missed in #Java in 2022

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
1. The unclear licensing model has been the most significant barrier to GraalVM adoption for years. However, at @JavaOne 2022, it was announced that @Oracle will make the GraalVM CE a part of the OpenJDK. Project Galahad has been set up to carry out the process - ❤️ that name.
2. @Google announced that it was joining the @adoptium working group as a Strategic Member. Google didn't just limit itself to throwing piles of 💰 at JDK, but together with @AlibabaGroup began working on Java Class Pre-Initialization to accelerate the cold start of applications.
3. @JavaAtMicrosoft, however, decided to go even wider. The company became part of the standardization body for both @JakartaEE and @MicroProfile. @Azure is the first cloud to provide native application server support. @OracleWebLogic and @jbossorg EAP are available right now.
4. To sum up the Cloud Providers topic, @Payara_Fish announced Payara Cloud. The way it works is that you take your Jakarta-compliant *.war, upload it to the cloud, and... you're done. Their "forget about my cloud-native application" approach seems all too tempting.
5. @Android 13 brought support for #OpenJDK 11, e.g. the ability to use var, VarHandle with java.util.concurrent, or many other additional APIs. It's apparent that the results of the 2021 Google/Oracle 👨‍⚖️ have untied the Android's developers' hands.
6. #ProjectLoom hasn't really been off the tongues in 2022, but the most exciting was the announcement of #Helidon Níma by @helidon_project. It turns out that we are getting ready for the first framework in which Loom will not be a tacked-on add-on, but a "First-Class Citizen."
7. Starting with version 2.7, #Akka changed its licensing model from Apache 2.0 to BSL v1.1. That marks the closure of Akka's development phase based on the so-called "Open Core." The new versions will continue to be released under Apache 2.0, but with a delay - three years one.
8. Shall we remember 2022 as the year when the Java "cold start" problem was finally solved, at least on #AWS? @awscloud showed AWS Lambda #SnapStart. It saves the Lambda's memory state at the initialization and puts it "aside" for later use when our function is not hot anymore.
9. @JakartaEE 10 was released. The single biggest changes in the new release are CDI Lite and a new Profile - Core, in addition to Full and Web ones. It standardized a set of APIs used in the Microservice context and was already adopted by @MicroProfileIO in its 6.0 version.
10. In an era of a regular "release train," @WildFlyAS took a step back and decide to base releases on defined sets of functionality. This is a return to the roots when new releases of application servers were much less frequent and associated with big bumps in the standards.
11. #MachineLearning has made its way into the Java standard through the JSR-381 Visual Recognition (VisRec) Specification. Contrary to the misleading name, this is a high-level API standard for basic machine learning (ML) as well as image classification and object recognition.
12. @bellsoftware - the developers of the #LibericaJDK - decided to create a new reference Linux distribution designed directly to run Java in containers named Alpaquita Linux. The developers have taken minimalist @alpinelinux but modified it to better support Java needs.
13. @java 18 and @java 19 were released. They brought Simple Web Server, Code Snippets in Java Docs, support for RISC-V CPUs, but also preview versions of #ProjectLoom (VirtualThreads ❤️), #ProjectPanama, and many of the #ProjectAmber APIs like pattern matching.
14. @kotlin 1.7 released the alpha version of the K2 compiler. The alpha version supports only the JVM for now and is still quite limited, but the first test release is a very important step for the whole project.
15. #Groovy 4.0 has been released and had mostly java-compatibility features. The most of more interesting parts like GINQ - Groovy-Integrated Query or Groovy Contracts are still in incubation. However, in 2022, most people probably use Groovy as a runner for @spockframework.
16. #Clojure 1.11, the first new version since 2018, provides a new syntax - functions that accept keyword arguments can now receive a map instead of key/value pairs. It also brings a new namespace clojure.math, wrapping the methods available in java.lang.Math
17. The end of 2022 saw the release of @springframework 6.0 and @SpringBoot 3.0, requiring JDK 17. It got rid of the javax.* package in favor of jakarta.* and focuses particularly on Ahead-of-Time compilation support, to modernize the project on par with the recent competition.
18. @Hibernate 6.0 is an edition that is the first Hibernate "major" since 2011. It is all about new annotations, which abandoned their XML roots and received a lot of changes e.g. better type safety. A very big change is also the migration of Hibernate to Jakarta EE 9.1+.
19. #AWS SDK for #Kotlin with Coroutine support was released It's nice of AWS to opt for a special Kotlin edition - while the compatibility of this language with Java is sufficient, it's good that after 2022 we won't have to resort to it too often.
20. @vaadin 23 drops support for Java older than 11, and introduces changes to Vaadin's design system. It also brought two new sub-frameworks: Flow, which is used to generate JavaScript code 100% from within Java and Hille, which combines the @SpringBoot backend with @typescript
If you are still here - thank you for your perseverance 🎉. And I hope 2023 will be as interesting as 2022 🤩

If you want more details, you will find them here: vived.substack.com/p/everything-y…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Artur Skowronski

Artur Skowronski Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(