Author: Karsten Silz
Jan 31, 2023   |  updated Apr 13, 2023 6 min read

Permalink: https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/main/

Java Full-Stack Report February 2023


This is an old version! Click below for the current one.

See Current Version


What’s This?

In my monthly “Java Full-Stack Report”, I recommend IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks. I also cover essential releases and news.


THIS MONTH: Java had patch releases, we can now write command-line interfaces with Java, and this book will save IntelliJ users tons of time.


This report is different because it measures popularity by observing what all Java developers do: job ads from 59 countries, online training students, Stack Overflow questions, and Google searches. My recommendations are based on that popularity, industry analysis, and my 24 years of Java experience.

Why popularity? Because picking a popular technology makes our developer life easier: easier to learn, easier to build, debug & deploy, easier to find jobs/hire, and easier to convince teammates & bosses. Now 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.


Like this report? Then subscribe to my free newsletter to have the report in your inbox every first Wednesday of the month!


Table Of Contents


Archive

2023 Jan
2022 Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan
2021 Dec Nov

Stand-Up

Looking back and looking forward: New technology in my Java contract gig, I’ll talk about native Java at LJC Java Live in February, and my QCon Plus London 2022 Flutter talk is public.

Technology Index

IDEs

  • Popularity trend: Eclipse is the most popular Java IDE and leads IntelliJ in job ads 2.5:1, though it has declined over many years in other categories. IntelliJ holds up well for a commercial product: It’s only slightly behind Eclipse in Google searches and slightly ahead in questions at Stack Overflow. NetBeans is the least popular IDE. VS Code isn’t a fully-fledged Java IDE, but apart from jobs, it’s 3-4 times as popular as Eclipse & IntelliJ.
  • 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.

Build Tools

  • Popularity trend: Maven is 2.5 times as popular as Gradle, except for Stack Overflow, where Gradle is slightly ahead. Ant and sbt have declined for years.
  • 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.

JVM Languages

  • Popularity trend: Java is #1, Kotlin #2, and Scala #3. Java probably wins in job ad mentions where Scala also leads Kotlin. But Kotlin leads Scala in all other categories. Groovy and Clojure have mostly declined for many years. Python and JavaScript beat Java everywhere, but the job ad mentions rankings are unknown.
  • On your current project, keep your existing language unless that language is absolutely, really not working out for you.
  • 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.

Databases

  • Popularity trend: MySQL is #1, Postgres #2, and MongoDB is #3. After some turbulence, MySQL and MongoDB are back to their October 2021 values: MySQL leads Postgres 1.4:1, MongoDB has 70% of Postgres’ numbers. Postgres and MongoDB are nearly at peak values at Stack Overflow.
  • 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.

Back-End Frameworks

  • Popularity trend: Spring Boot dominates and still grows in all categories except for Google searches. Despite a long decline, Jakarta EE leads Quarkus in all categories but questions at Stack Overflow. Quarkus is now #3 in job ad mentions, Micronaut is the new #4.
  • 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.

Web Frameworks

  • Popularity trend: React is #1, Angular #2, and Vue #3. React leads Angular by only 15% in job ad mentions but by 1.5-3.6 in the other categories. Vue has only 30% of Angular’s job ad mentions but about 40-60% in the other categories.
  • If you already use React, Angular, or Vue 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, then start with React first, Angular otherwise, and finally, Vue.

Mobile App Frameworks

  • Popularity trend: React Native dropped from a 2.9:1 lead over Flutter to a 1.9:1 since last April. Among developers, Flutter leads React Native 2:1 and pulls away (except for Google searches, where both slightly lost in 2022). Xamarin and JavaFX have generally declined for years.
  • Don’t build two separate applications with Apple’s and Google’s first-party frameworks. Use a cross-platform framework instead.
  • If you start a new project and have used React for building web applications, then use React Native.
  • If you start a new project and have .NET experience, then use .NET MAUI.
  • If you start a new project and need to use a library that’s only available in Java, then use JavaFX.
  • Otherwise, start with Flutter first and use React Native if that doesn’t work out for you.

Release Radar

Essential tool & technology releases for Java developers: Java had patch releases, while only Quarkus had a major release. Git, IntelliJ, VS Code, Spring Boot, Quarkus, Micronaut, and Helidon also had minor releases.

New & Noteworthy

Last month’s most important news for Java developers: We can now write command-line interfaces with Java, this book will save IntelliJ users tons of time, and better debugging with Kotlin 1.8. And yes, it’s still a slow news time!

Next Issue

The next issue will arrive on Wednesday, Mar 1, 2023.


Like this report? Then subscribe to my free newsletter to have the report in your inbox every first Wednesday of the month!


comments powered by Disqus