自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

新聞 前端
在2018年,Java仍然是世界上最流行的編程語(yǔ)言。它擁有一個(gè)巨大的生態(tài)系統(tǒng),在全世界有超過(guò)900萬(wàn)Java開(kāi)發(fā)人員。

 在2018年,Java仍然是世界上***的編程語(yǔ)言。它擁有一個(gè)巨大的生態(tài)系統(tǒng),在全世界有超過(guò)900萬(wàn)Java開(kāi)發(fā)人員。雖然Java不是最直接的語(yǔ)言,但是您不需要從頭編寫Java程序。有許多優(yōu)秀的Java框架可以編寫在Java虛擬機(jī)上運(yùn)行的web和移動(dòng)應(yīng)用程序、微服務(wù)和REST api。

Java框架允許您關(guān)注應(yīng)用程序的業(yè)務(wù)邏輯,而不是編寫數(shù)據(jù)庫(kù)連接或處理異常等基本功能。此外,如果您有Java方面的經(jīng)驗(yàn),您可以快速入門。這些框架都使用相同的語(yǔ)法,使用相似的術(shù)語(yǔ)、范例和概念。

1.Play: Reactive Web and Mobile Framework for Highly Scalable Java Applications

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Play框架可以為桌面和移動(dòng)接口構(gòu)建輕量級(jí)的、web友好的Java和Scala應(yīng)用程序。Play是一個(gè)非常受歡迎的框架,被領(lǐng)英(LinkedIn)、三星(Samsung)、沃爾瑪(Walmart)、衛(wèi)報(bào)(Guardian)、威瑞森(Verizon)等公司使用。

Play經(jīng)常與其他編程語(yǔ)言的強(qiáng)大web框架相比較,比如Ruby的Ruby on Rails框架,Python的Django框架。實(shí)際上,Play是一個(gè)獨(dú)特的Java框架,因?yàn)樗灰蕾囉贘ava EE標(biāo)準(zhǔn)。相反,它打算消除傳統(tǒng)Java web開(kāi)發(fā)的所有不便,比如開(kāi)發(fā)周期緩慢和配置過(guò)多。它盡可能地類似于腳本語(yǔ)言的web框架(PHP、Python、Ruby等)。

在底層,Play構(gòu)建在Akka工具包之上,該工具包簡(jiǎn)化了在Java虛擬機(jī)上創(chuàng)建并發(fā)和分布式應(yīng)用程序。因此,Play使用了一個(gè)完全異步的模型,可以帶來(lái)更好的可擴(kuò)展性,特別是因?yàn)樗€遵循無(wú)狀態(tài)原則。

Play框架通過(guò)提供熱代碼重載、約定優(yōu)于配置以及瀏覽器中的錯(cuò)誤消息等特性,將開(kāi)發(fā)人員的工作效率放在首位。此外,它是一個(gè)反應(yīng)系統(tǒng),它遵循現(xiàn)代的系統(tǒng)架構(gòu)(響應(yīng)性、彈性、彈性和消息驅(qū)動(dòng))來(lái)實(shí)現(xiàn)更靈活和容錯(cuò)的結(jié)果。

2.PrimeFaces: UI Framework for Java EE and JavaServer Faces

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

PrimeFaces是一個(gè)流行的web框架,用于為Java EE和JavaServer Faces(見(jiàn)上面)應(yīng)用程序創(chuàng)建輕量級(jí)用戶界面。它被許多財(cái)富500強(qiáng)公司、政府機(jī)構(gòu)和教育機(jī)構(gòu)使用。

PrimeFaces庫(kù)確實(shí)是輕量級(jí)的。它打包為一個(gè)JAR文件,需要零配置,并且沒(méi)有任何依賴項(xiàng)。通過(guò)提供豐富的組件集(100+)、內(nèi)置的皮膚框架和預(yù)先設(shè)計(jì)的主題和布局,它允許您為Java應(yīng)用程序創(chuàng)建用戶界面。由于PrimeFaces構(gòu)建在JavaServer Faces之上,它繼承了一些特性,比如快速應(yīng)用程序開(kāi)發(fā)。您還可以向任何Java項(xiàng)目添加框架。

在PrimeFaces網(wǎng)站上,你可以找到一個(gè)很好的展示所有的早期組件、模板和主題的展示。這些組件帶有相關(guān)的代碼片段,您可以快速地將它們復(fù)制/粘貼到應(yīng)用程序中,或者在必要時(shí)對(duì)它們進(jìn)行調(diào)整。例如,這里有一個(gè)水平的mega菜單,允許您一起顯示根項(xiàng)的子菜單。

