Java Tech Popularity Index Q3/2023 (How to Build Java Applications Today #75)
Tags: java, springboot, angular, flutter
Published: 2023-09-19 06:30:24

## TL;DR
Developer ads down by ~25% in 2023. Spring Boot back to 500% of Jakarta EE job ads, while Quarkus & Micronaut rose again. Monthly number of Stack Overflow questions down 42% since ChatGPT appeared.

***

## README

Welcome to the Q3/2023 issue of my newsletter “Java Tech Popularity Index”! If you like it, then [subscribe to it for free on Substack](https://bpfnl.substack.com)! Or read it on [dev.to](https://dev.to/ksilz/series/11995) or [Medium](https://ksilz.medium.com). Even better: Share it with people who are interested!

***

## What's This?

Picking a **popular technology** makes our developer life easier. My free, quarterly newsletter **measures** Java technology popularity by **following the money**: **job ads** in 59 countries and online **course purchases** by 60+ million developers. I also analyze developer **interest** with Google searches and developer **engagement** with questions at Stack Overflow.

The Java technologies are: IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks. I also **recommend** options in each of these seven areas. My recommendations are based on that popularity, industry analysis, and my 24 years of Java experience.

**Why popularity?** Because popular technologies are easier to learn, build, debug & deploy, easier to find jobs/hire, and easier to convince teammates & bosses. Popularity can make a difference in two situations: When multiple technologies score similarly, we could go for the **most** popular one. And when a technology is very unpopular, we may **not** use it.

***

## Update for Q3/2023

### Data Updates

- The number of developer ads is generally down in 2023 by about 25%.
- JavaScript, Java, C#, TypeScript, and Rust gained against Python in job ads since September 2022.
- Spring Boot is back to 500% of Jakarta EE job ads, but still down 15% from the 588% of June 2022.
- After a four-month decline in job ads, Quarkus and Micronaut rose again by about 15% in June.
- The monthly number of Stack Overflow questions is down 42% since ChatGPT appeared (November 2022 vs. August 2023). Here are example losses: Angular 34%, React Native 40%, Flutter & React 42%, JavaScript 45%, Python 49%, and Vue 50%.
- Maven snatched the #1 position in Stack Overflow questions back from Gradle by a hair (340 questions vs. 337).

### Feature Updates

- The charts for Google searches and questions at Stack Overflow show how much each technology is **off its peak value**. That shows as a dimmed number in parenthesis behind the current value.
- I show Google search trends. Until now, those were browser screenshots (like [this one](https://res.cloudinary.com/dcq9actqm/image/upload/w_auto,c_scale,f_auto,q_auto/c_limit,w_1000/v1560909049/bpf-site/guide/java-tech-popularity-index-2023-Q2/lang/Google_Trends_Competition_Last_3_years_lepuvf.png)). Now, they are proper charts using the CSV files from Google Trends (like [this one](https://res.cloudinary.com/dcq9actqm/image/upload/w_auto,c_scale,f_auto,q_auto/c_limit,w_1000/v1560909049/bpf-site/guide/java-tech-popularity-index-2023-q3/lang/Google_Trends_Competition_Last_3_Years_bzcjf5.png)). They are easier for me to do next time – and look nicer!

### Side Quests

I published three InfoQ news items. All three have interviews with the driving forces behind these projects or the lead developer advocate.

- [Spring Boot and Azul JDK Support Java Startup Time Reducer CRaC](https://www.infoq.com/news/2023/06/crac-cracks-mainstream-adoption)
- [GraalVM Gets Large Performance Boost, New Release Cadence and New License](https://www.infoq.com/news/2023/07/graalvm-java-17-20) (my bosses' boss at InfoQ said this is so long, it should have been an article)
- [Spring Modulith 1.0 Gains Production-Readiness, IDE Support and Improved Testability](https://www.infoq.com/news/2023/08/spring-modulith-1-0)

I also gave a lightning talk at the Aspiring Speakers (of London): "[Why Is Java in the Cloud So Expensive – And How Can I Make It Cheaper?](https://betterprojectsfaster.com/learn/talks-ljc-lightning-talk-2023-why-is-java-so-expensive)". I spent quite some time on this, as it's a modified 10-minute English version of a [45-minute German talk I gave in May](https://betterprojectsfaster.com/learn/talks-jax-2023-native-java-worthwhile/). And I'll boost it into a 45-minute version for JAX London, where [I'll present on October 4, 2023](https://betterprojectsfaster.com/learn/talks-jax-london-2023-native-java-worthwhile).

### Late Again 😔

I'm late again. This time by **seven weeks**! Why?

First, I traveled a lot in June and July and had an unplanned family visit. I wrote some news items for InfoQ again. Then I had a vacation. I also added new features – see next section.

That's why I'll say that the next issue will arrive in November – and I hope for the best!

***

## IDEs

Here is the scorecard of **VS Code** (left) and **Eclipse** (right) vs. **IntelliJ (100%)**, not on the card. The arrows show the **trend vs. IntelliJ**.

![VS Code (left) And Eclipse (right) vs. IntelliJ (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9wjuhi08yvoqotmxzxi.png)

VS Code pulls away from IntelliJ in all categories but Udemy courses, where IntelliJ catches up ever so slightly. Eclipse pulls away somewhat from IntelliJ in jobs but loses ground in all other categories.

Here are my **recommendations**:

- If you **don't want** to spend money, then use **Eclipse**.
- If you **may** spend money, evaluate **IntelliJ**.
- Evaluate **VS Code** for non-Java work, like web development (I use it for all my websites).
- If you're using **NetBeans**, consider moving off of it.

**[READ IDE DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/ide/)**

***

## Build Tools

Here is the scorecard of **Maven** (left) and **Ant** (right) vs. **Gradle (100%)**, not on the card. The arrows show the **trend vs. Gradle**.

![Maven (left) And Ant (right) vs. Gradle (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4w8ry6n1968o55phcgkl.png)

Maven holds steady against Gradle except for Stack Overflow. Ant has disappeared from searches and Stack Overflow and trends downwards in jobs.

Here are my **recommendations**:

- If you use Scala, then use **sbt**.
- Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use **Gradle**.
- Otherwise, use **Maven**.

**[READ BUILD TOOL DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/build)**

***

## JVM Languages

This is **Java** (left) and **Scala** (right) vs. **Kotlin (100%)**, not on the card. The arrows show the **trend vs. Kotlin**.

![Java (left) And Scala (right) vs. Kotlin (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kl8qabldjeh1cdi600cf.png)

Please take the **Kotlin numbers with a huge grain of salt**: Most Kotlin development is on Android, not in JVM projects. Kotlin gains on Java in all categories except for jobs. Scala declines against Kotlin in all categories (see the [job ad section](../lang/#employers-job-ads) for why job numbers for Scala are missing).

Now, let's look at JVM competitors. Here is **Python** (left) and **Java** (right) vs. **JavaScript (100%)**, not on the card. The arrows show the **trend vs. JavaScript**.

![Python (left) And Java (right) vs. JavaScript (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkae6h2n4n7qmtsbciuz.png)

Python slightly declines in jobs against JavaScript but holds steady or increases a bit in all other categories. Java gains barely in jobs against JavaScript and declines slightly everywhere else.

Here are my **recommendations**:

- If you need to switch languages or are on a new project:
  - Use **Scala** if you need functional programming.
  - Use **Kotlin** if you really need a "more modern Java".
  - Otherwise, use the **latest Java LTS version** you, your team, and your application can take.

**[READ JVM LANGUAGE DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/lang)**

***

## Databases

Here is the scorecard of **MySql** (left) and **MongoDB** (right) vs. **Postgres (100%)**, not on the card. The arrows show the **trend vs. Postgres**.

![MySql (left) And MongoDB (right) vs. Postgres (100%)
](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hr1x3stnbzzrbpwzp78x.png)

MySQL gains jobs on Postgres but loses slightly (courses, searches) or heavily (Stack Overflow questions). MongoDB gains in jobs on Postgres, holds steady in searches, but loses slightly in courses and questions.

These are my **recommendations**:

- On your current project, **keep your existing database** unless that database is absolutely, irrevocably, really not working out for you.
- If you need to switch databases or are on a new project:
  - If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use **MongoDB**.
  - Otherwise, use **MySQL**.

**[READ DATABASE DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/db)**

***

## Back-End Frameworks

Here is the scorecard of **Spring Boot** (left) and **Quarkus** (right) vs. **Jakarta EE (100%)**, not on the card. The arrows show the **trend vs. Jakarta EE**.

![Spring Boot (Left) And Quarkus (Right) vs. Jakarta EE (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9yi6as53itf1z01s36kq.png)

Spring Boot pulls away from Jakarta EE everywhere except for jobs, where it dropped from 588% in June 2022. Quarkus gains on Jakarta EE everywhere.

Here are my **recommendations**:

- On your current project, **keep your existing back-end framework** unless that framework is absolutely, really not working out for you.
- If you need to switch back-end frameworks or are on a new project:
  - Use **Quarkus** if you need the smallest possible, fastest-starting Java application **now**.
  - Otherwise, use **Spring Boot**.

**[READ BACK-END FRAMEWORK DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/be)**

***

## Web Frameworks

Here is the scorecard of **React** (left) and **Vue** (right) vs. **Angular (100%)**, not on the card. The arrows show the **trend vs. Angular**.

![React (left) And Vue (right) vs. Angular (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hpomqoe1u05gnt9u38wj.png)

React pulls away from Angular except for jobs where Angular holds steady. Vue holds steady or gains slightly against Angular.

Here are my **recommendations**:

- If you already use **React**, **Angular**, or **Vue** in your project, keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.
- If you start a new project or migrate, start with **React** first, **Angular** otherwise, and finally, **Vue**.

**[READ WEB FRAMEWORK DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/fe-web/)**

***

## Mobile App Frameworks

Here is the scorecard of **React Native** (left) and **Xamarin** (right) vs. **Flutter (100%)**, not on the card. The arrows show the **trend vs. Flutter**.

![React Native (Left) And Xamarin (Right) vs. Flutter (100%)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iftlqppgwizrde1fwrbu.png)

React Native and Xamarin lose to Flutter in all categories except installed apps.

Here are my **recommendations**:

- **Don't** build two separate applications with Apple's and Google's **first-party** frameworks. Use a **cross-platform** framework instead.
- If you already use **Flutter** or **React Native** in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.
- If you start a new project or migrate and have used React before, then start with **React Native** first and use **Flutter** otherwise.
- If you start a new project or migrate and have **not** used React, then begin with **Flutter** first and use **React Native** otherwise.

**[READ MOBILE APP FRAMEWORK DETAILS](https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/fe-mobile)**

***

## Next Issue

The next issue will arrive in November 2023.

[Subscribe to this Index on Substack for free](https://bpfnl.substack.com) to receive the next issue automatically!

***

## About

Karsten Silz is the author of this newsletter. He is a full-stack Java developer (Spring Boot, Angular, Flutter) with 24 years of Java experience. Karsten has worked in Europe and the US and is also an author and speaker. He got a Master’s degree in Computer Science at the Dresden University of Technology (Germany) in 1996.

Karsten co-founded a software start-up in the US in 2004. He led product development for 13 years and left after the company was sold successfully. Karsten then co-founded the UK SaaS start-up "[Your Home in Good Hands](https://yourhomeingoodhands.co.uk/)" as CTO in 2020. Since 2003, he has also worked as a contractor.

Karsten has [this newsletter](https://bpfnl.substack.com/), a [developer website](https://betterprojectsfaster.com/), and a [contractor site](https://ksilz.com/). He's on [LinkedIn](https://www.linkedin.com/in/ksilz/), [Twitter](https://twitter.com/karsilz), [Xing](https://www.xing.com/profile/Karsten_Silz/), and [GitHub](https://github.com/ksilz). Karsten is also a [Java editor at InfoQ](https://www.infoq.com/profile/Karsten-Silz).