<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Karsten Silz</title>
    <description>The latest articles on DEV Community by Karsten Silz (@ksilz).</description>
    <link>https://dev.to/ksilz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F178019%2F3696e036-c9dd-414d-b28c-00c3f27f142e.jpg</url>
      <title>DEV Community: Karsten Silz</title>
      <link>https://dev.to/ksilz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ksilz"/>
    <language>en</language>
    <item>
      <title>Java Tech Popularity Index Q4/2023</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 29 Nov 2023 11:22:59 +0000</pubDate>
      <link>https://dev.to/ksilz/java-tech-popularity-index-q42023-3h4a</link>
      <guid>https://dev.to/ksilz/java-tech-popularity-index-q42023-3h4a</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Developer job ads dipped 30% in 2023.&lt;/li&gt;
&lt;li&gt;Monthly Stack Overflow questions dropped 42% since ChatGPT, with JavaScript at -56% and Python at -59%.&lt;/li&gt;
&lt;li&gt;Since June 22, Udemy's first-time Python course purchases have outpaced Java's 7.1 million to 2 million. &lt;/li&gt;
&lt;li&gt;Job ads for Quarkus and Micronaut continue to rebound.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to the Q4/2023 issue of my newsletter “Java Tech Popularity Index”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

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

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

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




&lt;h2&gt;
  
  
  Update for Q4/2023
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Developer job ads dipped 30% in 2023.&lt;/li&gt;
&lt;li&gt;Monthly Stack Overflow questions dropped 42% since ChatGPT, with JavaScript at -56% and Python at -59%.&lt;/li&gt;
&lt;li&gt;Since June 22, Udemy's first-time Python course purchases have outpaced Java's 7.1 million to 2 million. &lt;/li&gt;
&lt;li&gt;Job ads for Quarkus and Micronaut continue to rebound.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Feature Updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The charts with the number of monthly questions at Stack Overflow now show the ChatGPT release on November 30, 2022.&lt;/li&gt;
&lt;li&gt;The charts for job ads and Udemy students show "100%" only once.&lt;/li&gt;
&lt;li&gt;The vertical axis in the charts for Google Searches and Stack Overflow questions now has dimmed numbers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Side Quests
&lt;/h3&gt;