PrimeFaces也有一個(gè)很棒的主題設(shè)計(jì)器,這是一個(gè)基于sassbased的主題引擎,有超過(guò)500個(gè)變量、一個(gè)示例主題和字體圖標(biāo)。而且,如果你不想自己構(gòu)建一個(gè)主題,你也可以下載一個(gè)社區(qū)主題或者購(gòu)買一個(gè)高級(jí)的主題畫(huà)廊。

3.Spark Framework: Micro Framework for Web Apps and REST APIs

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Spark框架是Java和Kotlin編程語(yǔ)言的一個(gè)微型框架和領(lǐng)域?qū)S谜Z(yǔ)言。Kotlin也在JVM上運(yùn)行,它與Java的互操作性是100%的。使用Spark,您可以輕松地開(kāi)發(fā)web應(yīng)用程序、微服務(wù)和REST api。

微框架最初出現(xiàn)在Ruby和PHP等腳本語(yǔ)言中,由于專注于開(kāi)發(fā)速度和簡(jiǎn)單性,很快獲得了廣泛的關(guān)注。Spark受到Sinatra為Ruby開(kāi)發(fā)的web應(yīng)用框架的啟發(fā),并于2011年***發(fā)布。它不是MVC框架,但它可以讓你隨心所欲地構(gòu)建你的應(yīng)用程序。與大多數(shù)微框架一樣,它有一個(gè)小的代碼庫(kù),需要最少的配置,并且不需要編寫太多的樣板代碼。

事實(shí)上,您可以在幾分鐘內(nèi)啟動(dòng)Spark框架并運(yùn)行。默認(rèn)情況下,它在嵌入框架的Jetty web服務(wù)器上運(yùn)行。但是,您也可以在其他Java web服務(wù)器上使用它。根據(jù)Spark自己的調(diào)查,超過(guò)50%的用戶使用該框架創(chuàng)建REST api,這可以被視為它***的用例。Spark還支持高通信量的web應(yīng)用程序,每天服務(wù)超過(guò)10,000個(gè)用戶。

4.Spring Framework: Enterprise-level Java Application Framework

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Spring框架可能是最知名的Java框架,擁有巨大的生態(tài)系統(tǒng)和活躍的社區(qū)。它允許您構(gòu)建企業(yè)級(jí)Java應(yīng)用程序、web服務(wù)和微服務(wù)。

Spring框架最初是一個(gè)依賴注入工具,但是,多年來(lái),它已經(jīng)發(fā)展成為一個(gè)全面的應(yīng)用程序框架。它為您提供了一個(gè)包含所有內(nèi)容的編程和配置模型,該模型支持通用任務(wù),如建立數(shù)據(jù)庫(kù)連接或處理異常。除了Java之外,您還可以與Kotlin和Groovy一起使用這個(gè)框架,它們都在Java虛擬機(jī)上運(yùn)行。

Spring框架利用了控制反轉(zhuǎn)(IoC)軟件設(shè)計(jì)原則,根據(jù)該原則,框架控制定制的代碼(而不是傳統(tǒng)的編程,將自定義代碼調(diào)用到處理通用任務(wù)的其他庫(kù)中)。因此,您可以為您的Spring應(yīng)用程序創(chuàng)建松散耦合的模塊。

盡管Spring框架非常適合構(gòu)建企業(yè)級(jí)Java應(yīng)用程序,但它確實(shí)有一條陡峭的學(xué)習(xí)曲線。這是因?yàn)樗且粋€(gè)廣泛的框架,它打算為可能出現(xiàn)在企業(yè)級(jí)應(yīng)用程序中的每個(gè)任務(wù)提供解決方案,并且還支持許多不同的平臺(tái)。因此,配置、設(shè)置、構(gòu)建和部署過(guò)程都需要多個(gè)您可能不希望處理的步驟,尤其是在處理較小的項(xiàng)目時(shí)。Spring Boot(與Spring框架不同)是這個(gè)問(wèn)題的解決方案,因?yàn)樗试S您更快地設(shè)置Spring應(yīng)用程序,配置更少。

5.Struts: MVC Framework for Enterprise-level Java Applications

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Struts是由Apache Software Foundation維護(hù)和開(kāi)發(fā)的全功能Java web應(yīng)用程序框架。與Spring框架相比,它是一個(gè)擁有龐大社區(qū)的堅(jiān)實(shí)平臺(tái)。Struts允許您創(chuàng)建企業(yè)級(jí)Java應(yīng)用程序,隨著時(shí)間的推移,這些應(yīng)用程序很容易維護(hù)。

它遵循MVC軟件設(shè)計(jì)模式,并且有一個(gè)基于插件的體系結(jié)構(gòu)。插件使擴(kuò)展框架以適應(yīng)不同的項(xiàng)目需求成為可能。Struts插件是基本的JAR包。因此,它們是可移植的,您也可以將它們添加到應(yīng)用程序的類路徑中。一些插件與框架綁定(JSON插件、REST插件、配置瀏覽器插件等),而您可以從第三方源添加其他插件。

