Spring dominates the Java ecosystem with 60% using it for their main applications
2020年2月5日
0 分で読めますWelcome to our annual JVM ecosystem report! This report presents the results of the largest annual survey on the JVM ecosystem, showing results from the survey gathering over 2000 responses in the second half of 2019. We would like to thank everyone who participated and offered their insights on Java and JVM-related topics.
This report is split into six posts:
36% of developers switched from Oracle JDK to an alternate OpenJDK distribution, over the last year
64% of developers report that Java 8 remains the most often used release
Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM
Spring dominates the Java ecosystem with 60% using it for their main applications
IntelliJ IDEA dominates the IDE market with 62% adoption among JVM developers
We also have a lovely handcrafted pdf report which contains all of this information in one downloadable place.
Do you use the Spring Framework?
Exactly 6 out of 10 people depend on the Spring Framework for the production of their application. That is a remarkably high market share for a third-party open source framework.
What Spring version do you use for your main application?
Spring has been around for a long time. By introducing significant changes and innovations, Spring has evolved into the most dominant framework in the Java ecosystem. With two thirds of Spring users working with Spring 5, there's a strong adoption rate of newer versions.
Which server-side web frameworks do you use?
The server-side is still a Spring-dominated world, with half of the market using Spring Boot and almost a third using Spring MVC.
Frameworks like Micronaut and Quarkus probably have what it takes to compete againstSpring. Nonetheless, let's wait until next year's report before we draw any conclusions. JHipster does not look as popular as one would expect from all the conference talks. It's also interesting to see that JSF is still alive.
Do you use Enterprise Java? (J2EE, Java EE, Jakarta EE)
The question of whether Java developers use theEnterprise Edition (EE) of Java is something we ask every year. Only this year, we slightly changed the question. We added the option “Yes, via Spring or another framework (e.g. JPA or Servlets) to ensure that people who use EE indirectly do not choose the“No” option.
With 35% of developers reporting that they don't useJava EE, the landscape hasn't changed much since last year (38%). It is important to point out, however, that 4 out of 10 developers are using Enterprise Java indirectly. This does raise some concerns over JavaEE's popularity.
What Java EE version do you use for your main application?
Almost 4 out of 10 people use the latest version ofJava EE while Java EE 7 still remains quite popular.What's more, 2% of developers reported that they still use J2EE and, even though this seems like a very small percentage, it is a significant number as it is almost equal to the number of people that use Scala as their main application language!
It's also important to mention that 21% of the respondents do not know the exact version of JavaEE they're using. By cross-referencing the answers to this question with the previous question, we found out that 95% of developers who are not aware of their exact Java EE version, use Java EE indirectly, namely through the Spring Framework.
What was your reaction to Oracle and the Eclipse foundation not agreeing on continued usage of the javax namespace?
After many months of negotiations, Oracle and the Eclipse foundation weren't able to come to an agreement over the usage of the javax package namespace by the Eclipse Foundation Community. The javax namespace falls under trademark by Oracle which means that, moving forward, all improvements made to Jakarta EE by the Eclipse Foundation, have to use a different package name. As a result, changes to Jakarta EE are also accompanied with migration of library code.
Although the change in package name clearly marks the ownership of that package — Oracle up to Java EE 8 and the Eclipse Foundation fromJakarta EE 8 onwards — it affects every API in theEnterprise Edition as they all begin with javax.
When asked about this development, the vast majority of participants feel annoyed by Oracle's position on the matter with 2 out of 3 JVM developers stating their disappointment of the negotiated outcomes. In fact, the responses to this question raise some concerns for Oracle.What if this outcome ultimately harms Oracle's stewardship of Java?
Would you consider switching to another framework/technology in order to avoid migrating to a newer Jakarta EE version, due to the javax namespace changes?
Despite the majority of the respondents being rather disappointed with the javax namespace changes, only 1 out of 10 developers would switch to another framework. According to our survey,66% of developers are probably or definitely staying with Jakarta EE despite the namespace changes. It is possible that developers believe that these changes will not affect them, since the majority of them use the EE version indirectly, via frameworks like Spring.This points to the namespace change being more of a disappointing annoyance rather than anything developers really take action over.
What other languages does your application use?
Not many people use a single language for their application anymore. It's safe to say that the vast majority of developers nowadays need to be polyglot, full stack or multi-lingual. As languages in many cases serve a specific goal it is obvious that developers use other languages alongside their main JVM language. This doesn't mean you have to like the language. Some languages are considered a necessary evil fit-for-purpose.
It is important to mention that multiple answers were allowed when answering this question. The results, however, are not that surprising. JavaScript is the most popular language for front end development with 62%, SQL with 44% is the most popular for querying databases, while the most popular choice for data science and machine learning applications is Python with 22%.
Which client-side web frameworks do you use?
Participants were able to select multiple options for this question — why choose one framework when you can use them all, right?
Looking at the responses, Angular looks like the clear winner with 38%. However, with so manyAngular versions available, we are not certain whether newer or older versions of Angular are the winners here. React is the runner-up with 31%,closely followed by jQuery with 28%.
It's also interesting to point out that, according to our survey, 2 out of 10 developers don't use any frameworks. Let's see if this list changes significantly over time.
There’s more to this report! Which section do you want to read next?
36% of developers switched from Oracle JDK to an alternate OpenJDK distribution, over the last year
64% of developers report that Java 8 remains the most often used release
Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM
Spring dominates the Java ecosystem with 60% using it for their main applications
IntelliJ IDEA dominates the IDE market with 62% adoption among JVM developers