&lt;p&gt;I published one InfoQ news item since September: &lt;a href="https://www.infoq.com/news/2023/11/jax-london-2023-team-ai"&gt;JAX London 2023: Team Dynamics, Developer Platforms, and the Adoption of AI&lt;/a&gt;. It's not a coincidence that I wrote about JAX London – I &lt;a href="https://betterprojectsfaster.com/learn/talks-jax-london-2023-native-java-worthwhile"&gt;presented there on October 4, 2023&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  IDEs
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;VS Code&lt;/strong&gt; (left) and &lt;strong&gt;Eclipse&lt;/strong&gt; (right) vs. &lt;strong&gt;IntelliJ (100%)&lt;/strong&gt;, not on the card.  The arrows show the &lt;strong&gt;trend vs. IntelliJ&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yBWn_Xvc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cakpg3ulbuqy5dv8cwl1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yBWn_Xvc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cakpg3ulbuqy5dv8cwl1.png" alt="VS Code (left) And Eclipse (right) vs. IntelliJ (100%)" width="800" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VS Code pulls away from IntelliJ in all categories but Udemy courses, where IntelliJ catches up ever so slightly. Eclipse loses ground to IntelliJ in all categories.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/ide/"&gt;READ IDE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Build Tools
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;Maven&lt;/strong&gt; (left) and &lt;strong&gt;Ant&lt;/strong&gt; (right) vs. &lt;strong&gt;Gradle (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Gradle&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gS1BXHo---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i64wm17ddb3xn2qqeyj3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gS1BXHo---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i64wm17ddb3xn2qqeyj3.png" alt="Maven (left) And Ant (right) vs. Gradle (100%)" width="800" height="660"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maven loses to Gradle except for jobs where it rises slightly. Ant has disappeared from searches and Stack Overflow and trends downwards in jobs.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/build"&gt;READ BUILD TOOL DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  JVM Languages
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;Java&lt;/strong&gt; (left) and &lt;strong&gt;Scala&lt;/strong&gt; (right) vs. &lt;strong&gt;Kotlin (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Kotlin&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UGOsQIVq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y6rgo9gq87g2el7fo7ln.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UGOsQIVq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y6rgo9gq87g2el7fo7ln.png" alt="Java (left) And Scala (right) vs. Kotlin (100%)" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please take the &lt;strong&gt;Kotlin numbers with a huge grain of salt&lt;/strong&gt;: Most Kotlin development is on Android, not in JVM projects. Java loses to Kotlin in all categories except for jobs. Scala declines against Kotlin in all categories (see the &lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/lang#employers-job-ads"&gt;job ad section&lt;/a&gt; for why job numbers for Scala are missing).&lt;/p&gt;

&lt;p&gt;Now, let's look at JVM competitors. Here is &lt;strong&gt;Python&lt;/strong&gt; (left) and &lt;strong&gt;Java&lt;/strong&gt; (right) vs. &lt;strong&gt;JavaScript (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. JavaScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kEY6I_pH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/md1ercsp6zcpttmbjzv3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kEY6I_pH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/md1ercsp6zcpttmbjzv3.png" alt="Python (left) And Java (right) vs. JavaScript (100%)" width="800" height="512"&gt;&lt;/a&gt;&lt;br&gt;
Python slightly declines in jobs against JavaScript but holds steady or increases a bit in all other categories. Java holds steady against JavaScript or declines slightly.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/lang"&gt;READ JVM LANGUAGE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Databases
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;MySql&lt;/strong&gt; (left) and &lt;strong&gt;MongoDB&lt;/strong&gt; (right) vs. &lt;strong&gt;Postgres (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Postgres&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--39ISyVc---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3e9qktkbee9zc3u7hz7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--39ISyVc---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3e9qktkbee9zc3u7hz7.png" alt="MySQL (left) And MongoDB (right) vs. Postgres (100%)" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MySQL gains jobs on Postgres but loses slightly (courses, searches) or heavily (Stack Overflow questions). MongoDB hold steady in job jobs but loses slightly everywhere else.&lt;/p&gt;

&lt;p&gt;These are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/db"&gt;READ DATABASE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Back-End Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;Spring Boot&lt;/strong&gt; (left) and &lt;strong&gt;Quarkus&lt;/strong&gt; (right) vs. &lt;strong&gt;Jakarta EE (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Jakarta EE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5XPebp3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n7pra38mkxom23whhdnv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5XPebp3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n7pra38mkxom23whhdnv.png" alt="Spring Boot (Left) And Quarkus (Right) vs. Jakarta EE (100%)" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Spring Boot pulls away from Jakarta EE everywhere except for job ad mentions. Quarkus gains on Jakarta EE everywhere.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/be"&gt;READ BACK-END FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Web Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;React&lt;/strong&gt; (left) and &lt;strong&gt;Vue&lt;/strong&gt; (right) vs. &lt;strong&gt;Angular (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Angular&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zkANMQET--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mlszbt0advyr728wjafb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zkANMQET--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mlszbt0advyr728wjafb.png" alt="React (left) And Vue (right) vs. Angular (100%)" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React pulls away from Angular except for jobs where Angular edged closer in the last year. Vue holds steady or gains slightly against Angular, except for slight losses at Stack Overflow.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/fe-web/"&gt;READ WEB FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Mobile App Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard &lt;strong&gt;React Native&lt;/strong&gt; (left) and &lt;strong&gt;Xamarin&lt;/strong&gt; (right) vs. &lt;strong&gt;Flutter (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Flutter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wVyD6YUJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4t3h53f59ocvjuvu4cp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wVyD6YUJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4t3h53f59ocvjuvu4cp.png" alt="React Native (Left) And Xamarin (Right) vs. Flutter (100%)" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React Native and Xamarin lose to Flutter in all categories.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q4/fe-mobile"&gt;READ MOBILE APP FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive in February 2024.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bpfnl.substack.com"&gt;Subscribe to this Index on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2003, he has also worked as a contractor.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>flutter</category>
      <category>react</category>
    </item>
    <item>
      <title>Java Tech Popularity Index Q3/2023 (How to Build Java Applications Today #75)</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Tue, 19 Sep 2023 06:30:24 +0000</pubDate>
      <link>https://dev.to/ksilz/java-tech-popularity-index-q32023-how-to-build-java-applications-today-75-3hkb</link>
      <guid>https://dev.to/ksilz/java-tech-popularity-index-q32023-how-to-build-java-applications-today-75-3hkb</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

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




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to the Q3/2023 issue of my newsletter “Java Tech Popularity Index”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

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

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

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




&lt;h2&gt;
  
  
  Update for Q3/2023
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The number of developer ads is generally down in 2023 by about 25%.&lt;/li&gt;
&lt;li&gt;JavaScript, Java, C#, TypeScript, and Rust gained against Python in job ads since September 2022.&lt;/li&gt;
&lt;li&gt;Spring Boot is back to 500% of Jakarta EE job ads, but still down 15% from the 588% of June 2022.&lt;/li&gt;
&lt;li&gt;After a four-month decline in job ads, Quarkus and Micronaut rose again by about 15% in June.&lt;/li&gt;
&lt;li&gt;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 &amp;amp; React 42%, JavaScript 45%, Python 49%, and Vue 50%.&lt;/li&gt;
&lt;li&gt;Maven snatched the #1 position in Stack Overflow questions back from Gradle by a hair (340 questions vs. 337).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Feature Updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The charts for Google searches and questions at Stack Overflow show how much each technology is &lt;strong&gt;off its peak value&lt;/strong&gt;. That shows as a dimmed number in parenthesis behind the current value.&lt;/li&gt;
&lt;li&gt;I show Google search trends. Until now, those were browser screenshots (like &lt;a href="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"&gt;this one&lt;/a&gt;). Now, they are proper charts using the CSV files from Google Trends (like &lt;a href="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"&gt;this one&lt;/a&gt;). They are easier for me to do next time – and look nicer!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Side Quests
&lt;/h3&gt;

&lt;p&gt;I published three InfoQ news items. All three have interviews with the driving forces behind these projects or the lead developer advocate.&lt;/p&gt;

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

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

&lt;h3&gt;
  
  
  Late Again 😔
&lt;/h3&gt;

&lt;p&gt;I'm late again. This time by &lt;strong&gt;seven weeks&lt;/strong&gt;! Why?&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;That's why I'll say that the next issue will arrive in November – and I hope for the best!&lt;/p&gt;




&lt;h2&gt;
  
  
  IDEs
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;VS Code&lt;/strong&gt; (left) and &lt;strong&gt;Eclipse&lt;/strong&gt; (right) vs. &lt;strong&gt;IntelliJ (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. IntelliJ&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tLMrnUG5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9wjuhi08yvoqotmxzxi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tLMrnUG5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9wjuhi08yvoqotmxzxi.png" alt="VS Code (left) And Eclipse (right) vs. IntelliJ (100%)" width="800" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/ide/"&gt;READ IDE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Build Tools
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;Maven&lt;/strong&gt; (left) and &lt;strong&gt;Ant&lt;/strong&gt; (right) vs. &lt;strong&gt;Gradle (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Gradle&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lgTHpKHu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4w8ry6n1968o55phcgkl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lgTHpKHu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4w8ry6n1968o55phcgkl.png" alt="Maven (left) And Ant (right) vs. Gradle (100%)" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maven holds steady against Gradle except for Stack Overflow. Ant has disappeared from searches and Stack Overflow and trends downwards in jobs.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/build"&gt;READ BUILD TOOL DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  JVM Languages
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;Java&lt;/strong&gt; (left) and &lt;strong&gt;Scala&lt;/strong&gt; (right) vs. &lt;strong&gt;Kotlin (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Kotlin&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V7IpoBQf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kl8qabldjeh1cdi600cf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V7IpoBQf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kl8qabldjeh1cdi600cf.png" alt="Java (left) And Scala (right) vs. Kotlin (100%)" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please take the &lt;strong&gt;Kotlin numbers with a huge grain of salt&lt;/strong&gt;: 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 &lt;a href="//../lang/#employers-job-ads"&gt;job ad section&lt;/a&gt; for why job numbers for Scala are missing).&lt;/p&gt;

&lt;p&gt;Now, let's look at JVM competitors. Here is &lt;strong&gt;Python&lt;/strong&gt; (left) and &lt;strong&gt;Java&lt;/strong&gt; (right) vs. &lt;strong&gt;JavaScript (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. JavaScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qAr4rMKv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkae6h2n4n7qmtsbciuz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qAr4rMKv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkae6h2n4n7qmtsbciuz.png" alt="Python (left) And Java (right) vs. JavaScript (100%)" width="800" height="518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/lang"&gt;READ JVM LANGUAGE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Databases
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;MySql&lt;/strong&gt; (left) and &lt;strong&gt;MongoDB&lt;/strong&gt; (right) vs. &lt;strong&gt;Postgres (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Postgres&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--isEuFEEH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hr1x3stnbzzrbpwzp78x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--isEuFEEH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hr1x3stnbzzrbpwzp78x.png" alt="MySql (left) And MongoDB (right) vs. Postgres (100%)&amp;lt;br&amp;gt;
" width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;These are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/db"&gt;READ DATABASE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Back-End Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;Spring Boot&lt;/strong&gt; (left) and &lt;strong&gt;Quarkus&lt;/strong&gt; (right) vs. &lt;strong&gt;Jakarta EE (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Jakarta EE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yWp6pwQY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9yi6as53itf1z01s36kq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yWp6pwQY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9yi6as53itf1z01s36kq.png" alt="Spring Boot (Left) And Quarkus (Right) vs. Jakarta EE (100%)" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/be"&gt;READ BACK-END FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Web Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;React&lt;/strong&gt; (left) and &lt;strong&gt;Vue&lt;/strong&gt; (right) vs. &lt;strong&gt;Angular (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Angular&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HUwQHDc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hpomqoe1u05gnt9u38wj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HUwQHDc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hpomqoe1u05gnt9u38wj.png" alt="React (left) And Vue (right) vs. Angular (100%)" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React pulls away from Angular except for jobs where Angular holds steady. Vue holds steady or gains slightly against Angular.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/fe-web/"&gt;READ WEB FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Mobile App Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is the scorecard of &lt;strong&gt;React Native&lt;/strong&gt; (left) and &lt;strong&gt;Xamarin&lt;/strong&gt; (right) vs. &lt;strong&gt;Flutter (100%)&lt;/strong&gt;, not on the card. The arrows show the &lt;strong&gt;trend vs. Flutter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xtW1uGvf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iftlqppgwizrde1fwrbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xtW1uGvf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iftlqppgwizrde1fwrbu.png" alt="React Native (Left) And Xamarin (Right) vs. Flutter (100%)" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React Native and Xamarin lose to Flutter in all categories except installed apps.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q3/fe-mobile"&gt;READ MOBILE APP FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive in November 2023.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bpfnl.substack.com"&gt;Subscribe to this Index on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2003, he has also worked as a contractor.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>angular</category>
      <category>flutter</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #74 (Java Tech Popularity Index Q2/2023)</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Tue, 02 May 2023 19:28:20 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-74-java-tech-popularity-index-q22023-45i3</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-74-java-tech-popularity-index-q22023-45i3</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;All back-end frameworks lost job ad share to Jakarta EE. VS Code was #2 in IDE job ads. React still only had a slim job ads lead over Angular. Python beat Java by 3x for Udemy course buyers.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to the Q2/2023 issue of my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

&lt;p&gt;My quarterly "Java Tech Popularity Index" measures the &lt;strong&gt;popularity&lt;/strong&gt; of IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks with data from &lt;strong&gt;millions of developers&lt;/strong&gt;: &lt;strong&gt;job ads&lt;/strong&gt; from 59 countries, &lt;strong&gt;online training&lt;/strong&gt; students, &lt;strong&gt;Stack Overflow&lt;/strong&gt; questions, and &lt;strong&gt;Google&lt;/strong&gt; searches.&lt;/p&gt;

&lt;p&gt;I also &lt;strong&gt;recommend&lt;/strong&gt; options in each of these seven areas. My recommendations are based on that popularity, industry analysis, and my 24 years of Java experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why popularity?&lt;/strong&gt; Because picking a popular technology makes our developer life easier: easier to learn, build, debug &amp;amp; deploy, easier to find jobs/hire, and easier to convince teammates &amp;amp; bosses. Now popularity can make a difference in two situations: When multiple technologies score similarly, we could go for the &lt;strong&gt;most&lt;/strong&gt; popular one. And when a technology is very unpopular, we may &lt;strong&gt;not&lt;/strong&gt; use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update for Q2/2023
&lt;/h2&gt;

&lt;p&gt;Late by two weeks, this issue has two new features: &lt;strong&gt;scorecards&lt;/strong&gt; for each area and the actual number of &lt;strong&gt;questions&lt;/strong&gt; at Stack Overflow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scorecards show the &lt;strong&gt;current standings &amp;amp; trends of the top three technologies&lt;/strong&gt;. The &lt;strong&gt;runner-up is at 100%&lt;/strong&gt;, but not on the card. The &lt;strong&gt;leader (left)&lt;/strong&gt; and &lt;strong&gt;number 3 (right)&lt;/strong&gt; are. The red arrows show the &lt;strong&gt;trend&lt;/strong&gt; vs. the runner-up.&lt;/li&gt;
&lt;li&gt;Until now, I used &lt;a href="https://insights.stackoverflow.com/trends?tags=spring-boot%2Cjakarta-ee%2Cquarkus"&gt;Stack Overflow Trends&lt;/a&gt; to show the number of questions. That had two problems: Not all technologies were available there (the Micronaut back-end framework, for instance, is not). And the numbers were a &lt;strong&gt;relative&lt;/strong&gt; percentage of all questions, which made it harder to understand the actual number of questions. Now I use the &lt;a href="https://data.stackexchange.com/stackoverflow/query/new"&gt;StackExchange Data Explorer&lt;/a&gt;, which gives me the number of questions for all technologies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On to what's &lt;strong&gt;new &amp;amp; noteworthy in Q2/2023&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The number of &lt;strong&gt;developer ads is down&lt;/strong&gt; in Q1/2023.&lt;/li&gt;
&lt;li&gt;All back-end frameworks lost share against &lt;strong&gt;Jakarta EE&lt;/strong&gt; over the last two months (Quarkus &amp;amp; Micronaut) and nine months (Spring Boot).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; now has three times as many course buyers on Udemy as Java (39.8 million vs. 13.3 million). The gap is widening: It was four times as many buyers in the last nine months (4.3 million vs. 1.1 million).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VS Code&lt;/strong&gt; claims the #2 spot in IDE job ad mentions for the first time, beating IntelliJ by 11%.&lt;/li&gt;
&lt;li&gt;At 13-14%, &lt;strong&gt;React&lt;/strong&gt; has had the slimmest job ads lead over Angular for the last 1.5 years. But in Udemy course purchases, React now has the largest lead over Angular at 1.5:1.&lt;/li&gt;
&lt;li&gt;At 1.7:1, &lt;strong&gt;React Native&lt;/strong&gt; has had the slimmest job ads lead over Flutter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Postgres&lt;/strong&gt; narrowly overtook MySQL in questions at Stack Overflow for the first time (1,509 questions vs. 1,485).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradle&lt;/strong&gt; also surpassed Maven at Stack Overflow for the first time but with a more comfortable lead (440 questions vs. 390).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  IDEs
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;IntelliJ (100%)&lt;/strong&gt;, not on the card, vs. &lt;strong&gt;Eclipse&lt;/strong&gt; (left) and &lt;strong&gt;VS Code&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. IntelliJ&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XUVxC-rz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1x81n6jp2ex5qzfhq2g6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XUVxC-rz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1x81n6jp2ex5qzfhq2g6.png" alt="Scorecard For IntelliJ (100%) vs. VS Code (left) and Eclipse (right)" width="800" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VS Code pulls away from IntelliJ in all categories but Udemy courses. Eclipse pulls away slightly from IntelliJ in jobs but loses ground in all other categories.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/ide/"&gt;READ IDE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Build Tools
&lt;/h2&gt;

&lt;p&gt;Here is &lt;strong&gt;Gradle (100%)&lt;/strong&gt;, not on the card, vs. &lt;strong&gt;Maven&lt;/strong&gt; (left) and &lt;strong&gt;Ant&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. Gradle&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ywaYuwAl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ev29257renpis5qmxnv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ywaYuwAl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ev29257renpis5qmxnv.png" alt="Scorecard For Gradle (100%) vs. Maven (Left) and Ant (Right)" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maven holds steady against Gradle except for Stack Overflow. Ant holds up surprisingly well in jobs for its age but has disappeared from searches and Stack Overflow.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/build"&gt;READ BUILD TOOL DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  JVM Languages
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;Kotlin (100%)&lt;/strong&gt;, not on the card, vs. &lt;strong&gt;Java&lt;/strong&gt; (left) and &lt;strong&gt;Scala&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. Kotlin&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--obFndfh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkfa6crr3fjkjlorbjw2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--obFndfh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lkfa6crr3fjkjlorbjw2.png" alt="Scorecard For Kotlin (100%) vs. Java (left) and Scala (right)" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/lang/#employers-job-ads"&gt;job ad section&lt;/a&gt; for why job numbers for Scala are missing).&lt;/p&gt;

&lt;p&gt;Now let's look at JVM competitors. Here is &lt;strong&gt;JavaScript (100%)&lt;/strong&gt; vs. &lt;strong&gt;Python&lt;/strong&gt; (left) and &lt;strong&gt;Java&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. JavaScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--76vgaE8o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ix9nik89oregx4jnrp9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--76vgaE8o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ix9nik89oregx4jnrp9e.png" alt="Scorecard For JavaScript (100%) vs. Python (left) and Java (right)" width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Python slightly declines in jobs against JavaScript but holds steady or slightly increases in all other categories. Java holds steady in searches but declines slightly everywhere else.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/lang"&gt;READ JVM LANGUAGE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Databases
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;Postgres (100%)&lt;/strong&gt;, not on the card, vs. &lt;strong&gt;MySql&lt;/strong&gt;  (left) and &lt;strong&gt;MongoDB&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. Postgres&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e-_vEh9R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o7tvh3hwva6ds6sdw0nl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e-_vEh9R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o7tvh3hwva6ds6sdw0nl.png" alt="Scorecard For Postgres (100%) vs. MySql (left) and MongoDB (right)" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Postgres gains slightly on MySQL except for jobs where it loses slightly. MongoDB holds steady against Postgres except for questions where it also loses somewhat.&lt;/p&gt;

&lt;p&gt;These are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/db"&gt;READ DATABASE DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Back-End Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is &lt;strong&gt;Jakarta EE (100%)&lt;/strong&gt;, not on the card, vs. &lt;strong&gt;Spring Boot&lt;/strong&gt; (left) and &lt;strong&gt;Quarkus&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. Jakarta EE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lD5zEPMi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/drw953q487jk9uhd8jcr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lD5zEPMi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/drw953q487jk9uhd8jcr.png" alt="Scorecard For Jakarta EE (100%) vs. Spring Boot (Left) and Quarkus (Right)" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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 and pulls away in Stack Overflow questions.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/be"&gt;READ BACK-END FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Web Frameworks
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;Angular (100%)&lt;/strong&gt;, not on the card, vs. &lt;strong&gt;React&lt;/strong&gt; (left) and &lt;strong&gt;Vue&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. Angular&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--poI4MHVJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrrj7y4k1dfwr703pmbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--poI4MHVJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrrj7y4k1dfwr703pmbr.png" alt="Scorecard For Angular (100%) vs. React (left) and Vue (right)" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React pulls away from Angular except for jobs where Angular holds steady. Vue holds steady or gains slightly against Angular.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/fe-web/"&gt;READ WEB FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Mobile App Frameworks
&lt;/h2&gt;

&lt;p&gt;Here is &lt;strong&gt;Flutter (100%)&lt;/strong&gt;, not on the card, against &lt;strong&gt;React Native&lt;/strong&gt; (left) and &lt;strong&gt;Xamarin&lt;/strong&gt; (right). The arrows show the &lt;strong&gt;trend vs. Flutter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1bFq0Sjy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rhk9e1n5lvfuyyjw63v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1bFq0Sjy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rhk9e1n5lvfuyyjw63v.png" alt="Scorecard For Flutter (100%) vs. React Native (Left) and Xamarin (Right)" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flutter gains on its competitors in all categories but installed apps.&lt;/p&gt;

&lt;p&gt;Here are my &lt;strong&gt;recommendations&lt;/strong&gt;:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-tech-popularity-index-2023-q2/fe-mobile"&gt;READ MOBILE APP FRAMEWORK DETAILS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive on &lt;strong&gt;Wednesday, July 26, 2023&lt;/strong&gt;. That's the plan, at least. 😁&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bpfnl.substack.com"&gt;Subscribe to this Index on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2003, he has also worked as a contractor.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #73</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 01 Mar 2023 11:58:20 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-73-3cbn</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-73-3cbn</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;There’s no issue this month, as I switched my newsletter from monthly to quarterly. Why? Because I can’t spend as much time on this newsletter anymore.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

&lt;p&gt;There's &lt;strong&gt;no issue&lt;/strong&gt; this month, as I decided to switch my newsletter &lt;strong&gt;from monthly to quarterly&lt;/strong&gt; and remove the stand-up, news, and release sections. Why? Because since January, I've been juggling a full-time contract gig with my start-up. So I can't spend as much time on this newsletter anymore.&lt;/p&gt;

&lt;p&gt;Now the heart of my newsletter is the &lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/main/#technology-index"&gt;Java Technology Popularity Index&lt;/a&gt;&lt;/strong&gt;. And I &lt;strong&gt;keep it&lt;/strong&gt;! It tells you which Java technologies companies hires for in 59 countries with Indeed.com. And for developers, it tells what online courses they buy at Udemy, what technologies they search for at Google, and how many questions they ask at Stack Overflow. And all of that for IDEs, build tools, programming languages, databases, back-end frameworks, front-end web frameworks, and mobile cross-platform frameworks – all the technologies you need to build Java applications today.&lt;/p&gt;

&lt;p&gt;I publish updates to this index once a quarter already. But my newsletter also had three sections that also changed monthly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/stand-up/"&gt;Stand-Up&lt;/a&gt;: My look back at the last month and look forward to the coming month.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/release-radar/"&gt;Release Radar&lt;/a&gt;: Essential tool &amp;amp; technology releases for Java developers.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/new-noteworthy/"&gt;New &amp;amp; Noteworthy&lt;/a&gt;: Last month’s most important news for Java developers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So these sections are gone now. Sorry! Are you're still interested in Java news &amp;amp; releases? Then I recommend reading the weekly "&lt;a href="https://www.infoq.com/news/2023/02/java-news-roundup-feb20-2023"&gt;Java News Roundup&lt;/a&gt;" on InfoQ. It has – wait for it - Java news &amp;amp; release galore! It usually appears on Monday or Tuesday. &lt;a href="https://www.infoq.com/java/"&gt;Bookmark the Java topic on InfoQ&lt;/a&gt;, and you won't miss the "Java News Roundup" and other news &amp;amp; articles!&lt;/p&gt;

&lt;p&gt;I’m also changing the release date, so I can stretch out the work of assembling the index over more days. Next month is Easter, where I travel, so I’ll try the third Monday of April for now - April 17.&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive on &lt;strong&gt;Monday, April 17, 2023&lt;/strong&gt;. &lt;a href="https://bpfnl.substack.com"&gt;Subscribe to this newsletter on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2003, he has also worked as a contractor.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #72</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 01 Feb 2023 06:41:44 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-72-2b0b</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-72-2b0b</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Java had patch releases, we can now write command-line interfaces with Java, and this book will save IntelliJ users tons of time.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to the February 2023 issue of my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com" rel="noopener noreferrer"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

&lt;p&gt;In my monthly "Java Full-Stack Report", I &lt;strong&gt;recommend&lt;/strong&gt; IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks. I also cover essential &lt;strong&gt;releases&lt;/strong&gt; and &lt;strong&gt;news&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Why popularity?&lt;/strong&gt; Because picking a popular technology makes our developer life easier: easier to learn, easier to build, debug &amp;amp; deploy, easier to find jobs/hire, and easier to convince teammates &amp;amp; bosses. Now popularity can make a difference in two situations: When multiple technologies score similarly, we could go for the &lt;strong&gt;most&lt;/strong&gt; popular one. And when a technology is very unpopular, we may &lt;strong&gt;not&lt;/strong&gt; use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;I told you that I started a new Java contract on January 3. Two sprints in, I can share that I'm working with some technologies I haven't touched before. Namely Spring Boot 3, Kubernetes, MongoDB, and React. After many years, I also work with Maven again — and realize I still like Gradle a lot better.&lt;/p&gt;




&lt;p&gt;My first conference talk of the year is at Germany's biggest Java conference, JavaLand. It's about when native Java with GraalVM is worth it. As it seems to have become a tradition, I first give my conference talk to the London Java Community (LJC). I was already booked for a regular online talk in early March when suddenly, a slot opened up at LJC Live on February 16. That's a monthly on-site event with two speakers. And &lt;a href="https://betterprojectsfaster.com/learn/talks-ljc-live-2023-native-java-worthwhile" rel="noopener noreferrer"&gt;I'm now one of them&lt;/a&gt;! This cuts my preparation time a bit short. But who says that deadline pressure is wrong?! 😅 So if you're in London on February 16, I'd love to see you at LJC Live!&lt;/p&gt;




&lt;p&gt;Last year, I talked about Google's Flutter &lt;a href="https://betterprojectsfaster.com/learn/talks-qcon-london-2022-flutter-one-codebase" rel="noopener noreferrer"&gt;at QCon London&lt;/a&gt; and then &lt;a href="https://betterprojectsfaster.com/learn/talks-qcon-plus-spring-2022-flutter-one-codebase" rel="noopener noreferrer"&gt;at QCon Plus&lt;/a&gt;. The QCon Plus talk was prerecorded. I edited it myself, so it's quite polished, if I may say so. 😏  And that talk is now public on InfoQ  — as a video and text transcript. So if you want to know about Flutter, &lt;a href="https://www.infoq.com/presentations/google-flutter-cross-platform/" rel="noopener noreferrer"&gt;view or read for yourself&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index (Last Update: January 2023)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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 &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, consider moving off of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/ide" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/build" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/lang" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/db" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/be" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally, &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/fe-web" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you start a new project and have used React for building web applications, then use &lt;strong&gt;React Native&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you start a new project and have .NET experience, then use &lt;strong&gt;.NET MAUI&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you start a new project and need to use a library that's only available in Java, then use &lt;strong&gt;JavaFX&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, start with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; if that doesn't work out for you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-02/fe-mobile" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;I added GraalVM to the list this month. We need it to build &lt;a href="https://www.infoq.com/articles/native-compilations-boosts-java" rel="noopener noreferrer"&gt;native Java applications&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bold rows&lt;/strong&gt; show &lt;strong&gt;major&lt;/strong&gt; updates, &lt;em&gt;italic rows&lt;/em&gt; signal &lt;em&gt;minor&lt;/em&gt; ones.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Name &amp;amp; Download&lt;/th&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;What's New&lt;/th&gt;
&lt;th&gt;Docs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Version Control&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;Git&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;2.39.1&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 17, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;&lt;a href="https://github.blog/2023-01-17-git-security-vulnerabilities-announced-2" rel="noopener noreferrer"&gt;What's New&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.39.1.txt" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;&lt;a href="https://git-scm.com/docs" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build Tool&lt;/td&gt;
&lt;td&gt;&lt;a href="https://maven.apache.org/download.cgi" rel="noopener noreferrer"&gt;Maven&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;3.8.7&lt;/td&gt;
&lt;td&gt;Dec 24, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://maven.apache.org/docs/3.8.7/release-notes.html" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://maven.apache.org/users/index.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build Tool&lt;/td&gt;
&lt;td&gt;&lt;a href="https://gradle.org/releases" rel="noopener noreferrer"&gt;Gradle&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;7.6&lt;/td&gt;
&lt;td&gt;Nov 25, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.gradle.org/7.6/release-notes.html" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.gradle.org/7.6/userguide/userguide.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;IDE&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.jetbrains.com/idea/download/" rel="noopener noreferrer"&gt;IntelliJ&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;2022.3.2&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 26, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://blog.jetbrains.com/idea/2023/01/intellij-idea-2022-3-2" rel="noopener noreferrer"&gt;What's New&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.jetbrains.com/idea/resources/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IDE&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.eclipse.org/downloads/packages" rel="noopener noreferrer"&gt;Eclipse&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2022-12&lt;/td&gt;
&lt;td&gt;Dec 7, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://youtu.be/jJau4kUoLrA" rel="noopener noreferrer"&gt;Video&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://help.eclipse.org/latest/index.jsp" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IDE&lt;/td&gt;
&lt;td&gt;&lt;a href="https://netbeans.apache.org/download/" rel="noopener noreferrer"&gt;NetBeans&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;Nov 30, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/apache/netbeans/releases/tag/16" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://netbeans.apache.org/help/index.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;IDE&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://code.visualstudio.com/Download" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;1.74.3&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 17, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://github.com/microsoft/vscode/milestone/220" rel="noopener noreferrer"&gt;1.74.3&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://code.visualstudio.com/docs" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Java&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://adoptium.net/temurin/releases/?version=19" rel="noopener noreferrer"&gt;Eclipse Temurin&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;19.0.2&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 26, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.oracle.com/java/technologies/javase/19-0-2-relnotes.html" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://docs.oracle.com/en/java/javase/19/docs/api" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Java&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://adoptium.net/temurin/releases/?version=17" rel="noopener noreferrer"&gt;Eclipse Temurin&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;17.0.6&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 24, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.oracle.com/java/technologies/javase/17-0-6-relnotes.html" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://docs.oracle.com/en/java/javase/17/docs/api" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Java&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://adoptium.net/temurin/releases/?version=11" rel="noopener noreferrer"&gt;Eclipse Temurin&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;11.0.18&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 26, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.oracle.com/java/technologies/javase/11-0-17-relnotes.html" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://docs.oracle.com/en/java/javase/11/docs/api" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Java&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://adoptium.net/temurin/releases/?version=8" rel="noopener noreferrer"&gt;Eclipse Temurin&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;8u362&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 26, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.oracle.com/java/technologies/javase/8u361-relnotes.html" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://docs.oracle.com/javase/8/docs/api/index.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Java&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.1" rel="noopener noreferrer"&gt;GraalVM&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;22.3.1&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 24, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.graalvm.org/release-notes/22_3/#2231" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://www.graalvm.org/latest/docs/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Framework&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Spring Boot&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;3.0.2&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 20, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://github.com/spring-projects/spring-boot/releases/tag/v3.0.2" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://docs.spring.io/spring-boot/docs/3.0.2/reference/html/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Framework&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Spring Boot&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;2.7.8&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 19, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://github.com/spring-projects/spring-boot/releases/tag/v2.7.8" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://docs.spring.io/spring-boot/docs/2.7.8/reference/html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Spring Boot&lt;/td&gt;
&lt;td&gt;2.6.14&lt;/td&gt;
&lt;td&gt;Nov 24, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/spring-projects/spring-boot/releases/tag/v2.6.14" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.spring.io/spring-boot/docs/2.6.14/reference/html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Framework&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Quarkus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2.16&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Jan 25, 2023&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://quarkus.io/blog/quarkus-2-16-0-final-released" rel="noopener noreferrer"&gt;What's new&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://quarkus.io/guides" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Framework&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Quarkus&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;2.15.2&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 4, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://quarkus.io/blog/quarkus-2-15-2-final-released" rel="noopener noreferrer"&gt;Release notes&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://quarkus.io/guides" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Framework&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Micronaut&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;3.8.3&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 28, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;&lt;a href="https://micronaut.io/2023/01/28/micronaut-framework-3-8-3-released/" rel="noopener noreferrer"&gt;3.8.3&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://micronaut.io/2023/01/20/micronaut-framework-3-8-2-released/" rel="noopener noreferrer"&gt;3.8.2&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://micronaut.io/2023/01/12/micronaut-framework-3-8-1-released/" rel="noopener noreferrer"&gt;3.8.1&lt;/a&gt;&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://micronaut.io/docs/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Micronaut&lt;/td&gt;
&lt;td&gt;3.7.5&lt;/td&gt;
&lt;td&gt;Dec 20, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/micronaut-projects/micronaut-core/releases/tag/v3.7.5" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://micronaut.io/docs/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;DropWizard&lt;/td&gt;
&lt;td&gt;2.1.4&lt;/td&gt;
&lt;td&gt;Oct 20, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/dropwizard/dropwizard/releases/tag/v2.1.4" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.dropwizard.io/en/latest/getting-started.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;DropWizard&lt;/td&gt;
&lt;td&gt;2.0.34&lt;/td&gt;
&lt;td&gt;Oct 18, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/dropwizard/dropwizard/releases/tag/v2.0.34" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.dropwizard.io/en/latest/getting-started.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Helidon&lt;/td&gt;
&lt;td&gt;3.1.0&lt;/td&gt;
&lt;td&gt;Dec 21, 2022&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/helidon-io/helidon/releases/tag/3.1.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://helidon.io/docs/v3/#/about/introduction" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Framework&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Helidon&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;2.5.6&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Jan 20, 2023&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;&lt;a href="https://github.com/helidon-io/helidon/releases/tag/2.5.6" rel="noopener noreferrer"&gt;2.5.6&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://github.com/helidon-io/helidon/releases/tag/2.5.5" rel="noopener noreferrer"&gt;2.5.5&lt;/a&gt;&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;&lt;em&gt;&lt;a href="https://helidon.io/docs/v2/#/about/introduction" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  We Can Now Write Command-Line Interfaces with Java
&lt;/h3&gt;

&lt;p&gt;Command-line interfaces (CLI) need to start quickly and not use much memory. Sot that ruled out writing them in Java for most of us: Sure, Maven and Gradle start fast. But they've been tuned for years and don't use the frameworks we want to use, like Spring Boot.&lt;/p&gt;

&lt;p&gt;Until now, that is: &lt;a href="https://www.infoq.com/articles/native-compilations-boosts-java/" rel="noopener noreferrer"&gt;Native Java with GraalVM&lt;/a&gt; makes it possible to write CLIs in Java!&lt;/p&gt;

&lt;p&gt;&lt;code&gt;just&lt;/code&gt; is an example of such a CLI. It doesn't matter to us that it's a Spring Boot tool. What matters is that it's a Spring Boot application starts in less than one second. On my M1 Max MacBook Pro, the application launches, displays the help screen, and quits again in 0.8 seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;% time just --help


       ██╗██╗   ██╗███████╗████████╗
       ██║██║   ██║██╔════╝╚══██╔══╝
       ██║██║   ██║███████╗   ██║
  ██   ██║██║   ██║╚════██║   ██║
  ╚█████╔╝╚██████╔╝███████║   ██║
   ╚════╝  ╚═════╝ ╚══════╝   ╚═╝

Unknown option: '--help'
Usage: just [-V] [COMMAND]
  -V, --version   Print Just version
Commands:
  run     runs Spring Boot project - either with Maven or Gradle in dev mode
            with hot reloading enabled
  help    Display help information about the specified command.
  format  formats code with Spotless
  init    initializes Just related files
  build   builds application
  kill    kills process running on port
just --help  0.80s user 0.07s system 97% cpu 0.897 total
%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So if you wanted to write a CLI in Java but didn't: Now's the time! Just pick a Java framework that supports native Java, like Spring Boot 3, Quarkus, or Micronaut. And build it as a native executable with GraalVM.&lt;/p&gt;

&lt;p&gt;To the Quarkus and Micronaut fans among my readers: I know you guys could build fast CLIs for years. But I hope we can all agree that Spring Boot 3 made native Java more mainstream. 😀 Hence, this news item appears now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2023/01/just-spring-boot-cli" rel="noopener noreferrer"&gt;Read the News&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  This Book Will Save IntelliJ Users Tons of Time
&lt;/h3&gt;

&lt;p&gt;If you are an IntelliJ user, this book will save you a lot of time! Trisha Gee, the former lead developer advocate at JetBrains, and Helen Scott, the current lead developer advocate at JetBrains, wrote it together. Trisha covers the advanced users, while Helen dishes out tips for beginners.&lt;/p&gt;

&lt;p&gt;So, how will this book make you faster? By focusing on three areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keyboard First&lt;/li&gt;
&lt;li&gt;Always Green&lt;/li&gt;
&lt;li&gt;Staying in the Flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://leanpub.com/gettingtoknowIntelliJIDEA" rel="noopener noreferrer"&gt;The book is on Leanpub&lt;/a&gt; and costs 30 dollars. Saving dozens, if not hundreds of hours in the future, this book is a no-brainer for IntelliJ users!&lt;/p&gt;

&lt;p&gt;Interested? Then read the interview with Trish &amp;amp; Helen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2023/01/know-intellij-book" rel="noopener noreferrer"&gt;Read the Interview&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Better Debugging with Kotlin 1.8
&lt;/h3&gt;

&lt;p&gt;I know, this is a &lt;strong&gt;Java&lt;/strong&gt; newsletter. But what's wrong with occasionally looking at the other side of the fence and seeing if it's really greener? Which brings me to Kotlin 1.8, the latest release of the &lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report/lang/" rel="noopener noreferrer"&gt;#2 language on the JVM&lt;/a&gt;. And this time, the grass is brown &amp;amp; muddy.&lt;/p&gt;

&lt;p&gt;Why such harsh words? Well, let's look at the list of new features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better debugging by removing optimizations that mess with the debugging experience&lt;/li&gt;
&lt;li&gt;Built-in function for recursively copying and deleting directories&lt;/li&gt;
&lt;li&gt;Faster reflections&lt;/li&gt;
&lt;li&gt;Support for writing Gradle tasks with Kotlin for Gradle 7.2 (released August 17, 2021) and 7.3 (released November 9, 2021).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Does this grass look green to you? And the support for Gradle 7.2 and 7.3 is especially baffling to me: What took so long? These releases are more than a year old! And how do I write Gradle tasks with Kotlin in the current Gradle release, 7.6?&lt;/p&gt;

&lt;p&gt;Kotlin 1.8 has more changes, but they don't concern us Java developers (like improved interoperability with Apple's Objective-C &amp;amp; Swift).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://blog.jetbrains.com/kotlin/2023/01/kotlin-1-8-0-released" rel="noopener noreferrer"&gt;Read the Announcement&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive on &lt;strong&gt;Wednesday, March 1, 2023&lt;/strong&gt;. &lt;a href="https://bpfnl.substack.com" rel="noopener noreferrer"&gt;Subscribe to this newsletter on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/" rel="noopener noreferrer"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2003, he has also worked as a contractor.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/" rel="noopener noreferrer"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/" rel="noopener noreferrer"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/" rel="noopener noreferrer"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/" rel="noopener noreferrer"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz" rel="noopener noreferrer"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #71</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Thu, 05 Jan 2023 00:29:20 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-71-2j3m</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-71-2j3m</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Scala beats Kotlin in job ads, Quarkus &amp;amp; Micronaut steady as #3 &amp;amp; #4 in job ads, Java InfoQ Trends Report 2022, Eclipse 2022-12, and one in five Java developers uses VS Code.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to the January 2023 issue of my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

&lt;p&gt;In my monthly "Java Full-Stack Report", I &lt;strong&gt;recommend&lt;/strong&gt; IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks. I also cover essential &lt;strong&gt;releases&lt;/strong&gt; and &lt;strong&gt;news&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Why popularity?&lt;/strong&gt; Because picking a popular technology makes our developer life easier: easier to learn, easier to build, debug &amp;amp; deploy, easier to find jobs/hire, and easier to convince teammates &amp;amp; bosses. Now popularity can make a difference in two situations: When multiple technologies score similarly, we could go for the &lt;strong&gt;most&lt;/strong&gt; popular one. And when a technology is very unpopular, we may &lt;strong&gt;not&lt;/strong&gt; use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;Happy New Year to all of you! Here's my resolution for the new year: Read the freakin' calendar. You know, as in, "Read the calendar &lt;strong&gt;before&lt;/strong&gt; determining the date of the next issue", so that a wrong date, like "Wednesday, January &lt;strong&gt;3&lt;/strong&gt;, 2023", doesn't &lt;a href="https://dev.to/guide/java-full-stack-report-2023-01/main#next-issue"&gt;show on these pages&lt;/a&gt;. The first Wednesday in 2023 was January &lt;strong&gt;4&lt;/strong&gt;, of course. 😩&lt;/p&gt;




&lt;p&gt;I measure popularity by counting job ads in 59 countries at Indeed.com. I had three different woes this time around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I now exclude China, Japan, and South Korea from the ranking because English word searches proved ineffective there. I adjusted &lt;strong&gt;all&lt;/strong&gt; past numbers as well for this issue, so they are different from past issues.&lt;/li&gt;
&lt;li&gt;Because of technical difficulties on my end, I don't have the numbers for October 2022.&lt;/li&gt;
&lt;li&gt;I also messed up the counting of Java jobs when battling the fact that searching for "Java" at Indeed also finds ads with "Javascript". So my &lt;strong&gt;Java job numbers have been off since the beginning&lt;/strong&gt;, and I discarded them. I'll count Java jobs correctly now — hopefully. Mea culpa!*&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I &lt;a href="https://www.infoq.com/articles/graalvm-java-compilers-openjdk"&gt;wrote another InfoQ article&lt;/a&gt; about the GraalVM Java Compilers Join OpenJDK in 2023. It combines three news items, plus three answers from all Java frameworks supporting native Java with GraalVM static AOT compilation (Spring Boot, Quarkus, Micronaut, and Helidon) and two Red Hat experts. Earlier in 2022, I edited a &lt;a href="https://www.infoq.com/articles/native-compilations-boosts-java"&gt;six-part InfoQ article series&lt;/a&gt; on the topic.&lt;/p&gt;

&lt;p&gt;Because of our publication schedule, that one spent about a month on the shelves. Just my luck: Shortly before we finally published the article, Oracle provided more details on how the GraalVM Java Compilers will move to OpenJDK. Fortunately, my InfoQ colleague Ben Evans &lt;a href="https://www.infoq.com/news/2022/12/openjdk-galahad-Dec22/"&gt;covered that superbly&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;January 3, 2023, was also the day that I started a new Java contract. It's three months for now but it may be longer. I'm still working on our apps at "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;". But we're now in a place where I can do that nights &amp;amp; weekends only for now. &lt;/p&gt;

&lt;p&gt;I can’t tell you about my contract, but it may include some technologies I haven’t worked on. Stay tuned! 😃&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index (Last Update: January 2023)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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 &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, consider moving off of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/ide"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/build"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/lang"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/db"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/be"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally, &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/fe-web"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you start a new project and have used React for building web applications, then use &lt;strong&gt;React Native&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you start a new project and have .NET experience, then use &lt;strong&gt;.NET MAUI&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you start a new project and need to use a library that's only available in Java, then use &lt;strong&gt;JavaFX&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, start with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; if that doesn't work out for you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/fe-mobile"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Last month, Git, Eclipse, NetBeans, VS Code, Quarkus, and Micronaut had major releases. Maven, IntelliJ, Spring Boot, Quarkus, Micronaut, and Helidon had minor releases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2023-01/release-radar"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ### Java InfoQ Trends Report 2022
&lt;/h3&gt;

&lt;p&gt;Once a year, the Java team at InfoQ (which includes me) publishes their trend report. Here are three significant findings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Native Java with the GraalVM Native Image Ahead-of-Time (AOT) compiler will grow as the OpenJDK projects Leyden &amp;amp; Galahad move forward. That makes Java cheaper in the cloud.&lt;/li&gt;
&lt;li&gt;Java Virtual Threads simplify concurrent programming and make Java also cheaper. Java frameworks seem to adopt Virtual Threads quickly.&lt;/li&gt;
&lt;li&gt;Java 11 has finally overtaken Java 8. And we're seeing Java 17 share growing faster than Java 11, boosted by Spring Boot 3.0 requiring Java 17.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more information, read the article!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/articles/java-jvm-trends-2022"&gt;Read the Article&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  GraalVM Java Compilers Join OpenJDK in 2023
&lt;/h3&gt;

&lt;p&gt;Talking about GraalVM: The Community Editions of the GraalVM JIT and Ahead-of-Time (AOT) compilers will move to OpenJDK in 2023 as part of Project Galahad. That will make using them easier for us. And yes, it's that &lt;a href="https://en.wikipedia.org/wiki/Galahad"&gt;Galahad&lt;/a&gt;, the knight at King Arthur's Round Table, searching for the Holy Grail. Grail, GraalVM  — get it? One may even call this a dig by OpenJDK against the &lt;strong&gt;Oracle Labs&lt;/strong&gt; project GraalVM: Galahad was an &lt;strong&gt;illegitimate&lt;/strong&gt; son...&lt;/p&gt;

&lt;p&gt;Anyhow, at OpenJDK, the GraalVM Java Compilers will align with Java releases and use the OpenJDK Community processes. Existing releases, GraalVM Enterprise Edition features, and other GraalVM projects will remain at GraalVM. And GraalVM still does releases: GraalVM 22.3 provides experimental support for JDK 19 and improves observability.&lt;/p&gt;

&lt;p&gt;Another OpenJDK project, Leyden, will standardize how AOT compilation fits into the Java specification. We need this because a native Java executable can't do some of the things "regular Java programs" can do, such as loading arbitrary classes and files at runtime. Project Leyden will also define far-reaching optimizations for regular Java applications running in a JRE with a JIT compiler, &lt;strong&gt;without&lt;/strong&gt; having to use the GraalVM AOT compiler.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/articles/graalvm-java-compilers-openjdk"&gt;Read My Article&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  One in Five Java Developers Uses Visual Studio Code
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/new-noteworthy/#we-are-10-million-java-developers"&gt;We are ten million Java developers&lt;/a&gt;. And one in five of us uses VS Code, Microsoft's free cross-platform and cross-language IDE.&lt;/p&gt;

&lt;p&gt;Unfortunately, this announcement lacks important details: Does it mean "using VS Code for Java development"? And how often do you have to use VS Code for Java development to qualify here? Just once? Once a month? Or daily?&lt;/p&gt;

&lt;p&gt;And is two million a lot? We don't know because we don't know how many Java developers use IntelliJ, Eclipse, or NetBeans! Also, VS Code isn't a fully-fledged Java IDE yet. Still, VS Code is popular enough that IntelliJ maker JetBrains &lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-01-new-noteworthy/#jetbrains-clones-visual-studio-code---but-at-what-price"&gt;copies it&lt;/a&gt;, as &lt;a href="https://theia-ide.org"&gt;does Eclipse&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://devblogs.microsoft.com/java/two-million-java-developers-on-visual-studio-code-november-2022-update"&gt;Read the Announcement&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive on &lt;strong&gt;Wednesday, February 1, 2023&lt;/strong&gt;. &lt;a href="https://bpfnl.substack.com"&gt;Subscribe to this newsletter on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;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 a contractor, author, and speaker. He got a Master’s degree in Computer Science at the Dresden University of Technology (Germany) in 1996.&lt;/p&gt;

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>postgres</category>
      <category>flutter</category>
      <category>angular</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #70</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 07 Dec 2022 14:15:04 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-70-2851</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-70-2851</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Spring Boot 3 brings Java 17, Jakarta EE 9, and native Java with GraalVM, Spring Modulith structures Spring Boot 3 applications with modules &amp;amp; events, and a new UI in IntelliJ 2022.3.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com" rel="noopener noreferrer"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's This?
&lt;/h2&gt;

&lt;p&gt;In my monthly "Java Full-Stack Report", I &lt;strong&gt;recommend&lt;/strong&gt; IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks. I also cover essential &lt;strong&gt;releases&lt;/strong&gt; and &lt;strong&gt;news&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This report is different because it measures popularity by &lt;strong&gt;observing what all Java developers do&lt;/strong&gt;: &lt;strong&gt;job ads&lt;/strong&gt; from 62 countries, &lt;strong&gt;online training&lt;/strong&gt; students, &lt;strong&gt;Stack Overflow&lt;/strong&gt; questions, and &lt;strong&gt;Google&lt;/strong&gt; searches. My recommendations are based on that popularity, industry analysis, and my 23 years of Java experience. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why popularity?&lt;/strong&gt; Because picking a popular technology makes our developer life easier: easier to learn, easier to build, debug &amp;amp; deploy, easier to find jobs/hire, and easier to convince teammates &amp;amp; bosses. Now popularity can make a difference in two situations: When multiple technologies score similarly, we could go for the &lt;strong&gt;most&lt;/strong&gt; popular one. And when a technology is very unpopular, we may &lt;strong&gt;not&lt;/strong&gt; use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;It was just three weeks ago that I gave &lt;a href="https://betterprojectsfaster.com/learn/talks-w-jax-2022-flutter-for-java-developers/" rel="noopener noreferrer"&gt;my last talk of the year&lt;/a&gt;. And Munich has the best conference food, hands down. 😋  But I'm already booked again: Like this year, I'll talk again at the two largest Java conferences in Germany! 😃 Both times, it's about whether native Java, statically compiled ahead of time with GraalVM Native Image, is worth the effort. So I hope to see you either at &lt;a href="https://betterprojectsfaster.com/learn/talks-javaland-2023-native-java-worth-it" rel="noopener noreferrer"&gt;JavaLand in March&lt;/a&gt; or at &lt;a href="https://betterprojectsfaster.com/learn/talks-jax-2023-native-java-worth-it" rel="noopener noreferrer"&gt;JAX Mainz in May&lt;/a&gt;!&lt;/p&gt;




&lt;p&gt;Last month, I told you I had several InfoQ articles and news items in the pipeline that "should all be out before our next issue". As usual in life, things take longer. My &lt;a href="https://www.infoq.com/news/2022/11/spring-6-spring-boot-3-launch" rel="noopener noreferrer"&gt;news item on Spring Framework 6 and Spring Boot 3&lt;/a&gt; is out, as is &lt;a href="https://www.infoq.com/articles/josh-long-spring-6" rel="noopener noreferrer"&gt;my interview with Java Champion and original Spring developer advocate Josh Long&lt;/a&gt;. And my &lt;a href="https://www.infoq.com/news/2022/11/spring-modulith-launch" rel="noopener noreferrer"&gt;news item &amp;amp; interview with Oliver Drotbohm on Spring Modulith&lt;/a&gt; got published, too! As usual, I'm working on other things I hope you'll see in the next issue.&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Last month, Gradle, IntelliJ, VS Code, Spring Boot, and Quarkus had major releases. Spring Boot, Quarkus, and Micronaut also had minor releases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/release-radar" rel="noopener noreferrer"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Spring Boot 3: Java 17, Jakarta EE 9, and Native Java with GraalVM
&lt;/h3&gt;

&lt;p&gt;VMware released Spring Framework 6 and Spring Boot 3. After five years of Spring Framework 5, these releases start a new generation for the Spring ecosystem. Spring Framework 6 requires Java 17 and Jakarta EE 9 and is compatible with the recently released Jakarta EE 10. It also embeds observability through Micrometer with tracing and metrics. Spring Boot 3 requires Spring Framework 6. It has built-in support for creating native executables through static Ahead-of-Time (AOT) compilation with GraalVM Native Image.&lt;/p&gt;

&lt;p&gt;The originally planned support for the Java Platform Module System (JPMS) in Spring Framework 6 did not ship, as Spring focused on AOT compilation with GraalVM Native Image this time. It's unclear if and when Spring will support JPMS.&lt;/p&gt;

&lt;p&gt;Spring Boot 3.0 has a &lt;a href="https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide" rel="noopener noreferrer"&gt;migration guide&lt;/a&gt;. It suggests upgrading to Spring Boot 2.7 first before moving to Spring Boot 3.0.&lt;/p&gt;

&lt;p&gt;I also &lt;a href="https://www.infoq.com/articles/josh-long-spring-6" rel="noopener noreferrer"&gt;interviewed Java Champion and original Spring Developer Advocate Josh Long&lt;/a&gt; on this topic. There, Josh tells us why Spring Framework 6 took so long, why he loves reactive programming, and which Spring project he'd like to see resurrected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/11/spring-6-spring-boot-3-launch" rel="noopener noreferrer"&gt;Read my InfoQ News Item&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Spring Modulith Structures Spring Boot 3 Applications with Modules and Events
&lt;/h3&gt;

&lt;p&gt;VMware has introduced an experimental project, Spring Modulith, to better structure monolithic Spring Boot 3 applications through modules and events. Despite the name suggesting otherwise, we can use this framework for &lt;strong&gt;any&lt;/strong&gt; Spring Boot project, including microservices. I had the chance to interview the author of this Spring project for my news item.&lt;/p&gt;

&lt;p&gt;The project introduces new classes and annotations but doesn't generate code. Its modules don't use the Java Platform Module System (JPMS) but instead map to plain Java packages. Modules have an API, but Spring Modulith encourages using Spring application events as the "primary means of interaction." These events can be automatically persisted in an event log. Spring Modulith also eases the testing of modules and events.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/11/spring-modulith-launch" rel="noopener noreferrer"&gt;Read my InfoQ News Item&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  A New UI in IntelliJ 2022.3
&lt;/h3&gt;

&lt;p&gt;JetBrains &lt;a href="https://blog.jetbrains.com/idea/2022/05/take-part-in-the-new-ui-preview-for-your-jetbrains-ide/" rel="noopener noreferrer"&gt;announced a new UI&lt;/a&gt; for its products, including IntelliJ, in May this year.  Now that new UI isn't the &lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-01-new-noteworthy#jetbrains-clones-visual-studio-code---but-at-what-price" rel="noopener noreferrer"&gt;Visual Studio Code clone "Fleet"&lt;/a&gt; they announced a year ago — that's separate (though Fleet also uses the new UI). &lt;/p&gt;

&lt;p&gt;With IntelliJ 2022.3, we can now test the new UI. I took a brief look and immediately went back: Rearranging where to find the existing functionality is less appealing to me, as I know where everything is already. JetBrains held a webinar on the new UI, demoing and explaining it.&lt;/p&gt;

&lt;p&gt;The good news for people like me: The old UI will remain in IntelliJ "for at least a year after the new UI becomes the default." So we all have some time to get used to the new UI!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://youtu.be/_a-hlmbsTcE" rel="noopener noreferrer"&gt;Watch the Webinar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  A Garbage Collection Refresher
&lt;/h3&gt;

&lt;p&gt;We all know that there's garbage collection in Java so that we developers don't have to reserve and release memory manually. Wonderful! But how does that work exactly? Here are the two main ideas.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Garbage collectors do one or more of these four activities: &lt;strong&gt;Mark&lt;/strong&gt; labels all objects still in use as "live". &lt;strong&gt;Sweep&lt;/strong&gt; clears all non-live objects. &lt;strong&gt;Compact&lt;/strong&gt; brings live objects closer together, so bigger memory blocks are available. And &lt;strong&gt;copy&lt;/strong&gt; moves all live objects to a "to" space, while non-live objects remain in a "from" space.&lt;/li&gt;
&lt;li&gt;When selecting a garbage collector, you can pick at most two of three benefits: very low latency, very high throughput, and lowest CPU and memory usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The article tells us more. 😃&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.azul.com/blog/what-should-i-know-about-garbage-collection-as-a-java-developer" rel="noopener noreferrer"&gt;Read the Article&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index (Last Update: October 2022)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Eclipse is the most popular Java IDE, though it has declined over many years. IntelliJ holds up well for a commercial product: Except for job ads, it's neck-to-neck with Eclipse. 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 &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, consider moving off of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/ide" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Maven is 2.5 times as popular as Gradle, except for Stack Overflow, where Gradle is slightly ahead of Maven. Ant and sbt have declined for years.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/build" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Java is #1, Kotlin #2, and Scala #3. Java lost 20% of its job ad mentions over the last five months but still leads Scala and Kotlin and its non-JVM competitors like Python or JavaScript. Scala's recent lead in job ad mentions over Kotlin shrinks. Kotlin leads Scala in all other categories. Groovy and Clojure have mostly declined for many years.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/lang" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; MySQL is #1, Postgres #2, and MongoDB is #3. MySQL and MongoDB surged over the last three months in job ad mentions, with MySQL leading Postgres now 2:1 and MongoDB reaching 70% of Postgres' numbers.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/db" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Spring Boot remains the framework to beat and still grows in most categories. Despite a long decline, Jakarta EE leads Quarkus in all categories but questions at Stack Overflow, where Quarkus hits its all-time high. Quarkus also placed number three in job ad mentions after DropWizard's collapse, while Micronaut is number four.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/be" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React is #1, Angular #2, and Vue #3. React leads Angular 1.4:1 in job ad mentions and pulls away from Angular in developer popularity. Vue holds steady in all categories at about half of Angular's level but catches up in job ad mentions and (more slowly) in students at Udemy.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/fe-web" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React Native has 50% more apps on iOS but only leads Flutter in job ad mentions 1.5:1 after a steep decline in the last five months. Among developers, Flutter leads React Native 2:1 and pulls away (except for Google searches, where both slightly lost). Xamarin and JavaFX have generally declined for years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;Flutter&lt;/strong&gt; or &lt;strong&gt;React Native&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate migration. In many (most?) cases, such a migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have used React before, then start with &lt;strong&gt;React Native&lt;/strong&gt; first and use &lt;strong&gt;Flutter&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have &lt;strong&gt;not&lt;/strong&gt; used React, then begin with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-12/fe-mobile" rel="noopener noreferrer"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue
&lt;/h2&gt;

&lt;p&gt;The next issue will arrive on &lt;strong&gt;Wednesday, January 3, 2023&lt;/strong&gt;. It will have the &lt;strong&gt;Q1/2023&lt;/strong&gt; version of the &lt;a href="http://localhost:1313/guide/java-full-stack-report-2022-12/main/#technology-index" rel="noopener noreferrer"&gt;Technology Index&lt;/a&gt;! &lt;a href="https://bpfnl.substack.com" rel="noopener noreferrer"&gt;Subscribe to this newsletter on Substack for free&lt;/a&gt; to receive the next issue automatically!&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

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

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/" rel="noopener noreferrer"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/" rel="noopener noreferrer"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/" rel="noopener noreferrer"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/" rel="noopener noreferrer"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/" rel="noopener noreferrer"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz" rel="noopener noreferrer"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #69</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Tue, 01 Nov 2022 20:10:30 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-69-52le</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-69-52le</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Java got security patches, 7 security vulnerabilities, we are 10 million Java developers, Spring bets on Gradle, and view Devoxx Belgium talks.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/stand-up"&gt;Last month&lt;/a&gt;, I was late by three days. This month, I'm one day early. How come?&lt;/p&gt;

&lt;p&gt;I drive to Germany on November 2. Starting northwest of London in Milton Keynes, that's about a 12-13 hour drive. Maybe a bit less since our Mercedes C-Class doesn't have winter tires and can go faster than 200 km/h (124 miles/hour) on the famous German Autobahn.  😌  My wife works for Mercedes, so I'm obligated to tell you what a fine car that C-Class is. But it really is!&lt;/p&gt;

&lt;p&gt;Anyhow, we'll see my family and some of my wife's. And we spend three spa days in &lt;a href="https://www.hotel-therme-teinach.de/en/home"&gt;this beautiful hotel in the Black Forest&lt;/a&gt; before driving back to the UK. &lt;/p&gt;




&lt;p&gt;But we also make a stop in Munich for &lt;a href="https://jax.de/munich/"&gt;W-JAX Munich&lt;/a&gt;. I'll talk about &lt;a href="https://betterprojectsfaster.com/learn/talks-w-jax-2022-flutter-for-java-developers/"&gt;Google's Flutter for Java developers&lt;/a&gt; there on November 8 — again. Say hi if you see me there!&lt;/p&gt;




&lt;p&gt;I'm working on several articles and news items for InfoQ that should all be out before our next issue. &lt;a href="https://www.infoq.com/profile/Karsten-Silz/"&gt;Follow me on InfoQ&lt;/a&gt; if you can't wait to read more from me!&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Seven Security Vulnerabilities
&lt;/h3&gt;

&lt;p&gt;Usually, you have one or two vulnerabilities a month. This month, we got seven!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.infoq.com/news/2022/10/git-clone-shell-vulnerabilities"&gt;Two Git vulnerabilities&lt;/a&gt;: We can upgrade Git to the latest version, 2.38.1, to fix this. Older, patched versions are 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3, or 2.37.4.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.docker.com/blog/security-advisory-cve-2022-42889-text4shell"&gt;Text4Shell vulnerability in Apache Commons Text&lt;/a&gt;: We need to upgrade to  Apache Commons Text 1.10.0.&lt;/li&gt;
&lt;li&gt;Two Spring Security vulnerabilities: There are two - &lt;a href="https://spring.io/blog/2022/10/31/cve-2022-31690-privilege-escalation-in-spring-security-oauth2-client"&gt;here&lt;/a&gt; and &lt;a href="https://spring.io/blog/2022/10/31/cve-2022-31692-authorization-rules-can-be-bypassed-via-forward-or-include-in-spring-security"&gt;here&lt;/a&gt;. To fix both, we need either Spring Security 5.6.9 or 5.7.5.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://tanzu.vmware.com/security/cve-2022-31684"&gt;Reactor Netty vulnerability&lt;/a&gt;: Frameworks like &lt;a href="https://spring.io/blog/2022/10/20/cve-2022-31684-reactor-netty-http-server-may-log-request-headers"&gt;Spring WebFlux and its WebClient&lt;/a&gt; use Reactor Netty. We need to upgrade to version 1.0.24.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.checkpoint.com/2022/10/30/openssl-gives-heads-up-to-critical-vulnerability-disclosure-check-point-alerts-organizations-to-prepare-now/"&gt;OpenSSL vulnerability&lt;/a&gt;: If our projects use OpenSSL 3.0 - 3.0.5, then we need to upgrade to version 3.0.7 from November 1, 2022.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  We are 10 Million Java Developers
&lt;/h3&gt;

&lt;p&gt;I heard both 10 million and 12 million as the number of Java developers before. But now Oracle made it official at Java One by putting in on a slide: We are 10 million! It's just too bad that we came in at the lower end of the range. 😩&lt;/p&gt;

&lt;p&gt;In related news, there are &lt;a href="https://youtu.be/o14wGByBRAQ?t=705"&gt;5 million Kotlin developers&lt;/a&gt;, according to Google. Most of them are on Android, though, not on the server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://youtu.be/4hUbmI0nplU?t=165"&gt;See Oracle's Slide&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Spring Bets On Gradle
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://start.spring.io"&gt;Spring Initializr&lt;/a&gt; lets us create Spring Boot projects easily. It now creates projects with Gradle by default instead of Maven.&lt;/p&gt;

&lt;p&gt;Now that doesn't influence our existing projects. What does, at least indirectly, is Spring's reason: "Gradle is the future of build tools for Spring." The GitHub issue below has a detailed list of reasons why they think Gradle is better for Spring.&lt;/p&gt;

&lt;p&gt;So if you're a Gradle fan — rejoice! If you're a Maven fan — relax, you still &lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/build/#employers-job-ads"&gt;lead Gradle by 2-3x&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I like Gradle for its brevity (compared to the "XML-ness" of Maven) and easy customization through code right in the build file. I don't like how my build files sometimes break with new Gradle releases, though this seems to happen less. But that could be just my bias!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/spring-io/start.spring.io/issues/1012"&gt;See the GitHub Issue&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ArchUnit Verifies Code Organization
&lt;/h3&gt;

&lt;p&gt;In Java, a public class is visible to all other classes. So how do we enforce rules like "Classes from the data repository package shouldn't access classes in the controller package"? With ArchUnit!&lt;/p&gt;

&lt;p&gt;ArchUnit has a Domain-Specific Language (DSL) that lets us encode the above rule:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ArchRule rule = noClasses().that()
  .resideInAPackage("..repository..")
  .should().dependOnClassesThat()
  .resideInAPackage("..controller..");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then, we can write JUnit tests that fail when somebody's code violates the above rule.&lt;/p&gt;

&lt;p&gt;The project has been around since 2017 and released version 1.0 in October. &lt;a href="https://spring.io/blog/2022/10/21/introducing-spring-modulith"&gt;Spring Modulith&lt;/a&gt; uses it to verify its module structure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/10/archunit"&gt;Read the News&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  View Talks from Devoxx Belgium
&lt;/h3&gt;

&lt;p&gt;"Devoxx is a conference by developers, for developers." True that! Now the original Devoxx conference comes from Belgium. It just took place again for the 19th time. And the talks &lt;a href="https://www.youtube.com/playlist?list=PLRsbF2sD7JVolUH45EkGXsT-3spU7cqnS"&gt;are all on YouTube, too&lt;/a&gt;. Now for the more text-oriented readers, the button below shows talks &amp;amp; abstracts, but the videos are included, too.&lt;/p&gt;

&lt;p&gt;James Gosling, the father of Java, &lt;a href="https://youtu.be/NtrF_SiFQag"&gt;talked about IoT there&lt;/a&gt;. Now he's an experienced speaker. So I was a bit surprised to see that, apparently, he still got the jitters: His Apple Watch &lt;a href="https://www.flickr.com/photos/bejug/52441233379/in/album-72177720303027621/"&gt;showed a workout during his talk&lt;/a&gt;! 😃&lt;/p&gt;

&lt;p&gt;The UK version last May was terrific, too! &lt;a href="https://www.devoxx.co.uk/talks-by-tracks/"&gt;Most of the talks&lt;/a&gt; are on YouTube. They're six months old by now. But I think most hold up well!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://devoxx.be/schedule/talks-by-sessions"&gt;View Talks &amp;amp; Sessions&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  GoF Design Patterns, Functional Style
&lt;/h3&gt;

&lt;p&gt;Remember the design patterns craze in the late 90s and early 2000s? The book by the "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides) started it all nearly 30 years ago. &lt;a href="https://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_type"&gt;Its patterns&lt;/a&gt; are still in use today: Builder, singleton, facade, proxy, iterator, and so on.&lt;/p&gt;

&lt;p&gt;The book had sample code in C++ and Smalltalk. Now the patterns have long been translated into Java. But the one &amp;amp; only Venkat Subramaniam recently showed what some of these patterns look like in Java in more functional Java. &lt;/p&gt;

&lt;p&gt;Here's a traditional iterator implementation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int count = 0;
for(var name: names) {
   if(name.length() == 4) {
     System.out.println(name.toUpperCase());
     count++;

     if(count == 2) {
        break;
     }
   }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And here it is in a functional style:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;names.stream()
     .filter(name -&amp;gt; name.length() == 4)
     .map(String::toUpperCase)
     .limit(2)
     .forEach(System.out::println);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Slick, isn't it? So read the article for other examples. Or brush up on the original patterns!&lt;/p&gt;

&lt;p&gt;Side note: You know you're old if you think of Erich Gamma as the "Eclipse guy", not the "VS Code guy". 😒 &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/10/modern-java-design-patterns"&gt;Read the News&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Git and all frameworks — Spring Boot, Quarkus, Micronaut, DropWizard, and Helidon — had minor releases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/release-radar"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index (Last Update: October 2022)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why Popularity - and How?
&lt;/h3&gt;

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

&lt;p&gt;I measure popularity among employers and developers as the &lt;strong&gt;trend&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-index-popularity"&gt;Explain Popularity&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Eclipse is the most popular Java IDE, though it has declined over many years. IntelliJ holds up well for a commercial product: Except for job ads, it's neck-to-neck with Eclipse. 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 &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, consider moving off of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/ide"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Maven is 2.5 times as popular as Gradle, except for Stack Overflow, where Gradle is slightly ahead of Maven. Ant and sbt have declined for years.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/build"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Java is #1, Kotlin #2, and Scala #3. Java lost 20% of its job ad mentions over the last five months but still leads Scala and Kotlin and its non-JVM competitors like Python or JavaScript. Scala's recent lead in job ad mentions over Kotlin shrinks. Kotlin leads Scala in all other categories. Groovy and Clojure have mostly declined for many years.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/lang"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; MySQL is #1, Postgres #2, and MongoDB is #3. MySQL and MongoDB surged over the last three months in job ad mentions, with MySQL leading Postgres now 2:1 and MongoDB reaching 70% of Postgres' numbers.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/db"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Spring Boot remains the framework to beat and still grows in most categories. Despite a long decline, Jakarta EE leads Quarkus in all categories but questions at Stack Overflow, where Quarkus hits its all-time high. Quarkus also placed number three in job ad mentions after DropWizard's collapse, while Micronaut is number four.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/be"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React is #1, Angular #2, and Vue #3. React leads Angular 1.4:1 in job ad mentions and pulls away from Angular in developer popularity. Vue holds steady in all categories at about half of Angular's level but catches up in job ad mentions and (more slowly) in students at Udemy.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/fe-web"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React Native has 50% more apps on iOS but only leads Flutter in job ad mentions 1.5:1 after a steep decline in the last five months. Among developers, Flutter leads React Native 2:1 and pulls away (except for Google searches, where both slightly lost). Xamarin and JavaFX have generally declined for years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;Flutter&lt;/strong&gt; or &lt;strong&gt;React Native&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate migration. In many (most?) cases, such a migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have used React before, then start with &lt;strong&gt;React Native&lt;/strong&gt; first and use &lt;strong&gt;Flutter&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have &lt;strong&gt;not&lt;/strong&gt; used React, then begin with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-11/fe-mobile"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue: Wednesday, December 7, 2022
&lt;/h2&gt;

&lt;p&gt;Thanks for reading this issue of “How to Build Java Applications Today“! &lt;a href="https://bpfnl.substack.com"&gt;Subscribe to it on Substack for free&lt;/a&gt; to receive the next issue automatically! My newsletter is published on the first Wednesday of every month. &lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

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

&lt;p&gt;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 "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #68</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Sat, 08 Oct 2022 14:54:24 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-68-5e5g</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-68-5e5g</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Java 19 arrived, Java lost 20% of job ads recently, Quarkus &amp;amp; Micronaut now #3 &amp;amp; #4 in job ads, Spring Boot 3 ships in November &amp;amp; delays Java Module support, and Jakarta EE adds features for the first time in 5 years.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;I did it again: For the second time in the history of this newsletter, an issue is late. Why did this issue go out three days later than planned? &lt;/p&gt;

&lt;p&gt;I just attended &lt;a href="https://jaxlondon.com/"&gt;JAX London&lt;/a&gt; and gave two talks there (&lt;a href="https://betterprojectsfaster.com/learn/talks-jax-london-2022-talks-w-jax-2021-jhipster-pick-technologies-faster/"&gt;here&lt;/a&gt; and &lt;a href="https://betterprojectsfaster.com/learn/talks-jax-london-2022-flutter-for-java-developers/"&gt;here&lt;/a&gt;). So I planned to do most of the newsletter writing the week before the conference, but there my day job took priority. 😔&lt;/p&gt;

&lt;p&gt;And then this is an issue where I do my quarterly popularity update. This takes a couple of days. I do collect data for the job and Udemy learners each month, but I only update the 38 charts once a quarter. This time, I also added a new data point (&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/fe-mobile/#installed-base"&gt;market share of mobile frameworks in the installed base&lt;/a&gt;). And some of the existing charts saw improvements: The Google search charts now always have the current values above the chart and peak values below it, some of the Google search charts now go back three years instead of two, and some of the job ad charts now have all the data in one chart instead of two (like &lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/lang/#employers-job-ads"&gt;the JVM language one&lt;/a&gt;).&lt;/p&gt;




&lt;p&gt;With JAX London behind me, I got one more conference ahead of me: &lt;a href="https://jax.de/munich/"&gt;W-JAX Munich&lt;/a&gt;. I'll talk about &lt;a href="https://dev.to/learn/talks-w-jax-2022-flutter-for-java-developers/"&gt;Google's Flutter for Java developers&lt;/a&gt; on Nov 8 — again. Say hi if you see me there!&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index (Last Updated October 2022)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why Popularity - and How?
&lt;/h3&gt;

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

&lt;p&gt;I measure popularity among employers and developers as the &lt;strong&gt;trend&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-index-popularity"&gt;Explain Popularity&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Eclipse is the most popular Java IDE, though it has declined over many years. IntelliJ holds up well for a commercial product: Except for job ads, it's neck-to-neck with Eclipse. 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 &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, consider moving off of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/ide"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Maven is 2.5 times as popular as Gradle, except for Stack Overflow, where Gradle is slightly ahead of Maven. Ant and sbt have declined for years.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/build"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Java is #1, Kotlin #2, and Scala #3. Java lost 20% of its job ad mentions over the last five months but still leads Scala and Kotlin and its non-JVM competitors like Python or JavaScript. Scala's recent lead in job ad mentions over Kotlin shrinks. Kotlin leads Scala in all other categories. Groovy and Clojure have mostly declined for many years.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/lang"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; MySQL is #1, Postgres #2, and MongoDB is #3. MySQL and MongoDB surged over the last three months in job ad mentions, with MySQL leading Postgres now 2:1 and MongoDB reaching 70% of Postgres' numbers.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/db"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Spring Boot remains the framework to beat and still grows in most categories. Despite a long decline, Jakarta EE leads Quarkus in all categories but questions at Stack Overflow, where Quarkus hits its all-time high. Quarkus also placed number three in job ad mentions after DropWizard's collapse, while Micronaut is number four.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/be"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React is #1, Angular #2, and Vue #3. React leads Angular 1.4:1 in job ad mentions and pulls away from Angular in developer popularity. Vue holds steady in all categories at about half of Angular's level but catches up in job ad mentions and (more slowly) in students at Udemy.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/fe-web"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React Native has 50% more apps on iOS but only leads Flutter in job ad mentions 1.5:1 after a steep decline in the last five months. Among developers, Flutter leads React Native 2:1 and pulls away (except for Google searches, where both slightly lost). Xamarin and JavaFX have generally declined for years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;Flutter&lt;/strong&gt; or &lt;strong&gt;React Native&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate migration. In many (most?) cases, such a migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have used React before, then start with &lt;strong&gt;React Native&lt;/strong&gt; first and use &lt;strong&gt;Flutter&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have &lt;strong&gt;not&lt;/strong&gt; used React, then begin with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/fe-mobile"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What's New In Java 19
&lt;/h3&gt;

&lt;p&gt;Java 19 landed on September 20 with 7 Java Enhancement Proposals (JEP). The two most exciting JEPs are about Project Loom — see the following news item.&lt;/p&gt;

&lt;p&gt;Of the remaining five JEPs, the two about records have the broadest appeal. Here's a sample from &lt;a href="https://openjdk.org/jeps/405"&gt;JEP 405&lt;/a&gt;, which allows access to the record fields in an &lt;code&gt;instanceof&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;record Point(int x, int y) {}

static void printSum(Object o) {
  if (o instanceof Point(int x, int y)) {
    System.out.println(x+y);
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And here's a shortened example from &lt;a href="https://openjdk.org/jeps/427"&gt;JEP 427&lt;/a&gt; about using records in a &lt;code&gt;switch&lt;/code&gt; statement:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;record Point(int i, int j) {}

static void typeTester(Object o) {
  switch (o) {
    case Point p -&amp;gt; System.out.println("Record class: " + p.toString());
    default      -&amp;gt; System.out.println("Something else");
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The other three JEPs are low-level features: a port to RISC-V and updates to the Foreign Function &amp;amp; Memory API and the Vector API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/09/java19-released"&gt;Read the News Item&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Virtual Threads from Project Loom Explained
&lt;/h3&gt;

&lt;p&gt;Project Loom reinvents Java concurrency with a lightweight implementation of Java threads. They dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications so that a "thread-per-request" programming style becomes viable again. Virtual threads are supposed to be easy to troubleshoot, debug, and profile. &lt;/p&gt;

&lt;p&gt;So at least partially, Project Loom is on a collision course with reactive programming that has become popular recently (e.g., &lt;a href="https://spring.io/reactive"&gt;Spring&lt;/a&gt;, &lt;a href="https://quarkus.io/guides/getting-started-reactive"&gt;Quarkus&lt;/a&gt;, and &lt;a href="https://helidon.io/docs/v3/#/about/introduction#_what_flavor_shall_i_use"&gt;Helidon&lt;/a&gt;). Or, in the words of Oracle's Java Language Architect Brian Goetz, "&lt;a href="https://bpfnl.substack.com/i/40094099/will-project-loom-kill-reactive-programming"&gt;Project Loom will kill reactive programming&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;We can use virtual threads easily in Java 19:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var executor = Executors.newVirtualThreadPerTaskExecutor();
executor.submit(() -&amp;gt; { // do something here };
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/articles/java-virtual-threads"&gt;Read the Article&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Spring Boot 3 Ships November 2022 And Delays Java Module Support
&lt;/h3&gt;

&lt;p&gt;We guessed that Spring Boot 3 (and Spring Framework 6) would ship by the time the &lt;a href="https://springone.io/"&gt;Spring One conference&lt;/a&gt; starts (Dec 6–8, 2022). Now we know the planned release date for good: It's the end of November, as revealed by Spring Staff 2 Engineer Oliver Drotbohm in his &lt;a href="https://jaxlondon.com/java-core-jvm-languages/spring-boot-3-and-spring-framework-6-a-new-generation"&gt;talk at JAX London&lt;/a&gt;. You know, that JAX London where I gave two talks (about &lt;a href="https://betterprojectsfaster.com/learn/talks-jax-london-2022-flutter-for-java-developers/"&gt;Flutter&lt;/a&gt; and &lt;a href="https://betterprojectsfaster.com/learn/talks-jax-london-2022-jhipster-pick-technologies-faster/"&gt;JHipster&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;And we also now know that Spring Boot 3 (and Spring Framework 6, on which it is based) won't support Java Modules. Maybe later it will. Why? Because VMware focuses on native Java with GraalVM. And because "there have been very few requests for it". Ouch...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/10/spring-boot-3-jax-london"&gt;Read My News Item&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Jakarta EE 10 Adds New Features for the First Time in Five Years
&lt;/h3&gt;

&lt;p&gt;After five years, Jakarta EE (formerly known as "Java Enterprise Edition" or "Java EE") has finally added new features. Yes, &lt;a href="https://en.wikipedia.org/wiki/Jakarta_EE#History"&gt;Java EE 8 from August 2017&lt;/a&gt; was the last time they did: &lt;strong&gt;Jakarta&lt;/strong&gt; EE 8 was a re-release in the Eclipse infrastructure, Jakarta EE 9 just moved to the &lt;code&gt;jakarta&lt;/code&gt; namespace, and Jakarta EE 9.1 added compatibility for Java 11. So, what's new? Here are the highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java 11 is the new baseline, but Java 17 is also supported.&lt;/li&gt;
&lt;li&gt;There's a new &lt;code&gt;@Asynchronous&lt;/code&gt; annotation — - think &lt;code&gt;@Async&lt;/code&gt; from Spring.&lt;/li&gt;
&lt;li&gt;Jakarta Persistence got "new functions to the Query Language and Criteria API". &lt;/li&gt;
&lt;li&gt;Jakarta Security can now use &lt;a href="https://en.wikipedia.org/wiki/OpenID#OpenID_Connect_(OIDC)"&gt;OpenID Connect&lt;/a&gt;, which most social platforms use.&lt;/li&gt;
&lt;li&gt;REST services can now run outside of a Jakarta EE environment (e.g., in a unit test). Jakarta EE 10 also includes multipart from data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/09/jakarta-ee-10-updates"&gt;Read the Article&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  My Short Interview with the Helidon Lead
&lt;/h3&gt;

&lt;p&gt;Helidon 3.0 launched at the end of July. My news item about the launch was later. But I got to ask the Helidon project lead, Dmitry Kornilov, some questions. He thinks about 30% of all users choose the reactive programming model. You know, the one that Project Loom wants to kill (see item "Virtual Threads from Project Loom Explained" above). And Dmitry says Helidon has better dependency injection when running in native Java with GraalVM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.infoq.com/news/2022/09/helidon-3-0"&gt;Read My News Item&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Java 11, 17, and 18 had patches in August. While Quarkus, Micronaut, NetBeans, and VS Code had major releases, Gradle, Git, Spring Boot, Helidon, and IntelliJ had minor ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-10/release-radar"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue: Wednesday, November 2, 2022
&lt;/h2&gt;

&lt;p&gt;Thanks for reading this issue of “How to Build Java Applications Today“! &lt;a href="https://bpfnl.substack.com"&gt;Subscribe to it on Substack for free&lt;/a&gt; to receive the next issue automatically! My newsletter is published on the first Wednesday of every month. &lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;Karsten Silz is the author of this newsletter. He is a full-stack web &amp;amp; mobile developer (Spring Boot, Angular, Flutter) with 23 years of Java experience, author, speaker, and marathon runner. Karsten got a Master's degree in Computer Science at the Dresden University of Technology (Germany) in 1996.&lt;/p&gt;

&lt;p&gt;Karsten has worked in Europe and the US. He co-founded a software start-up in the US in 2004. Karsten led product development for 13 years and left after the company was sold successfully. He co-founded the UK SaaS start-up "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2019, Karsten also works as a contractor in the UK.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>bpf</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #67</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 07 Sep 2022 11:19:06 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-67-2aa8</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-67-2aa8</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;See me talk at JAX London, I interviewed James Ward for InfoQ, Java patch updates, major releases for Quarkus, Micronaut, NetBeans, and VS Code, and developers decide the software architecture with the "Advice Process".&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;See me at JAX London next month, I interviewed James Ward for InfoQ, Release Radar improved, and I ran a slow marathon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/stand-up"&gt;Read Stand-Up&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Java 11, 17, and 18 had patches in August. While Quarkus, Micronaut, NetBeans, and VS Code had major releases, Gradle, Git, Spring Boot, Helidon, and IntelliJ had minor ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/release-radar"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;p&gt;Java Champion James Ward on the state of Java and JVM Languages, IEEE’s annual top programming languages 2022, and developers decide the software architecture with the “Advice Process”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/new-noteworthy"&gt;Read New &amp;amp; Noteworthy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why Popularity - and How?
&lt;/h3&gt;

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

&lt;p&gt;I measure popularity among employers and developers as the &lt;strong&gt;trend&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-index-popularity"&gt;Explain Popularity&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Eclipse is the most popular Java IDE, though it has declined over many years. IntelliJ holds up well for a commercial product: Except for job ads, it's neck-to-neck with Eclipse. NetBeans has slipped into irrelevancy. VS Code isn't a fully fledged Java IDE, but - apart from jobs - it's 3-4 times as popular as Eclipse &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, move off of it - everybody else has (this is only a slight exaggeration).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/ide"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Maven is 2.5-3.5 times as popular as Gradle, except for Stack Overflow, where both are neck-to-neck. Ant and sbt have both declined for years.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/build"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Java is #1, Kotlin #2, and Scala #3. Java leads Kotlin by an order of magnitude in job ad mentions, Udemy students, and Google searches. In questions at Stack Overflow, Java leads 5:1. Scala surpassed Kotlin in job ad mentions.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/lang"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; MySQL is #1 and Postgres #2, beating MongoDB in three out of four categories (it's neck-to-neck in Google searches and questions at Stack Overflow). All databases lost to Postgres in job ad mentions last month.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/db"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Spring Boot remains the framework to beat and still grows in most categories. Despite a long decline, Jakarta EE leads Quarkus in all categories but questions at Stack Overflow, where Quarkus hits its all-time high. Quarkus also placed number three in job ad mentions after DropWizard's collapse.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/be"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React is #1, Angular #2, and Vue #3. React leads Angular 1.4:1 in job ad mentions and pulls away from Angular in developer popularity. Vue holds steady in all categories at about half of Angular's level.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/fe-web"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React Native and Flutter are back to their March levels of job ad mentions, so React Native leads Flutter 2:1 again. But among developers, Flutter leads in all categories and is pulling away from React Native.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;Flutter&lt;/strong&gt; or &lt;strong&gt;React Native&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate migration. In many (most?) cases, such a migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have used React before, then start with &lt;strong&gt;React Native&lt;/strong&gt; first and use &lt;strong&gt;Flutter&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have &lt;strong&gt;not&lt;/strong&gt; used React, then begin with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-09/fe-mobile"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue: Wednesday, October 5, 2022
&lt;/h2&gt;

&lt;p&gt;Thanks for reading this issue of “How to Build Java Applications Today“! &lt;a href="https://bpfnl.substack.com"&gt;Subscribe to it on Substack for free&lt;/a&gt; to receive the next issue automatically! My newsletter is published on the first Wednesday of every month. &lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;Karsten Silz is the author of this newsletter. He is a full-stack web &amp;amp; mobile developer (Spring Boot, Angular, Flutter) with 23 years of Java experience, author, speaker, and marathon runner. Karsten got a Master's degree in Computer Science at the Dresden University of Technology (Germany) in 1996.&lt;/p&gt;

&lt;p&gt;Karsten has worked in Europe and the US. He co-founded a software start-up in the US in 2004. Karsten led product development for 13 years and left after the company was sold successfully. He co-founded the UK SaaS start-up "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2019, Karsten also works as a contractor in the UK.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;This month in "How to Build Java Applications Today": Technology Index on the front page, Java patch updates, major releases for Gradle and IntelliJ, Microsoft joins Jakarta EE and MicroProfile Working Groups, and maybe give up GitHub.&lt;/p&gt;

</description>
      <category>java</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #66</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 03 Aug 2022 11:02:20 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-66-m13</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-66-m13</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Technology Index on the front page, Java patch updates, major releases for Gradle and IntelliJ, Microsoft joins Jakarta EE and MicroProfile Working Groups, and maybe give up GitHub.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it for free on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;Technology Index on the front page, less work for me, and my second marathon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/stand-up"&gt;Read Stand-Up&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Java had Critical Patch Updates (CPU) in July. While Gradle, Quarkus, IntelliJ, and VS Code had major releases, Git, Spring Boot, Quarkus, and Micronaut had minor ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/release-radar"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;p&gt;Microsoft joins Jakarta EE and MicroProfile Working Groups, and maybe give up GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/new-noteworthy"&gt;Read New &amp;amp; Noteworthy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why Popularity - and How?
&lt;/h3&gt;

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

&lt;p&gt;I measure popularity among employers and developers as the &lt;strong&gt;trend&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-index-popularity"&gt;Explain Popularity&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  IDEs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Eclipse is the most popular Java IDE, though it has declined over many years. IntelliJ holds up well for a commercial product: Except for job ads, it's neck-to-neck with Eclipse. NetBeans has slipped into irrelevancy. VS Code isn't a fully fledged Java IDE, but - apart from jobs - it's 3-4 times as popular as Eclipse &amp;amp; IntelliJ.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;don't want&lt;/strong&gt; to spend money, then use &lt;strong&gt;Eclipse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you &lt;strong&gt;may&lt;/strong&gt; spend money, evaluate &lt;strong&gt;IntelliJ&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluate &lt;strong&gt;VS Code&lt;/strong&gt; for non-Java work, like web development (I use it for all my websites).&lt;/li&gt;
&lt;li&gt;If you're using &lt;strong&gt;NetBeans&lt;/strong&gt;, move off of it - everybody else has (this is only a slight exaggeration).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/ide"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Build Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Maven is 2.5-3.5 times as popular as Gradle, except for Stack Overflow, where both are neck-to-neck. Ant and sbt have both declined for years.&lt;/li&gt;
&lt;li&gt;If you use Scala, then use &lt;strong&gt;sbt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, if you absolutely cannot stand XML files and/or need to customize your build heavily, then use &lt;strong&gt;Gradle&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Maven&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/build"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  JVM Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Java is #1, Kotlin #2, and Scala #3. Java leads Kotlin by an order of magnitude in job ad mentions, Udemy students, and Google searches. In questions at Stack Overflow, Java leads 5:1. Scala surpassed Kotlin in job ad mentions.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing language&lt;/strong&gt; unless that language is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch languages or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Scala&lt;/strong&gt; if you need functional programming.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Kotlin&lt;/strong&gt; if you really need a "more modern Java".&lt;/li&gt;
&lt;li&gt;Otherwise, use the &lt;strong&gt;latest Java LTS version&lt;/strong&gt; you, your team, and your application can take.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/lang"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Databases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; MySQL is #1 and Postgres #2, beating MongoDB in three out of four categories (it's neck-to-neck in Google searches and questions at Stack Overflow). All databases lost to Postgres in job ad mentions last month.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing database&lt;/strong&gt; unless that database is absolutely, irrevocably, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch databases or are on a new project:

&lt;ul&gt;
&lt;li&gt;If you know that you'll need the NoSQL features and/or scalability, and you can't get this with MySQL, then use &lt;strong&gt;MongoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;MySQL&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/db"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Back-End Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; Spring Boot remains the framework to beat and still grows in most categories. Despite a long decline, Jakarta EE leads Quarkus in all categories but questions at Stack Overflow, where Quarkus hits its all-time high. Quarkus also placed number three in job ad mentions after DropWizard's collapse.&lt;/li&gt;
&lt;li&gt;On your current project, &lt;strong&gt;keep your existing back-end framework&lt;/strong&gt; unless that framework is absolutely, really not working out for you.&lt;/li&gt;
&lt;li&gt;If you need to switch back-end frameworks or are on a new project:

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Quarkus&lt;/strong&gt; if you need the smallest possible, fastest-starting Java application &lt;strong&gt;now&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, use &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/be"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Web Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React is #1, Angular #2, and Vue #3. React leads Angular 1.4:1 in job ad mentions and pulls away from Angular in developer popularity. Vue holds steady in all categories at about half of Angular's level.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Angular&lt;/strong&gt;, or &lt;strong&gt;Vue&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate a migration. In many (most?) cases, such migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate, then start with &lt;strong&gt;React&lt;/strong&gt; first, &lt;strong&gt;Angular&lt;/strong&gt; otherwise, and finally &lt;strong&gt;Vue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/fe-web"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;




&lt;h3&gt;
  
  
  Mobile App Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Popularity trend:&lt;/strong&gt; React Native and Flutter are back to their March levels of job ad mentions, so React Native leads Flutter 2:1 again. But among developers, Flutter leads in all categories and is pulling away from React Native.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't&lt;/strong&gt; build two separate applications with Apple's and Google's &lt;strong&gt;first-party&lt;/strong&gt; frameworks. Use a &lt;strong&gt;cross-platform&lt;/strong&gt; framework instead.&lt;/li&gt;
&lt;li&gt;If you already use &lt;strong&gt;Flutter&lt;/strong&gt; or &lt;strong&gt;React Native&lt;/strong&gt; in your project, then keep using them. Otherwise, evaluate migration. In many (most?) cases, such a migration doesn't make business sense.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have used React before, then start with &lt;strong&gt;React Native&lt;/strong&gt; first and use &lt;strong&gt;Flutter&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;li&gt;If you start a new project or migrate and have &lt;strong&gt;not&lt;/strong&gt; used React, then begin with &lt;strong&gt;Flutter&lt;/strong&gt; first and use &lt;strong&gt;React Native&lt;/strong&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-08/fe-mobile"&gt;Show Popularity &amp;amp; Details&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue: Wednesday, September 7, 2022
&lt;/h2&gt;

&lt;p&gt;Thanks for reading this issue of “How to Build Java Applications Today“! &lt;a href="https://bpfnl.substack.com"&gt;Subscribe to it on Substack for free&lt;/a&gt; to receive the next issue automatically! My newsletter is published on the first Wednesday of every month. &lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;Karsten Silz is the author of this newsletter. He is a full-stack web &amp;amp; mobile developer (Spring Boot, Angular, Flutter) with 23 years of Java experience, author, speaker, and marathon runner. Karsten got a Master's degree in Computer Science at the Dresden University of Technology (Germany) in 1996.&lt;/p&gt;

&lt;p&gt;Karsten has worked in Europe and the US. He co-founded a software start-up in the US in 2004. Karsten led product development for 13 years and left after the company was sold successfully. He co-founded the UK SaaS start-up "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2019, Karsten also works as a contractor in the UK.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>bpf</category>
    </item>
    <item>
      <title>How to Build Java Applications Today #65</title>
      <dc:creator>Karsten Silz</dc:creator>
      <pubDate>Wed, 06 Jul 2022 19:20:46 +0000</pubDate>
      <link>https://dev.to/ksilz/how-to-build-java-applications-today-65-4934</link>
      <guid>https://dev.to/ksilz/how-to-build-java-applications-today-65-4934</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;I cover IDEs &amp;amp; build tools, I measure Java's popularity vs. non-JVM languages, Scala beats Kotlin in job ad mentions, Spring Data MongoDB vulnerability, Kotlin roadmap, Stack Overflow Developer Survey 2022.&lt;/p&gt;




&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then &lt;a href="https://bpfnl.substack.com"&gt;subscribe to it on Substack&lt;/a&gt;! Or read it on &lt;a href="https://dev.to/ksilz/series/11995"&gt;dev.to&lt;/a&gt; or &lt;a href="https://ksilz.medium.com"&gt;Medium&lt;/a&gt;. Even better: Share it with people who are interested!&lt;/p&gt;




&lt;h2&gt;
  
  
  Stand-Up
&lt;/h2&gt;

&lt;p&gt;I now cover IDEs &amp;amp; build tools, I also measure the popularity of Java vs. Python, JavaScript, C#, and Go, and the Technology Index will only be updated quarterly now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-07/stand-up"&gt;Read Stand-Up&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Technology Index
&lt;/h2&gt;

&lt;p&gt;I recommend IDEs, build tools, JVM languages, databases, back-end frameworks, web frameworks, and mobile app frameworks. This report is different because it measures popularity by observing all Java developers: job ads from 62 countries, online training students, Stack Overflow questions, and Google searches. My recommendations are based on that popularity, industry analysis, and my 23 years of Java experience. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Popularity trends in job ad mentions:&lt;/strong&gt; Scala surpassed Kotlin. All databases lost to Postgres last month. Quarkus is number three after DropWizard’s collapse. And everybody lost to the mobile app framework Flutter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-07/the-index"&gt;Read the Technology Index&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Release Radar
&lt;/h2&gt;

&lt;p&gt;Eclipse, NetBeans, and VS Code had major releases in June 2022, as did Git and Quarkus. Maven, Spring Boot, Quarkus, Micronaut, DropWizard, and IntelliJ had minor ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-07/release-radar"&gt;Read the Release Radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New &amp;amp; Noteworthy
&lt;/h2&gt;

&lt;p&gt;Spring Data MongoDB vulnerability, Kotlin Roadmap, Stack Overflow Developer Survey 2022, and what is OpenJDK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://betterprojectsfaster.com/guide/java-full-stack-report-2022-07/new-noteworthy"&gt;Read New &amp;amp; Noteworthy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Issue: Wednesday, August 3, 2022
&lt;/h2&gt;

&lt;p&gt;My newsletter is published on the first Wednesday of every month.&lt;/p&gt;




&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;Karsten Silz is the author of this newsletter. He is a full-stack web &amp;amp; mobile developer with 23 years of Java experience, author, speaker, and marathon runner. Karsten got a Master's degree in Computer Science at the Dresden University of Technology (Germany) in 1996.&lt;/p&gt;

&lt;p&gt;Karsten has worked in Europe and the US. He co-founded a software start-up in the US in 2004. Karsten led product development for 13 years and left after the company was sold successfully. He co-founded the UK SaaS start-up "&lt;a href="https://yourhomeingoodhands.co.uk/"&gt;Your Home in Good Hands&lt;/a&gt;" as CTO in 2020. Since 2019, Karsten also works as a contractor in the UK.&lt;/p&gt;

&lt;p&gt;Karsten has &lt;a href="https://bpfnl.substack.com/"&gt;this newsletter&lt;/a&gt;, a &lt;a href="https://betterprojectsfaster.com/"&gt;developer website&lt;/a&gt;, and a &lt;a href="https://ksilz.com/"&gt;contractor site&lt;/a&gt;. He's on &lt;a href="https://www.linkedin.com/in/ksilz/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/karsilz"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.xing.com/profile/Karsten_Silz/"&gt;Xing&lt;/a&gt;, and &lt;a href="https://github.com/ksilz"&gt;GitHub&lt;/a&gt;. Karsten is also a &lt;a href="https://www.infoq.com/profile/Karsten-Silz"&gt;Java editor at InfoQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>bpf</category>
    </item>
  </channel>
</rss>