您可以將Struts與其他Java框架集成在一起,以執(zhí)行不構(gòu)建到平臺(tái)中的任務(wù)。例如,可以使用Spring插件進(jìn)行依賴注入,或者使用Hibernate插件進(jìn)行對(duì)象關(guān)系映射。Struts還允許您使用不同的客戶端技術(shù)來(lái)構(gòu)建應(yīng)用程序的前端,例如javascript頁(yè)面或具有角度的HTML。

但是,如果您希望創(chuàng)建可以在前端呈現(xiàn)的服務(wù)器端組件,那么Struts可能不是***的選擇。相反,您應(yīng)該查看具有不同架構(gòu)的框架,如Tapestry或Wicket(請(qǐng)參閱下面的兩個(gè)框架)。另外,請(qǐng)注意,由于您仍然需要注意一些關(guān)鍵的安全漏洞,Struts最近受到了負(fù)面影響。

6.Tapestry: Component-oriented Framework for Highly Scalable Apps

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Tapestry是一個(gè)基于組件的Java框架,可以創(chuàng)建可伸縮的web應(yīng)用程序。它對(duì)可重用組件的關(guān)注使它在架構(gòu)上類似于JavaServer Faces和Wicket框架。與Struts一樣,Tapestry也是Apache軟件基金會(huì)的一個(gè)項(xiàng)目。

可以將Tapestry頁(yè)面和組件編寫為普通的舊Java對(duì)象(pojo)。因此,您可以從框架訪問(wèn)整個(gè)Java生態(tài)系統(tǒng)。除了Java, Tapestry還支持Groovy和Scala,并與其他Java框架(如Hibernate和Spring)集成。Tapestry已經(jīng)在設(shè)計(jì)中考慮到了性能。因此,它為您提供了動(dòng)態(tài)類重載、異常報(bào)告、Ajax支持以及內(nèi)置組件和模板等特性。

Tapestry也是一個(gè)開(kāi)發(fā)人員友好的框架。它內(nèi)置了促進(jìn)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)的實(shí)用工具,并支持Selenium測(cè)試框架。Tapestry在單個(gè)服務(wù)器和服務(wù)器集群上可以很好地伸縮。使用Tapestry構(gòu)建的應(yīng)用程序在瀏覽器中運(yùn)行得很快,因?yàn)樗裱嗽S多***實(shí)踐,比如客戶端緩存、對(duì)并發(fā)線程的支持、JavaScript聚合和壓縮、集成GZip內(nèi)容壓縮等等。

7.Vaadin: Web Application Framework With a Focus on UX, Accessibility, and Mobile

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Vaadin為您提供了一個(gè)簡(jiǎn)化Java開(kāi)發(fā)的平臺(tái)。它允許您構(gòu)建以性能、用戶體驗(yàn)和可訪問(wèn)性為重點(diǎn)的可定制組件的web應(yīng)用程序。

關(guān)于Vaadin最有趣的事情是它的***版本(就在幾天前,也就是2018年6月)是如此的重要以至于連主要的媒體都報(bào)道了它。Vaadin 10以一種全新的方式接近web應(yīng)用程序開(kāi)發(fā):它使開(kāi)發(fā)人員能夠直接從Java虛擬機(jī)訪問(wèn)DOM。在新版本中,Vaadin團(tuán)隊(duì)將之前的單片框架分為兩部分。它有一個(gè)名為Vaadin Flow的輕量級(jí)Java框架,用于處理路由和服務(wù)器-客戶端通信,以及一組在用戶瀏覽器中運(yùn)行的UI組件。

這些組件是移動(dòng)優(yōu)先的,遵循***的web和可訪問(wèn)性標(biāo)準(zhǔn);它們是基于Web組件標(biāo)準(zhǔn)構(gòu)建的。您可以將Vaadin組件與任何前端框架(如React、angle或Vue)一起使用。創(chuàng)建者們還推薦它們作為漸進(jìn)式Web應(yīng)用的構(gòu)建模塊。您可以基于Vaadin組件構(gòu)建您自己的主題,或者使用Vaadin的兩個(gè)預(yù)定義主題:Lumo(默認(rèn))和材料。

Vaadin流為您提供了一個(gè)高級(jí)Java API來(lái)管理應(yīng)用程序的所有技術(shù)方面,從通過(guò)WebSockets進(jìn)行的服務(wù)器-客戶端自動(dòng)通信到數(shù)據(jù)綁定。隨著流在JVM上運(yùn)行,您可以訪問(wèn)整個(gè)Java生態(tài)系統(tǒng)。例如,您可以使用Spring Boot運(yùn)行應(yīng)用程序。Flow還允許您在Kotlin或Scala中編寫應(yīng)用程序。

