It's the end of December, which means it's time to summarize the significant news and updates in Java development. After all, it has undergone many changes during this year. In this text, we have collected the key facts.
The use of Java for websites and IT infrastructure grew marginally between 2020 and 2021, while Java has declined in use for business intelligence, data science, and machine learning.
Spring Boot is the leading Java framework (65% of programmers choose it). The Spring MVC framework is in second place — 42% of developers.
That’s the wrap-up of the year 2021 for the world of Java development. What do you think was the highlight for the Java community this year?
Java updates: the release of versions 16 and 17Every six months, Java gets updated. Expectedly, in 2021 there were two releases: Java 16 and Java 17. The Java 16 release included 17 enhancements. Among the new features we should mention a new packaging tool for delivering standalone Java applications, improved memory management, additional incubation and preview features, enhancements of code compatibility (with future versions), and new JDK ports for Alpine Linux and other Linux distributive kits. In Java 16, the developers completed pattern matching for instanceof and Record, and language enhancements, which were first introduced in Java 14. Java 17, which was released in September, 2021, included 14 changes. Most of them were related to improving the performance of the language and the platform in general. The creators also removed many outdated components and technologies that became irrelevant due to the lack of support from the third-party software developers. The key changes include the improved support for sealed classes and interfaces that block the ability to inherit properties from these components by objects and other classes (JEP 409). It is worth mentioning the improved blocking of access to the internal APIs of the JDK platform, as well as performance improvements due to implementation of Vector API technology, the removal of experimental AOT and JIT compilers, and the use of the Metal framework for rendering on Apple devices. The commercial JDK 17 builds from Oracle for Windows and other platforms are available on the developer's website. A free open source version of OpenJDK 17 with quarterly updates is available for download here. JDK 17 has 8 years long term support (LTS). The next LTS Java release is expected in 2023 with Java 21. Since that time the LTS release frequency will change from three to two years.
Significant Changes to the Java Ecosystem: Rebirth of Java EE and Microsoft SupportWhat else was happening to Java in 2021? For example, in early April 2021, an “eternal” dispute between Oracle and Google finally ended. The US Supreme Court sided with Google in a dispute with Oracle over the illegal use of the Java API. A series of lawsuits dragged on for 11 years, and various instances recognized the victory either for Google or Oracle. Over the years, the amount of money that Google could have paid if it lost has grown from an initial $ 6.1 billion to $ 9.3 billion. It is also worth remembering the role of Microsoft in some changes that occurred in 2021. In April, the company published the builds of its own OpenJDK distribution kits for Windows, Linux, and macOS, which supports many systems in the corporate infrastructure. Anyone can download and install a set of development and execution tools for applications in the popular Java programming language for free. In September, close to the time when Java 17 had been released, a study came out noting that Java EE is experiencing a renaissance. According to the report, Jakarta EE was the second most popular cloud platform used by 47% of developers that participated in the survey. “The results of Jakarta EE Developer Survey showcase significantly increased growth in the use of Jakarta EE and interest in cloud-native Java overall,” said Melissa Modjeski, vice president of Application Platform and Integrations at IBM.
What was going on with Java language versionsAs well as in 2020, Java 8 is still the leading version of this programming language. Interestingly, since 2019, Java 11 has shown a steady increase of about 10 percentage points annually. This is how it looks in numbers: 72% of developers who use Java prefer Java 8, and 42% prefer Java 11, according to a study by JetBrains. The report created by Snyk community also shows that developers started migrating from Java 8 to Java 11, the latest LTS release prior to Java 17. Previous reports from the Java community showed that developers mostly used Java 8. According to the survey, 61.5% of respondents were using Java 11 in their projects, while 12% were using the latest version of Java (Java 15 at the time). The shares of Java 12 and Java 13 have dropped by about three times since 2020, while the newer Java 14 and Java 15 have already gained an audience despite being relatively new.
What was Java used for (and where)Same as in 2020, Java is most commonly used in South Korea, China, and Germany. The share of Java in IT of South Korea is 55%, in China — 47%, and in Germany — 33%. Most often, Java was chosen for development of websites (39%), less often — to create utilities (26%) and system software (19%).
The State of Developer Ecosystem 2021 by JetBrains