溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

有哪些流行的Java框架

發(fā)布時間:2021-11-01 17:18:29 來源:億速云 閱讀:129 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“有哪些流行的Java框架”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

1. Spring

這是其他Java框架中的絕對領(lǐng)導(dǎo)者。 掌握Spring是Java開發(fā)人員職位最普遍的要求之一。 造成這種情況的原因很多,但主要的原因是普遍性。

Spring是一個功能強大,輕量級且最受歡迎的Java EE框架。 正如開發(fā)人員自己所說:Spring使Java變得簡單,現(xiàn)代,高效,可響應(yīng),可用于云。  它以依賴注入和面向方面的編程功能而聞名。 實際上,它是框架的容器,使您可以執(zhí)行任何復(fù)雜的任務(wù)-從使用數(shù)據(jù)庫到測試過程。

開發(fā)人員更有可能選擇Spring MVC和Spring Boot。 這些框架的最大優(yōu)點是能夠分離其他模塊并由于控制反轉(zhuǎn)(IoC)而專注于一個模塊。

優(yōu)點:

  • 使用POJO(普通Java對象)可導(dǎo)致更簡單,更靈活的代碼庫;

  • 支持模塊化(具有許多軟件包和類);

  • 向后兼容和易于測試;

  • 龐大的生態(tài)系統(tǒng)(Spring Boot,Spring Cloud)和社區(qū);

  • 廣泛的文檔和多個Spring教程。

缺點:

  • 不太容易配置

  • 陡峭的學習曲線

為了檢查每個框架的流行程度,使用了Google趨勢。

以下是最近5年Spring受歡迎程度的統(tǒng)計數(shù)據(jù):

有哪些流行的Java框架

Spring受歡迎程度有所下降,但總體情況表明,它正在逐年增長。

如前所述,Spring在Github上擁有非?;钴S的社區(qū)和37K星。

2. Play

Play是大多數(shù)開發(fā)人員喜歡的另一個輕量級框架。 它允許您使用Java和Scala構(gòu)建Web應(yīng)用程序。  它是為滿足現(xiàn)代移動和Web應(yīng)用程序的需求而設(shè)計的。

Play基于無狀態(tài),網(wǎng)絡(luò)友好且輕量級的體系結(jié)構(gòu)。 主要區(qū)別特征包括高速,高質(zhì)量和良好的可伸縮性。  它建立在Akka之上,并提供了以更高級的方式思考的敏捷性-不是與Data元素做什么,而是如何處理事物流。

該框架具有異步API,可讓您擴展應(yīng)用程序而無需引入其他資源。 該框架為各種微服務(wù)模式提供了出色的支持。

優(yōu)點:

  • 由于熱代碼重載而提高了效率;

  • Play是可插入的,可配置的,可自定義的,因此很靈活;

  • 易于調(diào)試:Play可以在開發(fā)人員模式下處理運行時錯誤和編譯錯誤;

  • 建立在Netty上,并支持非阻塞I / O;

  • 開源,一切都在幕后運作良好;

  • 易于上手。

缺點:

  • Play2基本上是對Play1的重寫;

  • 圍繞異步I / O構(gòu)建,這意味著編寫"稍后執(zhí)行"的代碼。

有哪些流行的Java框架

Github星星:11.6萬。 該框架已被LinkedIn,三星,The Guardian,Verizon等主要公司使用,這證實了其可靠性。

3. Spark

Spark Framework是Java和Kotlin編程語言的一種微框架和特定于領(lǐng)域的語言。 Kotlin也可以在JVM上運行,并且可以與Java  100%互操作。 使用Spark,您可以輕松開發(fā)Web應(yīng)用程序,微服務(wù)和REST API。

實際上,您可以在幾分鐘內(nèi)啟動并運行Spark框架。 默認情況下,它在嵌入框架的Jetty Web服務(wù)器上運行。 但是,您也可以將其與其他Java  Web服務(wù)器一起使用。

優(yōu)點:

  • 專為提高生產(chǎn)力而設(shè)計;

  • 讓您充分利用JVM;

  • 易于啟動和運行;

  • 可擴展,您可以插入任何模板引擎。

缺點:

  • 僅適用于創(chuàng)建小型Web應(yīng)用程序或API后端。

在2016年至2018年之間,Spark的受歡迎程度逐漸提高?,F(xiàn)在,對該框架的興趣有所降低:

有哪些流行的Java框架

Github星星:8,8K。 Spark被Arquillian,Apache,Asana,Playlife等公司使用。

4. JHipster

Jhipster是最新的Java框架之一。 它于2013年發(fā)布。Jhipster將Spring Boot,Angular和React集成到一個大型框架中。  它使您可以輕松構(gòu)建基于Java的現(xiàn)代Web應(yīng)用程序。

