Organize and share the 100 most popular Java libraries


 

Who is on top? Who is behind? We analyzed 47,251 dependencies in GitHub and found the 100 most popular Java libraries.


During the long weekend, our favorite pastime is to traverse GitHub to find the most popular Java libraries. We decided to share the fun and income with everyone.


We analyzed 47,251 import statements of 12,059 different Java libraries used in the first 3862 Java projects in GitHub. From this list, we selected the top 100 Java libraries and presented the results here.


Top 20 Java libraries


In the next two years, junit became the most popular Java library on GitHub for the second time. At the same time, the Java logging API slf4j won the second place, and log4j ranked fourth.


In addition, Guava, Google's open source project, came in fiercely and won the third place. The library contains a series of core Java libraries contained in Google. If you don't know much about Guava or are not sure how to use it, you should read our article to learn about Google Guava's little-known features but in fact every developer should know.


The rise of the Spring library

As the primary competitor of Java EE, the Spring framework is becoming more and more popular, and its popular programs are also reflected in GitHub. Among the 100 most popular Java libraries this time, 44 libraries are related to Spring.


Among them, the most interesting is the rapid growth of Spring Boot, which can help developers create Spring-driven applications and services through the most streamlined references. Do you want to build a Java application that can adapt to the production environment in the shortest possible time? Please read our article: Java Bootloader: Dropwizard vs. Spring Boot.


List of the most popular Spring libraries:


13th place – springframework.spring-context

17th place – springframework.spring-test

22nd place – springframework.spring-webmvc

24th place – springframework.spring-core

27th place – springframework.spring-web

36th place – springframework.spring-jdbc

37th place – springframework.spring-orm

38th place – springframework.spring-tx

40th place – springframework.spring-aop

47th place – springframework.spring-context-support

72nd place – springframework.boot.spring-boot-starter-web

81st place – springframework.security.spring-security-web

82nd place – springframework.security.spring-security-config

88th place – springframework.boot.spring-boot-starter-test

99th place – springframework.security.spring-security-core


The most popular JSON library



We know that Java does not provide native support for JSON (although Java 9 almost included it), and we are interested in knowing how popular these libraries are in the GitHub project.


You should not judge the quality of a library based on appearances. Not all JSON libraries have the same performance. It is very important to choose a library that suits your environment. If you want to know how to choose a JSON library, you can check our latest JSON benchmark.


The most popular JSON libraries are:


14th place – fasterxml.jackson.core.jackson-databind

19th place – google.code.gson.gson

43rd place – json.json

80th place – googlecode.json-simple.json-simple

89th place – thoughtworks.xstream.xstream


The 4 most amazing libraries

In fact, there are many interesting and even new libraries that impress us. However, we decided to focus on the following 4 libraries:


No. 68: projectlombok.lombok-This library aims to simplify the reference samples in Java, and replaces some extremely complicated reference samples with a simple set of annotations.


No. 90: jsoup.jsoup-this library is used to collaborate with HTML. It provides APIs for extracting and manipulating data through DOM manipulation, CSS, and jquery-like methods.


92nd place: io.netty.netty-all-a network application framework for quickly and easily deploying maintainable high-performance protocol servers and clients.


No. 98: dom4j.dom4j-an open source framework for processing XML. Integrate with XPath to provide comprehensive support for DOM, JAXP and Java platforms.


100 Java libraries sorted by type


Name calculation method

You may be wondering how we got this sort. First, we extract the top-ranked Java projects in GitHub based on the score. After that, extract the projects that use Maven or Ivy for dependency management, and quickly get their pom.xml / ivy.xml dependencies. So far, we have 47,251 data points.


Next, after some integration and analysis, we got 12,059 different Java libraries from the first 3862 Java projects. Thus, based on the number of times these libraries appear in GitHub, it is not difficult to get the 100 most popular libraries.


If you want to view our raw data, you can view the file here. Although we strive to be rigorous to prevent oversight, you can also look at the data, and maybe there will be new interesting insights.


to sum up

When we compared this year's top 100 data with last year's, we found that small Java libraries had some ranking changes. Among them, the ranking of Spring-related libraries increased overall, while people's interest in MongoDB-related libraries declined.


However, for the vast majority of Java developers, they maintain considerable loyalty to the GitHub repository of their choice. Considering the number of existing projects using these libraries, we have reason to believe that these libraries will be popular in the future.

Post a Comment

0 Comments