Contents

Comparison of Java native frameworks in terms of community aspects

Piotr Dudziński

02 May 2023.6 minutes read

Comparison of Java native frameworks in terms of community aspects webp image

In this article of our series „Comparison of Java Frameworks”, we will try to evaluate Micronaut and Quarkus frameworks in terms of community strength. The following guide explains what non-technical factors should be researched when deciding which technology to use.

For whom is this blog post?

We recommend it to those considering choosing one of Spring's alternatives, i.e., Quarkus or Micronaut but are wondering what is better to invest in in the long run, disregarding technical details. In addition, below, we show what non-technical aspects we should pay attention to when choosing any other dependencies for our application.

Why should we consider the community aspects of frameworks?

First, let's try to talk about why we should research the community before attaching any dependency to our software. There are a few factors that may be helpful:

  • Who are the authors? Authors with good reputations increase the chance of a higher feeling of responsibility for a provided tool, which may determine more extended support.
  • How frequently are the patches released? If your potential new dependency had its last release version a few years ago, it might be a signal that it is not the best choice, and you're getting into trouble.
  • How does the process of resolving issues look? Suppose the framework has many old problems in the repository (e.g. Github) without any response from maintainers. In that case, it may mean that you will have a similar situation in case of some problems while using it.
  • How many developers use it, and how many organizations have applied it to their products? Wide usage by developers of a given tool increases the chances of finding a solution to a specific problem you have just encountered or getting a quick response to your query, e.g., in StackOverflow, which is a great advantage when you can't find any solution in the official documentation.

So how can we evaluate it? Let's measure it!

We used a couple of selected metrics for this purpose that may describe frameworks from other than technical points of view. The data for the analysis below was collected in April 2023.

GitHub metrics

First, let's take a look at the data in the GitHub repositories of these individual frameworks:

image5

micronaut-corequarkus
number of stars560011600
number of opened issues4972004
number of closed issues280111149
ratio of closed/opened issues5,635,56

At first glance, you can see that in all GitHub metrics, Quarkus took the lead, and the second place belongs to Micronaut. Quarkus has twice as many stars as a Micronaut, which is widely recognized as an expression of appreciation to the repository's maintainer for their work. The interesting metrics are the number of open and closed issues and their ratio. The last one is very similar, suggesting that the maintainers of Quarkus and Micronaut are willing to solve issues and help users on the same scale, even if Quarkus has higher scores on each of the metrics. That's a positive sign.

Release cadence

At first glance, you can see that in all GitHub metrics, Quarkus took the lead, and the second place belongs to Micronaut. Quarkus has twice as many stars as a Micronaut, which is widely recognized as an expression of appreciation to the repository's maintainer for their work. The interesting metrics are the number of open and closed issues and their ratio. The last one is very similar, suggesting that the maintainers of Quarkus and Micronaut are willing to solve issues and help users on the same scale, even if Quarkus has higher scores on each of the metrics. That's a positive sign.

micronaut-corequarkus
date of the first release2018-05-292018-12-19
date of the last release2023-04-042023-04-04
number of all releases154225
the average number of days per release11,56,96

As we mentioned earlier, the frequency of new releases is an essential parameter for describing the state of dependencies. The above numbers show that both frameworks have extremely fast release rates. On average, Quarkus releases a new release every week, whereas Micronaut releases every 11.5 days, which is an excellent result. It is safe to conclude that the codebase is well-maintained and constantly updated by contributors.

StackOverflow metrics

Analysis of search results by tags on StackOverflow seems to correlate with previous numerical data from GitHub. There were nearly 2.3 more results on StackOverflow for Quarkus than for Micronaut.

image3

micronautquarkus
The number of results on StackOverflow15813593

Google Trends

Let's take a look at the popularity of individual frameworks since 2018. To reach this data, we used Google Trends.

image1

As you may notice, Quarkus became more popular than Micronaut in 2020, and its dominance is still growing. The popularity of Micronaut is also increasing, though not as quickly as Quarkus.

JVM Ecosystem Report 2021

Based on the JVM Ecosystem Report 2021, it can be assumed that the position of the Quarkus remains unwavering in its competition against the Micronaut. It's difficult to predict how this will evolve in the future, especially now that Spring Native has been replaced by official native support in Spring Boot 3.

image4

Linkedin metrics

After several years of discussing frameworks on the market, we can now evaluate them by how many people know these tools and how many organizations have adapted them into their systems. The metric of how many organizations use them can correlate with the number of jobs offered with these specific technologies as required skills. To collect these metrics, we've used Linkedin to search for people with these particular skills and job offers that require these skills.

image2

micronautquarkus
The number of people familiar with the framework38009900
The number of job offers that need familiarity with the framework5231207

It looks like many people are familiar with both technologies, with a strong predominance of Quarkus but in terms of the number of offered jobs that require these frameworks, there is no such difference between them. Developers prefer Quarkus more for some reasons than Micronaut, even though there are no such differences in job market needs. The availability of specialists that know particular technologies is a strong indicator for organizations when evaluating proposed technologies. Often, it even decides if some technologies will be used in the production code. Of course, we know that the undisputed king of Java frameworks is Spring. We wanted to focus on Spring alternatives without obscuring the picture of new yet not-so-commonly used frameworks. There is no doubt that Spring popularity is higher by several orders of magnitude, and we wouldn't be able to see anything in prepared charts. For example, at this moment, almost 4 140 000 people on Linkedin declare to know Spring Framework, which is ~418 times more than Quarkus. As we mentioned earlier, we are watching the situation closely, taking into account the entry of Spring Native, which may soon continue its further dominance by taking its piece of the pie from the pile of frameworks supporting native compilation.

What about documentation?

Both frameworks have well-maintained documentation. The plenty of tutorials in the series 'Getting started with ...' allows for smooth entry into technologies to implement concrete use cases. The websites quarkus.io and micronaut.io are real treasures of knowledge in an easily digestible form. Both frameworks have their own blogs and podcasts, which makes it easier to stay up to date with news.

Who is behind the curtain?

Micronaut was created by Graeme Rocher, also known as the author of the Grails framework and is currently an architect at Oracle Labs, where he puts all effort into the development of Micronaut. The official creator of Quarkus is Red Hat. The designers of both frameworks are rightly described as elite, which bodes well for the future development and maintenance of both solutions.

So which framework should we choose?

Of course, it's more complex than we'd like. Trends and collected metrics indicate that Quarkus is more popular, which may encourage us to use it, but we should only use them as a hint in decision-making. First of all, we should choose tools for specific needs rather tham because they are fashionable now. The key is to understand each tool's pros, cons, and capabilities before committing to it for a long time - possibly forever.

Reviewed by Rafał Maciak

Check the previous posts:
1
2
3

Blog Comments powered by Disqus.