框架中內(nèi)置了Spring Boot,可讓您基于Spring開發(fā)應(yīng)用程序。 除了Angular和React,JHipster還包含Bootstrap。  該框架允許開發(fā)人員在兩種類型的體系結(jié)構(gòu)之間進行選擇:整體式和微服務(wù)。 在第一種情況下,前端和后端集成到一個應(yīng)用程序中,在第二種情況下-它們是分開的。

順便說一下,諸如Adobe,西門子,博世,HBO和Google等品牌都在使用JHipster。

優(yōu)點:

  • 輕松引導(dǎo)具有許多預(yù)配置技術(shù)的新項目;

  • 遵循后端和前端開發(fā)的最佳實踐和最新趨勢;

  • 擁抱Docker和Kubernetes的云原生原則;

  • 開箱即用的登錄,登錄,用戶管理和監(jiān)視功能;

  • 項目中僅包含您選擇的那些技術(shù)。

缺點:

  • 要與JHipster一起使用,最好先熟悉一堆技術(shù);

  • 從端點返回的REST響應(yīng)并不總是符合業(yè)務(wù)需求;

  • 并非同一級別上可用的所有選項。

根據(jù)Google的說法,JHipster的流行高峰是在2018年,并且開始緩慢下降:

有哪些流行的Java框架

Github明星離Play比賽很近:16.2萬。 使用JHipster的公司:Adobe,CGI,BOSCH,HBO,Siemens等。

5. Blade

Blade是一個輕量級的Java 8+ MVC框架。 當我們談?wù)揃lade的輕巧性時,是指其源代碼的大小,該大小不超過500KB。

要使用Blade,您需要創(chuàng)建一個常規(guī)的Maven項目。 Blade提供了Java 9具有的模塊化支持。 它還支持許多Java Web組件。

優(yōu)點:

  • 輕巧;

  • 模塊化:可以選擇要使用的組件;

  • 支持插件擴展和Web jar資源;

  • 嵌入式碼頭服務(wù)器和模板引擎支持;

  • RESTful樣式路由;

  • 支持JDK 1.6及更高版本。

缺點:

  • 僅有助于創(chuàng)建小型MVC應(yīng)用程序;

  • 主站點上的文檔為中文(但確實有英文文檔)。

Google的總體統(tǒng)計數(shù)據(jù)表明Blade的受歡迎程度正在逐步提高:

有哪些流行的Java框架

Github星星:5,3K。

6. Hibernate

在談?wù)撟罴训腏ava Web框架時,不能忽視Hibernate。

Hibernate是一個ORM(對象/關(guān)系映射)框架。 它允許您不使用SQL而是使用Java將查詢寫到數(shù)據(jù)庫服務(wù)器,這通常會改變數(shù)據(jù)庫的常規(guī)外觀。

盡管Hibernate并不是一個成熟的框架,但它使您可以輕松地轉(zhuǎn)換各種數(shù)據(jù)庫的信息。 無論應(yīng)用程序大小和用戶數(shù)量如何,此功能還可以簡化擴展。  通常,此框架可以描述為快速,強大,易于擴展和可定制的。

它是在GNU Lesser General的公共2.1許可下分發(fā)的免費軟件。

優(yōu)點:

  • Hibernate使您可以通過在代碼中進行微小的更改來與任何數(shù)據(jù)庫進行通信。

  • MySQL,Db2或Oracle,Hibernate與數(shù)據(jù)庫無關(guān);

  • 緩存工具以查詢相同的錯誤目錄;

  • N + 1或緩慢的加載支持;

  • 數(shù)據(jù)丟失風險低,并且需要的功率更少。

缺點:

  • 如果電源關(guān)閉,您可能會丟失所有數(shù)據(jù)。

  • 重新啟動可能非常慢。

查看下面的圖表,我們發(fā)現(xiàn)在這5年中,Hibernate的普及率一直在下降:

有哪些流行的Java框架

GitHub星級:4,3K。

7. MyBatis

MyBatis是用于Java編程的映射框架。 它簡化了將Java應(yīng)用程序與SQL數(shù)據(jù)庫鏈接的過程:它充當它們之間的中間件。

通常,您將需要Java數(shù)據(jù)庫連接API才能將應(yīng)用程序連接到關(guān)系數(shù)據(jù)庫。 MyBatis簡化了過程。  它使開發(fā)人員僅使用幾行代碼即可執(zhí)行基本的SQL操作。

MyBatis可以與Hibernate框架進行比較。 它們都代表了應(yīng)用程序和數(shù)據(jù)庫之間的一種橋梁。  唯一的區(qū)別是MyBatis不會將Java對象映射到關(guān)系數(shù)據(jù)庫。

