您好,登錄后才能下訂單哦!
本篇內容介紹了“有哪些流行的Java框架”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1. Spring
這是其他Java框架中的絕對領導者。 掌握Spring是Java開發人員職位最普遍的要求之一。 造成這種情況的原因很多,但主要的原因是普遍性。
Spring是一個功能強大,輕量級且最受歡迎的Java EE框架。 正如開發人員自己所說:Spring使Java變得簡單,現代,高效,可響應,可用于云。 它以依賴注入和面向方面的編程功能而聞名。 實際上,它是框架的容器,使您可以執行任何復雜的任務-從使用數據庫到測試過程。
開發人員更有可能選擇Spring MVC和Spring Boot。 這些框架的最大優點是能夠分離其他模塊并由于控制反轉(IoC)而專注于一個模塊。
優點:
使用POJO(普通Java對象)可導致更簡單,更靈活的代碼庫;
支持模塊化(具有許多軟件包和類);
向后兼容和易于測試;
龐大的生態系統(Spring Boot,Spring Cloud)和社區;
廣泛的文檔和多個Spring教程。
缺點:
不太容易配置
陡峭的學習曲線
為了檢查每個框架的流行程度,使用了Google趨勢。
以下是最近5年Spring受歡迎程度的統計數據:
Spring受歡迎程度有所下降,但總體情況表明,它正在逐年增長。
如前所述,Spring在Github上擁有非常活躍的社區和37K星。
2. Play
Play是大多數開發人員喜歡的另一個輕量級框架。 它允許您使用Java和Scala構建Web應用程序。 它是為滿足現代移動和Web應用程序的需求而設計的。
Play基于無狀態,網絡友好且輕量級的體系結構。 主要區別特征包括高速,高質量和良好的可伸縮性。 它建立在Akka之上,并提供了以更高級的方式思考的敏捷性-不是與Data元素做什么,而是如何處理事物流。
該框架具有異步API,可讓您擴展應用程序而無需引入其他資源。 該框架為各種微服務模式提供了出色的支持。
優點:
由于熱代碼重載而提高了效率;
Play是可插入的,可配置的,可自定義的,因此很靈活;
易于調試:Play可以在開發人員模式下處理運行時錯誤和編譯錯誤;
建立在Netty上,并支持非阻塞I / O;
開源,一切都在幕后運作良好;
易于上手。
缺點:
Play2基本上是對Play1的重寫;
圍繞異步I / O構建,這意味著編寫"稍后執行"的代碼。
Github星星:11.6萬。 該框架已被LinkedIn,三星,The Guardian,Verizon等主要公司使用,這證實了其可靠性。
3. Spark
Spark Framework是Java和Kotlin編程語言的一種微框架和特定于領域的語言。 Kotlin也可以在JVM上運行,并且可以與Java 100%互操作。 使用Spark,您可以輕松開發Web應用程序,微服務和REST API。
實際上,您可以在幾分鐘內啟動并運行Spark框架。 默認情況下,它在嵌入框架的Jetty Web服務器上運行。 但是,您也可以將其與其他Java Web服務器一起使用。
優點:
專為提高生產力而設計;
讓您充分利用JVM;
易于啟動和運行;
可擴展,您可以插入任何模板引擎。
缺點:
僅適用于創建小型Web應用程序或API后端。
在2016年至2018年之間,Spark的受歡迎程度逐漸提高。現在,對該框架的興趣有所降低:
Github星星:8,8K。 Spark被Arquillian,Apache,Asana,Playlife等公司使用。
4. JHipster
Jhipster是最新的Java框架之一。 它于2013年發布。Jhipster將Spring Boot,Angular和React集成到一個大型框架中。 它使您可以輕松構建基于Java的現代Web應用程序。
框架中內置了Spring Boot,可讓您基于Spring開發應用程序。 除了Angular和React,JHipster還包含Bootstrap。 該框架允許開發人員在兩種類型的體系結構之間進行選擇:整體式和微服務。 在第一種情況下,前端和后端集成到一個應用程序中,在第二種情況下-它們是分開的。
順便說一下,諸如Adobe,西門子,博世,HBO和Google等品牌都在使用JHipster。
優點:
輕松引導具有許多預配置技術的新項目;
遵循后端和前端開發的最佳實踐和最新趨勢;
擁抱Docker和Kubernetes的云原生原則;
開箱即用的登錄,登錄,用戶管理和監視功能;
項目中僅包含您選擇的那些技術。
缺點:
要與JHipster一起使用,最好先熟悉一堆技術;
從端點返回的REST響應并不總是符合業務需求;
并非同一級別上可用的所有選項。
根據Google的說法,JHipster的流行高峰是在2018年,并且開始緩慢下降:
Github明星離Play比賽很近:16.2萬。 使用JHipster的公司:Adobe,CGI,BOSCH,HBO,Siemens等。
5. Blade
Blade是一個輕量級的Java 8+ MVC框架。 當我們談論Blade的輕巧性時,是指其源代碼的大小,該大小不超過500KB。
要使用Blade,您需要創建一個常規的Maven項目。 Blade提供了Java 9具有的模塊化支持。 它還支持許多Java Web組件。
優點:
輕巧;
模塊化:可以選擇要使用的組件;
支持插件擴展和Web jar資源;
嵌入式碼頭服務器和模板引擎支持;
RESTful樣式路由;
支持JDK 1.6及更高版本。
缺點:
僅有助于創建小型MVC應用程序;
主站點上的文檔為中文(但確實有英文文檔)。
Google的總體統計數據表明Blade的受歡迎程度正在逐步提高:
Github星星:5,3K。
6. Hibernate
在談論最佳的Java Web框架時,不能忽視Hibernate。
Hibernate是一個ORM(對象/關系映射)框架。 它允許您不使用SQL而是使用Java將查詢寫到數據庫服務器,這通常會改變數據庫的常規外觀。
盡管Hibernate并不是一個成熟的框架,但它使您可以輕松地轉換各種數據庫的信息。 無論應用程序大小和用戶數量如何,此功能還可以簡化擴展。 通常,此框架可以描述為快速,強大,易于擴展和可定制的。
它是在GNU Lesser General的公共2.1許可下分發的免費軟件。
優點:
Hibernate使您可以通過在代碼中進行微小的更改來與任何數據庫進行通信。
MySQL,Db2或Oracle,Hibernate與數據庫無關;
緩存工具以查詢相同的錯誤目錄;
N + 1或緩慢的加載支持;
數據丟失風險低,并且需要的功率更少。
缺點:
如果電源關閉,您可能會丟失所有數據。
重新啟動可能非常慢。
查看下面的圖表,我們發現在這5年中,Hibernate的普及率一直在下降:
GitHub星級:4,3K。
7. MyBatis
MyBatis是用于Java編程的映射框架。 它簡化了將Java應用程序與SQL數據庫鏈接的過程:它充當它們之間的中間件。
通常,您將需要Java數據庫連接API才能將應用程序連接到關系數據庫。 MyBatis簡化了過程。 它使開發人員僅使用幾行代碼即可執行基本的SQL操作。
MyBatis可以與Hibernate框架進行比較。 它們都代表了應用程序和數據庫之間的一種橋梁。 唯一的區別是MyBatis不會將Java對象映射到關系數據庫。
優點:
簡便快捷的發展;
XML標記,支持動態SQL語句編寫;
非常適合編寫純SQL。
缺點:
SQL可能綁定到特定的數據庫供應商。
數據庫可移植性差。
根據Google的說法,對該框架的興趣正逐漸增加:
Github星級:13.6K。
8. Struts
Struts是用于創建企業級Java Web應用程序的開源MVC(模型-視圖-控制器)框架。 最初的Struts框架(Struts 1.x)在2007年與WebWork框架合并時進行了重建。 Struts 1.x和Struts 2.x不可互換,因為它們之間存在重要區別。 您可以從Struts的Releases頁面下載。
該框架的主要優點是其可移植插件,即JAR軟件包。 在這種情況下,Hibernate和Spring插件可分別用于對象關系映射和依賴項注入。 通過成功組織Java,JSP和Action類,該框架還有助于減少總體開發時間。
優點:
使用簡單,基于MVC設計模式;
與REST,JSON和AJAX配合使用;
通過插件與其他Java技術集成;
支持主題和模板;
使用基于POJO的簡單操作。
缺點:
難以瀏覽的文檔;
不適合較小的應用程序。
谷歌顯示Struts的知名度在2016-2018年達到頂峰,現在開始緩慢下降:
Github評分不高:1k星。 Synopsys,ExpertIO,Nsys Design Systems和其他公司使用Struts。
9. Vaadin
Vaadin是一個開放源代碼客戶端服務器框架,可讓您使用預先設計的UI組件創建Web應用程序。 它是專門針對業務應用程序而構建的,重點是可訪問,美觀且直觀的用戶界面。
Vaadin允許您使用純Java編寫UI,而不會陷入JS,HTML和CSS的困境。 此外,您可以使用HTML或視覺設計器創建布局。 Vaadin可直接從Java虛擬機提供對DOM的訪問。 此外,它還帶有可以通過樣式API自定義的現成主題。
在Vaadin 8之前,客戶端是基于GWT的。 Vaadin 10是該框架的重大改進:完全重寫了客戶端,刪除了GWT,并且Vaadin切換到Web組件標準和客戶端上的Google Polymer。 新的Vaadin組件是一組Web組件,可以與其他前端JavaScript技術(例如React和Vue甚至純JavaScript)結合使用。
優點:
高開發人員生產力和快速開發;
建立在Web組件標準上;
與任何常規Web技術相比,提供了許多組件,布局和不同的偵聽器;
自動化客戶端-服務器通信和路由;
擁有良好的文檔資料和活躍的社區。
缺點:
與其他可用技術相比,可伸縮性較差;
大型應用程序的初始加載可能很慢。
至于受歡迎程度,它正在緩慢下降:
Github評分:1,6K星。 Vaadin由Docucom,AXPM,CGI,HPD LendScape等使用。
10. JavaServer Faces(JSF)
JSF是一種JCP標準技術,用于在Java EE平臺上創作基于組件的用戶界面。 該框架可能不是最好的框架,但是最大的好處是Oracle支持,許多其他工具,出色的文檔以及友好的社區。
JSF可用于創建企業應用程序,本機程序和Web開發。 開發人員可以通過在頁面中組裝可重用的UI組件,將這些組件連接到應用程序數據源,并將客戶端生成的事件連接到服務器端事件處理程序,來構建Web應用程序。
優點:
JSF是Java EE的重要組成部分,對于使用IDE軟件的開發人員來說非常方便。
缺點:
要與JavaServer Faces一起使用,最好具有豐富的Java知識,一般地了解網絡技術,并在沒有任何框架的情況下具有在網絡上工作的經驗。
根據下圖,JSF逐漸失去了知名度:
如前所述,JSF并不是最好的技術,但對IDE軟件卻很有用。
“有哪些流行的Java框架”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。