Home  >  Article  >  Java  >  Taking stock of the most popular Java tools

Taking stock of the most popular Java tools

黄舟
黄舟Original
2017-01-18 15:26:511087browse

Java Programming Language

Java is an object-oriented programming language that can write cross-platform application software. It is a Java programming language and Java platform launched by Sun Microsystems in May 1995. (That is, the general name of JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)).


The most popular tool is not necessarily the "best". What is best for development depends on the usage scenario. However, when choosing a tool, popularity is an important factor that cannot be ignored, not because a tool's popularity increases its value, but because a widely used community brings invaluable resources and support.

Popular tools are easier to learn because there will be many people willing to help you. If it is open source, there will be less trouble. Because there are more people reviewing the code and testing, more situations can be considered.

In many cases, there will be an opposing competitor, such as Apache and Nginx - two web servers. Apache is used more, but top websites use Nginx more, which means that top engineers favor Nginx more - in many cases, popularity may be the most important point in distinguishing tools.

This list contains most of the tools needed to develop Java applications. Including the most popular and less popular ones, they all have strong community support. Beginners to Java need to get acquainted with these tools and become familiar with the ecosystem.

Language version

Most popular: Java 8

Next popular: Java 7

Java 8 is probably the fastest accepted of all versions . It may be because Java 8 brings long-awaited modern language features, such as lambda expressions, which solve the verbosity shortcomings of which Java has long been criticized. Of course, performance is also a big aspect.

Although many Java applications and major applications are now written in Java 8, there are also a large number of Java applications that still use Java 7 or 6.

I will not get into the muddy waters of Java EE and Spring, because talking about this is always accompanied by a lot of quarrels, and in terms of the number of users, they seem to be quite equal. There are also some third-party developers who use both.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016(figure 1.9, 1.10)

DZone Guide to the Java Ecosystem, 2015 edition (graphs 1 & 2)

Editors and IDEs

The most popular: Eclipse and IntelliJ IDEA (controversial)

The next most popular: Netbeans

Eclipse and Netbeans are both free, Open source. Eclipse is famous for its strong community and rich plug-ins (it is very convenient to develop Eclipse plug-ins), which makes the Eclipse platform very scalable, but this IDE starts slowly. Netbeans differentiates itself by integrating Maven and Git. IntelliJ is known for its performance and is a commercial product. It has both free and paid versions.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016 (IntelliJ IDEA was the top IDE in this report, figure 1.11)

DZone Guide to the Java Ecosystem, 2015 edition (Eclipse was the top IDE in this one, paragraph 4)

Web Framework

The most popular: AngularJS, SpringMVC

The next most popular: Java Server Faces (JSF)

Two of the three surveys showed that Spring MVC is more popular than Java Server Faces (JSF), and DZone's survey showed that Spring MVC and JSF are neck and neck. With the development of JavaScript frameworks on the web, perhaps these are no longer important. A survey shows that AngularJS is more popular on the front end than pure Java frameworks.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.16)

DZone Guide to the Java Ecosystem, 2015 edition (chart 3, paragraph 5 shows a tie)

JSF and Spring MVC Tie in Java / JVM Frameworks Poll

Application Server

Most popular: Tomcat

Second most popular: Wildfly

For a long time, Tomcat has been the most popular Java application server framework. It is a lightweight framework, and in some other surveys, Jetty - another lightweight application framework - is ahead of Wildfly - the most popular Java EE powered application server. Tomcat is undoubtedly the dominant player in lightweight Java applications and is the best choice for microservice architecture.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.13)

DZone Guide to the Java Ecosystem, 2015 edition(chart 4)

RebelLabs' Great Application Server Debate 2013 (for a deeper dive into app server use cases)

Testing Framework

Unit Testing

The most popular: JUnit

The best Java testing framework worthy of the name

Simulation

The most popular: Mockito

The most popular Java simulation testing framework.

Automated Web Browsing Test

The most popular: Selenium

Selenium is just automated browsing testing. Developers often use this tool in conjunction with other testing frameworks to test large-scale web applications.

Behavior-Driven Development Testing (BDD) Testing

The most popular: Cucumber-JVM, Spock

Cucumber was just a Ruby project at the beginning, but now it has been used in major mainstream applications Programming languages ​​implemented. Spock supports the JVM-driven language Groovy, and of course Java. It can basically do everything Mockito can do.

