In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-01 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/02 Report--
This article introduces the knowledge of "what are the popular Java frameworks". In the operation of actual cases, many people will encounter such a dilemma. Next, let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
1. Spring
This is the absolute leader in other Java frameworks. Mastering Spring is one of the most common requirements for Java developer positions. There are many reasons for this, but the main reason is universality.
Spring is a powerful, lightweight and most popular Java EE framework. As the developers themselves say: Spring makes Java simple, modern, efficient, responsive, and available for the cloud. It is known for its dependency injection and aspect-oriented programming capabilities. In fact, it is a container for the framework that allows you to perform any complex task-from working with the database to the testing process.
Developers are more likely to choose Spring MVC and Spring Boot. The biggest advantage of these frameworks is the ability to separate other modules and focus on one module due to IoC.
Advantages:
Using POJO (plain Java objects) results in a simpler and more flexible code base
Support for modularity (with many packages and classes)
Backward compatibility and ease of testing
Huge ecosystems (Spring Boot,Spring Cloud) and communities
Extensive documentation and multiple Spring tutorials.
Disadvantages:
It is not easy to configure
A steep learning curve
To check the popularity of each framework, Google trends are used.
The following are statistics on the popularity of Spring in the last five years:
Spring's popularity has declined, but overall, it is growing year by year.
As mentioned earlier, Spring has a very active community and 37K stars on Github.
2. Play
Play is another lightweight framework that most developers like. It allows you to build Web applications using Java and Scala. It is designed to meet the needs of modern mobile and Web applications.
Play is based on a stateless, network-friendly and lightweight architecture. The main distinguishing features include high speed, high quality and good scalability. It is built on Akka and provides agility to think in a more advanced way-not what to do with Data elements, but how to handle logistics.
The framework has asynchronous API that allows you to extend your application without introducing additional resources. The framework provides excellent support for various micro-service models.
Advantages:
Improved efficiency due to hot code overload
Play is pluggable, configurable, and customizable, so it is flexible
Easy to debug: Play can handle run-time and compilation errors in developer mode
Built on Netty and supports non-blocking I / O
Open source, everything works well behind the scenes
Easy to use.
Disadvantages:
Play2 is basically a rewrite of Play1.
Build around asynchronous I / O, which means writing code that "executes later".
Github Star: 116000. The framework has been used by LinkedIn, Samsung, The Guardian,Verizon and other major companies, which confirms its reliability.
3. Spark
Spark Framework is a micro-framework and domain-specific language for Java and Kotlin programming languages. Kotlin can also run on JVM and is 100% interoperable with Java. With Spark, you can easily develop Web applications, microservices and REST API.
In fact, you can get the Spark framework up and running in a few minutes. By default, it runs on a Jetty Web server that embeds the framework. However, you can also use it with other Java Web servers.
Advantages:
Designed to improve productivity
Allows you to take full advantage of JVM
Easy to start and run
Extensible, you can insert any template engine.
Disadvantages:
Only suitable for creating small Web applications or API backends.
Between 2016 and 2018, Spark's popularity gradually increased. Now, interest in the framework has diminished:
Github Star: 8pm 8K. Spark is used by companies such as Arquillian,Apache,Asana,Playlife.
4. JHipster
Jhipster is one of the newest Java frameworks. It was released in 2013. Jhipster integrates Spring Boot,Angular and React into a large framework. It makes it easy to build modern Web applications based on Java.
Spring Boot is built into the framework, which allows you to develop applications based on Spring. Bootstrap is included in addition to Angular and React,JHipster. The framework allows developers to choose between two types of architectures: monolithic and microservices. In the first case, the front end and back end are integrated into one application, and in the second case-they are separate.
By the way, brands such as Adobe, Siemens, Bosch, HBO and Google all use JHipster.
Advantages:
Easily guide new projects with many preconfigured technologies
Follow best practices and latest trends in back-end and front-end development
Embrace the cloud native principles of Docker and Kubernetes
Out of the box login, login, user management and monitoring functions
The project contains only those technologies of your choice.
Disadvantages:
To use with JHipster, it is best to be familiar with a bunch of technologies
The REST response returned from the endpoint does not always meet the business requirements
Not all options are available at the same level.
According to Google, the epidemic of JHipster peaked in 2018 and began to decline slowly:
Github stars are close to the Play game: 162000. Companies that use JHipster: Adobe,CGI,BOSCH,HBO,Siemens, etc.
5. Blade
Blade is a lightweight Java 8 + MVC framework. When we talk about the lightness of Blade, we mean the size of its source code, which is no more than 500KB.
To use Blade, you need to create a regular Maven project. Blade provides the modular support that Java 9 has. It also supports many Java Web components.
Advantages:
Lightweight
Modularity: you can choose which components to use
Support for plug-in extensions and Web jar resources
Embedded terminal server and template engine support
RESTful style routing
JDK 1.6 and later are supported.
Disadvantages:
Only helps to create small MVC applications
The documents on the main site are in Chinese (but there are English documents).
Google's overall statistics show that the popularity of Blade is gradually increasing:
Github Star: 5pm 3K.
6. Hibernate
When talking about the best Java Web framework, you can't ignore Hibernate.
Hibernate is an ORM (object / Relational Mapping) framework. It allows you to write queries to the database server using Java instead of SQL, which usually changes the general appearance of the database.
Although Hibernate is not a mature framework, it allows you to easily transform information from various databases. This feature also simplifies expansion, regardless of the size of the application and the number of users. In general, this framework can be described as fast, powerful, easy to extend, and customizable.
It is free software distributed under the GNU Lesser General Public 2.1 license.
Advantages:
Hibernate allows you to communicate with any database by making minor changes in your code.
MySQL,Db2 or Oracle,Hibernate is independent of the database
Cache tool to query the same error directory
N + 1 or slow loading support
The risk of data loss is low and requires less power.
Disadvantages:
If the power is turned off, you may lose all data.
Restarting can be very slow.
Looking at the chart below, we find that Hibernate penetration has been declining over the past five years:
GitHub star: 4pm 3K.
7. MyBatis
MyBatis is a mapping framework for Java programming. It simplifies the process of linking Java applications to SQL databases: it acts as middleware between them.
Typically, you will need a Java database connection to API to connect your application to a relational database. MyBatis simplifies the process. It allows developers to perform basic SQL operations in just a few lines of code.
MyBatis can be compared with the Hibernate framework. They all represent a bridge between the application and the database. The only difference is that MyBatis does not map Java objects to relational databases.
Advantages:
Simple and rapid development
XML tags that support dynamic SQL statement writing
Ideal for writing pure SQL.
Disadvantages:
SQL may be bound to a specific database vendor.
The portability of database is poor.
According to Google, interest in the framework is growing:
Github star: 13.6K.
8. Struts
Struts is an open source MVC (Model-View-Controller) framework for creating enterprise-class Java Web applications. The original Struts framework (Struts 1.x) was rebuilt when it was merged with the WebWork framework in 2007. Struts 1.x and Struts 2.x are not interchangeable because there are important differences between them. You can download it from the Releases page of Struts.
The main advantage of this framework is its portable plug-in, namely JAR software package. In this case, the Hibernate and Spring plug-ins can be used for object-relational mapping and dependency injection, respectively. The framework also helps to reduce overall development time by successfully organizing the Java,JSP and Action classes.
Advantages:
Easy to use and based on MVC design pattern
Use with REST,JSON and AJAX
Integrate with other Java technologies through plug-ins
Support themes and templates
Use simple operations based on POJO.
Disadvantages:
Documents that are difficult to navigate
Not suitable for smaller applications.
Google shows that Struts's popularity peaked in 2016-2018 and is now slowly declining:
The Github score is not high: 1k star. Synopsys,ExpertIO,Nsys Design Systems and other companies use Struts.
9. Vaadin
Vaadin is an open source client-server framework that allows you to create Web applications using pre-designed UI components. It is built specifically for business applications, focusing on an accessible, beautiful and intuitive user interface.
Vaadin allows you to write UI in pure Java without getting caught up in JS,HTML and CSS. In addition, you can create layouts using HTML or visual designers. Vaadin provides access to DOM directly from the Java virtual machine. In addition, it comes with off-the-shelf themes that can be customized through style API.
Before Vaadin 8, the client was based on GWT. Vaadin 10 is a major improvement to the framework: it completely rewrites the client, removes GWT, and Vaadin switches to Google Polymer on Web component standards and clients. The new Vaadin component is a set of Web components that can be used in conjunction with other front-end JavaScript technologies such as React and Vue or even pure JavaScript.
Advantages:
High developer productivity and rapid development
Based on the Web component standard
Compared to any conventional Web technology, it provides many components, layouts, and different listeners
Automate client-server communication and routing
Have good documentation and active community.
Disadvantages:
Poor scalability compared with other available technologies
The initial loading of large applications can be slow.
As for its popularity, it is slowly declining:
Github score: 1,6K stars. Vaadin is used by Docucom,AXPM,CGI,HPD LendScape et al.
10. JavaServer Faces (JSF)
JSF is a JCP standard technology for authoring component-based user interfaces on the Java EE platform. This framework may not be the best framework, but the biggest benefits are Oracle support, many other tools, excellent documentation, and a friendly community.
JSF can be used to create enterprise applications, native programs, and Web development. Developers can build UI applications by assembling reusable Web components in a page, connecting them to application data sources, and connecting client-side generated events to server-side event handlers.
Advantages:
JSF is an important part of Java EE and is very convenient for developers who use IDE software.
Disadvantages:
To use with JavaServer Faces, it is best to have a rich knowledge of Java, a general understanding of network technology, and experience working on the network without any framework.
According to the following figure, JSF is losing its popularity:
As mentioned earlier, JSF is not the best technology, but it is useful for IDE software.
This is the end of "what are the popular Java frameworks"? thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.