8.Vert.x: Polyglot Event-driven Application Framework for the Java Virtual Machine

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Vert.x是在Java虛擬機(jī)上運(yùn)行的一個(gè)多語(yǔ)言框架。它允許您用編程語(yǔ)言編寫應(yīng)用程序,如Java、JavaScript、Groovy、Ruby、Scala和Kotlin。它的事件驅(qū)動(dòng)的體系結(jié)構(gòu)導(dǎo)致應(yīng)用程序能夠很好地伸縮,即使使用最少的硬件資源。

Vert.x是由Eclipse Foundation開(kāi)發(fā)和維護(hù)的,Eclipse Foundation***的項(xiàng)目是用于Java開(kāi)發(fā)的Eclipse IDE。而且,誰(shuí)會(huì)比Eclipse的創(chuàng)建者更了解Java呢?綠色的“x”。x是它的多語(yǔ)言性質(zhì),意思是您可以用幾種不同的語(yǔ)言編寫有效的代碼。它為每一種受支持的編程語(yǔ)言提供慣用api。

Vert.x是一個(gè)事件驅(qū)動(dòng)的、非阻塞的框架,它可以使用最少的線程來(lái)處理大量的concurrency。綠色。x也是相當(dāng)輕量級(jí)的,核心框架僅重約650 kb。它有一個(gè)模塊化的架構(gòu),允許你只使用你需要的模塊,這樣你的應(yīng)用程序就可以盡可能的靈活。綠色。如果您想構(gòu)建輕量級(jí)、高度可伸縮的微服務(wù),那么x是一個(gè)理想的選擇。

9.Wicket: Component-based Web Application Framework for Purists

流行的9個(gè)Java框架介紹:優(yōu)點(diǎn)、缺點(diǎn)等等

Wicket是一個(gè)基于組件的web應(yīng)用程序框架,類似于JavaServer Faces和Tapestry。它允許您使用純Java和HTML代碼編寫優(yōu)雅、用戶友好的應(yīng)用程序。該框架由Apache Software Foundation維護(hù),就像Struts和Tapestry一樣。

由于Wicket是一個(gè)基于組件的框架,所以Wicket應(yīng)用程序由可重用的頁(yè)面和組件(如圖像、按鈕、鏈接、表單等)組成。Wicket應(yīng)用程序的編程以pojo為中心,因此組件也是具有封裝和繼承等面向?qū)ο筇匦缘钠胀↗ava對(duì)象。組件被打包成可重用的包,因此您可以向它們添加自定義的CSS和JavaScript。

Wicket通過(guò)為超過(guò)25種語(yǔ)言提供開(kāi)箱即用的支持,使應(yīng)用程序、頁(yè)面和組件國(guó)際化。它內(nèi)置的Ajax功能允許您實(shí)時(shí)更新頁(yè)面的某些部分,而不需要編寫任何JavaScript代碼。Wicket也注意安全的URL處理。組件路徑是會(huì)話相關(guān)的,url不會(huì)顯示任何敏感信息。

結(jié)論

當(dāng)涉及到Java框架時(shí),請(qǐng)保持開(kāi)放的心態(tài),并進(jìn)行研究,找出最適合您的框架。有很多框架可以適合您的項(xiàng)目,所以使用這個(gè)指南來(lái)評(píng)估您的需求。

責(zé)任編輯:張燕妮 來(lái)源: 頭條科技
相關(guān)推薦

2025-02-27 09:00:00

RAG檢索增強(qiáng)生成RAG框架

2016-12-06 09:45:30

Web框架優(yōu)缺點(diǎn)

2020-06-12 07:57:55

Java框架編程語(yǔ)言Java

2011-03-25 15:39:47

DB2 9數(shù)據(jù)庫(kù)

2023-04-26 11:14:11

IT領(lǐng)導(dǎo)者遠(yuǎn)程工作

2017-06-27 14:02:09

前端框架Bootstrap

2022-10-17 06:30:23

PyLint

2010-10-22 10:59:43

SQL Server的

2017-07-14 14:50:00

架構(gòu)框架前端

2010-07-23 08:22:00

動(dòng)態(tài)語(yǔ)言框架

2009-06-16 14:18:54

Hibernate的優(yōu)

2021-01-27 09:00:00

開(kāi)發(fā)PHP框架

2012-06-07 09:55:19

MPLSWAN

2012-01-06 11:13:02

SinatraJava框架

2021-03-07 16:45:42

RPAAI機(jī)器人自動(dòng)化

2011-01-05 09:17:49

CSS框架

2010-11-22 14:42:13

MySQL行級(jí)鎖

2009-12-30 14:15:38

PPPoA體系

2009-06-16 14:11:36

Hibernate優(yōu)點(diǎn)Hibernate構(gòu)架

2010-03-24 18:58:17

Nginx緩存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)