優(yōu)點:

  • 簡便快捷的發(fā)展;

  • XML標記,支持動態(tài)SQL語句編寫;

  • 非常適合編寫純SQL。

缺點:

  • SQL可能綁定到特定的數(shù)據(jù)庫供應(yīng)商。

  • 數(shù)據(jù)庫可移植性差。

根據(jù)Google的說法,對該框架的興趣正逐漸增加:

有哪些流行的Java框架

Github星級:13.6K。

8. Struts

Struts是用于創(chuàng)建企業(yè)級Java Web應(yīng)用程序的開源MVC(模型-視圖-控制器)框架。 最初的Struts框架(Struts  1.x)在2007年與WebWork框架合并時進行了重建。 Struts 1.x和Struts 2.x不可互換,因為它們之間存在重要區(qū)別。  您可以從Struts的Releases頁面下載。

該框架的主要優(yōu)點是其可移植插件,即JAR軟件包。 在這種情況下,Hibernate和Spring插件可分別用于對象關(guān)系映射和依賴項注入。  通過成功組織Java,JSP和Action類,該框架還有助于減少總體開發(fā)時間。

優(yōu)點:

  • 使用簡單,基于MVC設(shè)計模式;

  • 與REST,JSON和AJAX配合使用;

  • 通過插件與其他Java技術(shù)集成;

  • 支持主題和模板;

  • 使用基于POJO的簡單操作。

缺點:

  • 難以瀏覽的文檔;

  • 不適合較小的應(yīng)用程序。

谷歌顯示Struts的知名度在2016-2018年達到頂峰,現(xiàn)在開始緩慢下降:

有哪些流行的Java框架

Github評分不高:1k星。 Synopsys,ExpertIO,Nsys Design Systems和其他公司使用Struts。

9. Vaadin

Vaadin是一個開放源代碼客戶端服務(wù)器框架,可讓您使用預(yù)先設(shè)計的UI組件創(chuàng)建Web應(yīng)用程序。  它是專門針對業(yè)務(wù)應(yīng)用程序而構(gòu)建的,重點是可訪問,美觀且直觀的用戶界面。

Vaadin允許您使用純Java編寫UI,而不會陷入JS,HTML和CSS的困境。 此外,您可以使用HTML或視覺設(shè)計器創(chuàng)建布局。  Vaadin可直接從Java虛擬機提供對DOM的訪問。 此外,它還帶有可以通過樣式API自定義的現(xiàn)成主題。

在Vaadin 8之前,客戶端是基于GWT的。 Vaadin  10是該框架的重大改進:完全重寫了客戶端,刪除了GWT,并且Vaadin切換到Web組件標準和客戶端上的Google Polymer。  新的Vaadin組件是一組Web組件,可以與其他前端JavaScript技術(shù)(例如React和Vue甚至純JavaScript)結(jié)合使用。

優(yōu)點:

  • 高開發(fā)人員生產(chǎn)力和快速開發(fā);

  • 建立在Web組件標準上;

  • 與任何常規(guī)Web技術(shù)相比,提供了許多組件,布局和不同的偵聽器;

  • 自動化客戶端-服務(wù)器通信和路由;

  • 擁有良好的文檔資料和活躍的社區(qū)。

缺點:

  • 與其他可用技術(shù)相比,可伸縮性較差;

  • 大型應(yīng)用程序的初始加載可能很慢。

至于受歡迎程度,它正在緩慢下降:

有哪些流行的Java框架

Github評分:1,6K星。 Vaadin由Docucom,AXPM,CGI,HPD LendScape等使用。

10. JavaServer Faces(JSF)

JSF是一種JCP標準技術(shù),用于在Java EE平臺上創(chuàng)作基于組件的用戶界面。  該框架可能不是最好的框架,但是最大的好處是Oracle支持,許多其他工具,出色的文檔以及友好的社區(qū)。

JSF可用于創(chuàng)建企業(yè)應(yīng)用程序,本機程序和Web開發(fā)。  開發(fā)人員可以通過在頁面中組裝可重用的UI組件,將這些組件連接到應(yīng)用程序數(shù)據(jù)源,并將客戶端生成的事件連接到服務(wù)器端事件處理程序,來構(gòu)建Web應(yīng)用程序。

優(yōu)點:

  • JSF是Java EE的重要組成部分,對于使用IDE軟件的開發(fā)人員來說非常方便。

缺點:

  • 要與JavaServer Faces一起使用,最好具有豐富的Java知識,一般地了解網(wǎng)絡(luò)技術(shù),并在沒有任何框架的情況下具有在網(wǎng)絡(luò)上工作的經(jīng)驗。

根據(jù)下圖,JSF逐漸失去了知名度:

有哪些流行的Java框架

如前所述,JSF并不是最好的技術(shù),但對IDE軟件卻很有用。

“有哪些流行的Java框架”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI