The Spring 2021 report delved into the reasons behind Spring's widespread adoption as the favored Java framework, including its robust community support, a wide array of Spring projects, and a nimble uptake of innovative technologies. In the 2022 report, crucial trends are scrutinized, and recommendations are made for enhancing Spring's performance. The report emphasizes the burgeoning popularity of modern architecture, with a growing number of participants opting for contemporary architectural styles.
According to a report commissioned by VMware and conducted by Dimensional Research, Spring is highly appreciated for its stability, scalability, and security by 75% of respondents. The study, now in its third year, aims to gain insights into the experiences and attitudes of those who adopt and use Spring.
The survey targeted active Spring developers, architects, and development managers across organizations of varying sizes. In 2022, it reached 1,421 qualified individuals from different regions and job levels, with a significant majority having at least three years of experience with Spring. The study includes stakeholders from diverse industries, such as technology, financial services, insurance, retail, services, government, and healthcare.
Shift toward Modern Architectures and APIs
The trend towards modern architectures and APIs is ongoing, with OpenAPI and GraphQL seeing increased adoption. To meet development demands, organizations are turning to Spring Projects, with nearly half of the stakeholders planning to use more Spring modules in the future. By streamlining development processes and enabling faster application delivery, Spring is playing a critical role in driving modernization.
In the 2022 survey, modular monoliths were identified as a popular architectural style that efficiently accommodates changes in business requirements. The Spring Modulith project is a valuable resource for developers building well-structured applications. Although 42% of respondents claimed to use modular monoliths, it's possible that some are still using traditional monoliths. The survey also found that those utilizing modern architectures were less likely to use modular monoliths. This trend will be closely followed in the next survey.
Here are some key stats from the survey:
In 2022, most people use Spring to expose APIs.
86% of respondents use Spring for internal consumers.
73% of respondents use Spring for external consumers.
Plain JSON over HTTP was the most common type of API in 2021, but its usage dropped from 84% to 81% in 2022.
OpenAPI and GraphQL gained popularity in 2022.
OpenAPI gained 6 points in adoption compared to last year and stands at 61% adoption
GraphQL adoption grew by 4 points and almost a quarter (24%) of respondents use GraphQL technology
Spring for GraphQL makes it easy to incorporate GraphQL into Spring applications.
The Spring team is dedicated to enabling developers to effectively deliver up-to-date applications and utilize APIs, modern architectures, and emerging technologies. There is a notable surge in stakeholders planning to expand their utilization of Spring modules, with Spring Security, Spring Data, and Spring WebMVC being the top three priority projects for 2022.
With today's growing cyber threats across all industries, it's no wonder that Spring Security is the top choice. 75% of stakeholders value Spring's stability, scalability, and security. Spring Kafka, Spring Batch, and Spring WebFlux have all experienced significant growth in popularity since last year. Spring WebFlux, which offers Reactive programming support for web apps and serves as an alternative to Spring WebMVC, has seen a 6-point increase.
GraalVM and Native Compilation: The future of Java
GraalVM and native compilation made waves in the Java community in 2021. As we move into 2022, GraalVM is the second most sought-after technology, with 30% of respondents intending to use it (compared to last year's 34%) - only 10% are unaware of its existence. A staggering 89% of respondents have a favorable impression of GraalVM (down slightly from 94% last year).
In 2022, GraalVM effectively tackled concerns surrounding startup time and memory usage, resulting in significant improvements. The increased exposure of stakeholders led to a 7-point decrease in startup time concerns and a 12-point decrease in memory usage concerns. With the support of Spring Native and Spring Boot 3, GraalVM enables the compilation of Spring applications into native executables, leading to near-instant startup time and a reduced application footprint.
According to the survey, a significant 72% of participants are familiar with Spring Native, and an impressive 98% express interest in native compilation. The top benefits that users find appealing include:
Faster startup times
Reduced memory usage
Compatibility with containers and Kubernetes
Lower hosting costs
Particularly beneficial for larger enterprises.
A significant finding reveals that 43% of respondents acquainted with GraalVM have experimented with Spring Native. Additionally, an impressive 79% of individuals acknowledge Spring's backing for native compilation as a benefit with an intent to launch a minimum of one Spring Boot application as an executable in the next 24 months. This data highlights the growing popularity of GraalVM and Spring Native for application development.
This year's top hot technology is Project Loom, aimed at reducing the effort required to write, maintain, and observe high-throughput concurrent applications. According to a survey, 30% of respondents plan to use it, while 27% are unaware of it. Among those familiar with Project Loom, 90% hold a positive view of the technology.
Spring Framework 6 embraces Project Loom preview, available in JDK 19, enabling exploration of virtual threads via custom Executor configuration. It prioritizes staying up-to-date with new technologies and supporting Reactive programming models alongside traditional threading. Additionally, Spring developers can leverage Project Loom functionality as it becomes available within the JVM.
Managing Spring upgrades
IT upgrades, including those in the Java community, have become increasingly challenging due to the accelerated rate of new JDK releases. However, the Spring Community is effectively managing these updates and staying up-to-date with the latest Spring Boot versions. Although some stakeholders may be hesitant to upgrade due to the success of their current environment, most users are keeping pace with the latest releases and surpassing their performance in 2021.
Some of the key findings regarding upgrades are as follows:
Over 70% of users plan to upgrade to the next major generation of Spring within the next 12 months.
88% of users plan to upgrade within the next 2 years.
The top reason for running an unsupported version of Spring Boot is the satisfactory performance of the current environment, according to 51% of respondents.
The inability to prioritize is another factor, with 46% of respondents citing this as a reason.
Only 28% of respondents found upgrading Spring to be technically challenging.
While the Spring team believes that being proactive on upgrades is the best option for most customers, Spring provides flexible upgrade options to accommodate a wide range of customer needs. Customers who keep pace with the Spring ecosystem are covered by open-source support with up to three years of support for major releases and a minimum of 12 months of support for minor releases. Those who need longer support for a particular release can contract for commercial support through VMware Tanzu.
Top learning resources for Spring
In today's fast-paced technological landscape, education, and training hold greater significance. The Spring community, in particular, seeks knowledge from diverse sources. In 2021, Spring.io emerged as the most preferred source, followed by Stack Overflow and Baeldung, indicating a surge in efforts to acquire valuable insights. Overall, the top five sources witnessed an increase in user engagement, highlighting the growing importance of staying abreast with the latest trends and updates.
Improvements have been made regarding slow startup time and poor memory usage, but the learning curve has become steeper with a notable increase. 26% of the respondents look at learning as a challenge. Below are some of the preferred ways to learn about the technologies:
Documentation is the preferred way to master new Spring features or capabilities for 82% of respondents.
61% of respondents favor concise guides or tutorials.
Books or articles are the preferred methods for 60% of respondents.
Video-based courses are favored by 44% of respondents.
If you're looking to learn a new feature or capability in Spring, Baeldung, and Stack Overflow are two excellent online sources to turn to. The SpringDeveloper Channel on YouTube is another great option. For developers, finding sources that can assist them in advancing their projects quickly is crucial. However, challenges often arise with hard-to-understand components and a lack of information on how to effectively use different modules together.
In the upcoming year, the Spring team is determined to assist users in overcoming their obstacles more effectively. According to the State of Spring 2022 report, more than half of Spring stakeholders (55%) are currently implementing modern architectures, with a significant emphasis on microservices (93%), Reactive (35%), and Serverless (24%).
The State of Spring 2022 report concludes that modern architectures and APIs are gaining popularity, particularly microservices, Reactive, and Serverless.
Developers remain drawn to Spring for its stability, scalability, and security, making it a top choice. To keep up with the rapidly evolving technology landscape, it's crucial to stay current on the latest upgrades and educational materials, as the report emphasizes.
The Spring team is committed to empowering developers in delivering cutting-edge applications and leveraging APIs, contemporary architectures, and emerging technologies. With the introduction of Spring Academy, learning is simplified and accelerated for both beginners and experienced developers.