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