Author: Karsten Silz
Mar 2, 2022   |  updated Mar 26, 2022 4 min read

Permalink: https://betterprojectsfaster.com/guide/java-full-stack-report-2022-03/the-index/

Java Full-Stack Report March 2022: Technology Index


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

See Current Version


What’s This?

I recommend JVM languages, databases, back-end frameworks, and front-end frameworks. My recommendations are based on popularity, industry analysis, and my 23 years of Java experience. I measure popularity among employers through job ads from 63 countries. For developer popularity, I use online training students, Stack Overflow questions, and Google searches.

I collected the data for this index from February 24-26, 2022.

Archive

February 2022 January 2022 December 2021 November 2021

Table Of Contents

Why Popularity - and How?

Picking a popular technology makes our developer life easier: Easier to learn, easier to build, debug & deploy, easier to hire, and easier to convince teammates & bosses. Now popularity can make a difference in two situations: When multiple technologies score the same, we could go for the most popular one. And when a technology is very unpopular, we may not use it.

I measure popularity among employers and developers as the trend between competing technologies. I count mentions in job ads at Indeed for employer popularity. For developer popularity, I use Google searches, Udemy course buyers, and Stack Overflow questions.

  • JVM Languages: Employers are increasingly looking for Kotlin, but Java still leads 8:1, and Scala remains very competitive. Developers are slowly switching to Kotlin, but Java remains the top dog.
  • Databases: All NoSQL databases have slightly lost popularity with employers since last October while MySQL and Postgres thrived. MySQL slightly declines with developers but still leads, while MongoDB and Postgres fight for the runner-up spot.
  • Back-End Frameworks: Employers mostly stay away from anything but Spring Boot and Jakarta EE. Spring Boot remains the 500-pound gorilla for developers, while Jakarta EE beats Quarkus in two of three categories.
  • Front-End Frameworks: Web: After an Angular surge last September, employers increased React’s lead over Angular again. Among developers, Angular also falls behind React but keeps Vue at bay.
  • Front-End Frameworks: Mobile: Employers still prefer React Native over Flutter nearly two-to-one, but Flutter is catching up. Among developers, Flutter leads and is pulling away from React Native.

Recommendations

JVM Languages

  • 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

  • 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

  • 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.

Front-End Frameworks: Web

  • 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 do migrate, then start with React first, Angular otherwise, and finally Vue.

Front-End Frameworks: Mobile

  • 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 migration. In many (most?) cases, such a migration doesn’t make business sense.
  • If you start a new project or do migrate and have used React before, then start with React Native first and use Flutter otherwise.
  • If you start a new project or do migrate and have not used React, then begin with Flutter first and use React Native otherwise.

comments powered by Disqus