Data

RebelLabs Java Tools and Technologies Landscape Report 2014

DZone Guide to Continuous Delivery, 2015 edition (page 20)

Version Control System

Most popular: Git

Next popular: Subversion

Remember, using Git is more flexible than just using Github and simple commits. Now, Git has won the version control war, and many Subversion and CVS users are gradually turning to Git.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.18)

Continuous Integration

The most popular: Jenkins

The next most popular: No CI server

There is also an obvious giant in this area. Jenkins' flexible plug-in system has gradually taken over the field in the past five years. Among other Jenkins competitors, more people choose No CI server. Next is Bamboo.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016(figure 1.13)

DZone Guide to Continuous Delivery, 2015 edition (page 20)

DZone Guide to the Java Ecosystem, 2015 edition (paragraph 4)

Databases

Most popular: OracleDB

Next popular: MySQL

Of all these Among tools, the database can be said to be the most dependent on usage scenarios. Depending on the application you want to create, you may need a lightweight key-value store database, or a database that stores many columns. For most applications, a general database can meet the needs, which is why these two databases can be ranked at the top.

Oracle is one of the few commercial software in this article, which means that it has many "enterprise-level" features. If you prefer open source software, MySQL and SQLite are highly recommended.

Data

DB-Engines Database Rankings

DZone Guide to Databases 2016

RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.14, this is the only Java-specific one)

Object-relational mapping

The most popular: The Java Persistence API (JPA) / Hibernate

The next most popular: The Java Database Connectivity API ( JDBC)

Hibernate is so popular that it became the standard in Java Persistence API many years ago.

Data

DZone Guide to the Java Ecosystem, 2015 edition (paragraph 4)

RebelLabs Java Tools and Technologies Landscape Report 2014 (page 31)

Static Code Analysis

Most popular: FindBugs

Second popular: SonarQube

These two tools are very different, so it is difficult to compare. FindBug is a simple static code analysis tool, and SonarQube is a full-platform tool for code quality analysis, syntax checking, and code measurement.

Data

DZone Guide to Continuous Delivery, 2015 edition (page 20)

RebelLabs Java Tools and Technologies Landscape Report 2014 (page 2)

Syntax Check

The most popular: Check

The next most popular: Eclipse

Large Java IDEs all have this function, but if you need a specific program to specifically perform type checking, Check is a good choice.

Data

DZone Guide to Continuous Delivery, 2015 edition(page 20)

Manual warehouse management

The most popular: Sonatype Nexus

Most Popular: JFrog Artifactory

Many developers do not use manual repositories to manage JARs, WARs, libraries and applications. But if you want to do this, Nexus is the best choice. Both are commercial software, with Apache Archiva being an open source option.

Data

RebelLabs Java Tools and Technologies Landscape Report 2014 (page 45)

Inversion of Control

The most popular: Spring Framework DI

Most popular: Google Guice

Spring framework does a good job in inversion of control, but Google developers also made a good tool. Dagger doesn't have many users in this area, but it is gradually becoming popular, especially in Android development. Pokémon Go also uses it.

Data

Poll of reddit.com/r/java

Performance Analysis

Java Performance Overview

The most popular: VisualVM

The next most popular: No profiler

A considerable number of developers do not use performance analysis tools (maybe they have professional performance optimization teams to do it) . YourKit is also a good alternative to VisualVM.

Loading Test

The most popular: JMeter

The most popular: LoadRunner

In addition to these two tools, there are many other tools for loading It is a tool for performance testing, so it is best to conduct sufficient market research before using it. JMeter is open source software and LoadRunner is commercial software. The benefit of commercial software is that it has a wide range of services and can run tests in the cloud.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.19)

DZone Guide to Continuous Delivery, 2015 edition (page 20)

Compilation Automation and Dependency Management

The most popular: Maven

The next most popular: Gradle

Maven undoubtedly occupies the leadership position, but Gradle is also widely used, and it is still Android standard compilation tools.

Data

RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.12)

DZone Guide to the Java Ecosystem, 2015 edition (chart 4)

Log library

The most popular: Log4j The

most popular log library is not yet clear, and there are relatively few surveys in this area. The content scenarios of this article revolve around popular logging libraries and settings in Java.


The above is an inventory of the most popular Java tools. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn