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

2016年7款最佳 Java 框架

開發(fā) 后端
毫無疑問,Java 是目前最為流行的編程語言之一,這里我們挖掘出了一些比較受歡迎的框架的有效信息,它們可以減輕全球軟件開發(fā)人員的日常工作。RebelLabs的一項(xiàng)調(diào)查顯示,通過在線Java用戶論壇(虛擬JUG)媒體聯(lián)盟的調(diào)查統(tǒng)計(jì),2016年度最佳Java框架陣容出爐。

毫無疑問,Java 是目前最為流行的編程語言之一,這里我們挖掘出了一些比較受歡迎的框架的有效信息,它們可以減輕全球軟件開發(fā)人員的日常工作。

RebelLabs的一項(xiàng)調(diào)查顯示,通過在線Java用戶論壇(虛擬JUG)媒體聯(lián)盟的調(diào)查統(tǒng)計(jì),2016年度最佳Java框架陣容如下:

 

數(shù)據(jù)來源:RebelLabs for Zero TurnAround Inc.

 

我們不會僅僅基于上面圖標(biāo)的對比迫使你或讓你草率作出結(jié)論,但是我們會給你介紹每個(gè)概念的概述,供你分析和對比他們之間的區(qū)別,然后根據(jù)你的項(xiàng)目選擇最完美的匹配。

1. Spring MVC

[[174813]]

自從10多年前的第一次發(fā)布之后,SpringMVC老當(dāng)益壯,繼續(xù)保持著領(lǐng)頭羊的地位。在其完全擁抱 MVC框架之后,Spring 不斷的發(fā)展與變化著,轉(zhuǎn)變成了一個(gè)功能全面的面向互聯(lián)網(wǎng)應(yīng)用程序的Java框架, 它能提供給軟件工程師的是一個(gè)用于web應(yīng)用程序開發(fā)的強(qiáng)大工具集,以及針對安全項(xiàng)目的應(yīng)用程序配置。作為程序員世界最受歡迎的一員,Spring所擁有有發(fā)育良好的生態(tài)提供了許許多多的附加選擇: REST API 或者是 SOAP web 服務(wù), 安全(認(rèn)證和授權(quán)、加密)等等。這一選擇的另一個(gè)優(yōu)勢就是大公司的開發(fā)者同行們也都在使用這個(gè) Java 框架。因此,如果你有困難想要尋求幫助,他們隨時(shí)都能給予援手。

優(yōu)缺點(diǎn)

Spring 高居榜首并不是沒由來的。它能成為最好最知名的Java框架是因?yàn)?

  • 簡單的POJO測試數(shù)據(jù)注入方式。
  • 增強(qiáng)過的模塊化,因此擁有更好的代碼可靠性。
  • 不同模塊之間解耦和。
  • 能靈活運(yùn)用的依賴注入(DI)。

不管文檔有多少,Spring MVC都可能并非是一個(gè)Java開發(fā)的新手能掌控的,盡管這并不是框架的一個(gè)直接缺陷,但學(xué)習(xí)曲線真的是有點(diǎn)太陡了。因此,在碰到這個(gè) Java 框架中文檔相對比較缺乏的某些部分時(shí),處理起來是會有點(diǎn)困難的。你找的信息如果版本不同,興許也會有差異。順便提一句,依據(jù)我們的工程師的至上經(jīng)驗(yàn),Spring MVC是我們最喜愛的框架之一。

2. Struts 2

[[174814]]

為了更詳細(xì)的闡述現(xiàn)代軟件工程師廣泛使用的現(xiàn)有Java框架,我們決定參考Apache的Struts 1后繼版本Struts 2。這個(gè)Java框架對于使用構(gòu)建當(dāng)代Java EE Web應(yīng)用程序的工程師來說是一個(gè)很好的選擇。Apache軟件基金會為開發(fā)人員提供了一個(gè)廣泛的工具,用于創(chuàng)建企業(yè)級的面向Web的應(yīng)用程序,開發(fā)過程的優(yōu)化從開始貫徹到結(jié)束,還提供后期的維護(hù)。如果你還在為高負(fù)載系統(tǒng)(如廣播門戶)發(fā)愁,這個(gè)框架將是你的不二之選。

如果使用Struts 2實(shí)現(xiàn)Action類(普通POJO對象),那么測試編寫的代碼所需的工作量會較少。使用框架API,耦合變得更容易,有助于調(diào)整攔截器。

優(yōu)點(diǎn)和缺點(diǎn)

當(dāng)你問自己為什么要考慮Struts 2時(shí),一定會想到不必重寫或者不用實(shí)現(xiàn)Action類所帶來的極大便利——這些功能它已具備!IT工程師為多個(gè)操作創(chuàng)建重復(fù)設(shè)置代碼不再是一個(gè)問題,因?yàn)閿r截器會處理它。

但是,你可能會因?yàn)檫@個(gè)Java框架的重量級而放棄這個(gè)框架:有一些程序員發(fā)現(xiàn)它不夠靈活。

3. Hibernate

[[174815]]

盡管也沒有位列 RebelLabs 的名單當(dāng)中,但是在討論最好的 Java 框架時(shí), Hibernate 還是值得一提的。這個(gè) Java 映射框架借助于將持續(xù)存在的數(shù)據(jù)庫訪問操作替換為高層次的對象處理功能,來解決對象-關(guān)系的不匹配問題。每一個(gè)企業(yè)應(yīng)用程序的情況都不同,而Hibernate則擁有功能強(qiáng)大的工具套件來幫助后臺開發(fā)人員對其數(shù)據(jù)訪問層進(jìn)行微調(diào)。這是一個(gè)高級的 ORM 框架,你可以用它來在 Java 對象(實(shí)體)上進(jìn)行數(shù)據(jù)庫操作。利用 Hibernate 緩存來將 Java 環(huán)境中的數(shù)據(jù)持久化到數(shù)據(jù)庫是一個(gè)持久化的概念、

優(yōu)缺點(diǎn)

只要對你寫的代碼做點(diǎn)小修改,Hibernate 就可以幫助你同任何數(shù)據(jù)庫進(jìn)行通信, 它彌合對象和關(guān)系詞之間的鴻溝。最重要的是:

  • 不管是 Oracle, Db2, 或者是 MySQL, Hibernate 是 DB 獨(dú)立的。
  • 緩存機(jī)制能對類似的查詢操作進(jìn)行優(yōu)化。
  • 支持 N+1 或者懶加載。

盡管有其顯著的優(yōu)勢,但Hibernate并不允許多次插入操作,也不支持一些 JDBC 能支持的查詢操作。此外,如果是只有幾個(gè)表的小規(guī)模的項(xiàng)目,采用這個(gè)Java框架也許并不是一個(gè)好主意。

4. JSF

[[174816]]

作為java EE的一部分,JavaServer Faces被Oracle所支持。雖然這不是一個(gè)可以進(jìn)行快速java開發(fā)的最好框架,但它很容易使用,因?yàn)镺racle提供了大量文檔。此外,除非你離開java EE環(huán)境,JSF不需要任何的外部依賴,而功能非常強(qiáng)大。它擁有豐富的庫和工具(包括一個(gè)簡單的用戶界面生成工具),使之成為了一個(gè)神奇的魔法棒,無論應(yīng)用程序可能看起來有多么復(fù)雜,它都可以給予你支持與幫助。

優(yōu)缺點(diǎn)

如前所述,JSF是java EE的一個(gè)組成部分。因此,開發(fā)者可以使用IDE的軟件套件,以及來自業(yè)界領(lǐng)先的廠商提供的最高水平的支持。

相反,對于那些之前在網(wǎng)絡(luò)開發(fā)方面所具有的經(jīng)驗(yàn)和技能基礎(chǔ)還不夠牢固的人來說,JavaServer Faces還不太容易理解。

5. Vaadin

[[174817]]

當(dāng)現(xiàn)代開發(fā)者創(chuàng)建商業(yè)應(yīng)用程序,并使用GWT渲染終端網(wǎng)頁時(shí),Vaadin稱得上是一個(gè)超級流行的框架。Vaadin利用一個(gè)眾所周知的基于組件的方法,能夠適應(yīng)瀏覽器的變化,從而減輕了開發(fā)商的負(fù)擔(dān)。它擁有一套擴(kuò)展的用戶界面組件,以及各種不同的部件和控件,可以讓程序員在任何時(shí)候都可以建立一個(gè)很酷的應(yīng)用程序。

優(yōu)缺點(diǎn)

通過在java或HTML中的開發(fā)布局,Vaadin提供了可以使用MVC或MVP進(jìn)行數(shù)據(jù)綁定的方法。而且,拖放支持以及其他突出的特點(diǎn)簡化了對java應(yīng)用程序單頁UI的創(chuàng)建。

另一方面,由于Vaadin會向服務(wù)器發(fā)送回每一個(gè)事件,從而導(dǎo)致移動應(yīng)用程序用戶界面的反應(yīng)遲鈍,這是一個(gè)需要考慮的問題。

6. Google Web Toolkit

[[174818]]

GWT是另一個(gè)免費(fèi)的java框架,它允許程序員創(chuàng)建和優(yōu)化復(fù)雜的網(wǎng)絡(luò)應(yīng)用程序。GWT的軟件開發(fā)工具包包括核心的java API和小部件,構(gòu)建隨后可以編譯成JavaScript的應(yīng)用程序。

優(yōu)缺點(diǎn)

使用谷歌網(wǎng)頁工具包,你就可以通過單一的代碼庫(用java在瀏覽器和服務(wù)器端編程)來簡化開發(fā)和調(diào)試的過程。通過與其他技術(shù)的簡單集成可以使程序員在網(wǎng)頁中嵌入GWT小部件。能夠自定義部件的另一個(gè)好處是可以在GWT的幫助下創(chuàng)建。

然而,如果你是一個(gè)網(wǎng)頁設(shè)計(jì)師,GWT可能不是最好的java框架選擇;因?yàn)樗鼘τ趧?chuàng)建普通的HTML以及后期的動態(tài)內(nèi)容布局沒有什么幫助。

7. Grails

[[174819]]

這個(gè)獨(dú)特的框架被視為是提升工程師生產(chǎn)效率的動態(tài)工具,因?yàn)槠涓纱嗟腁PI設(shè)計(jì),合理的默認(rèn)值以及約定架構(gòu)。與java的無縫集成使得這個(gè)框架成為世界上眾多框架中的首選。一系列強(qiáng)大的特性,如基于sping的依賴注入和各式各樣的插件,可以提供創(chuàng)建現(xiàn)代基于web的app的所有需要的東西。

優(yōu)缺點(diǎn)

可以快速搭建新項(xiàng)目,腳手架項(xiàng)目可以幫助節(jié)省大量寶貴時(shí)間。有一個(gè)龐大的插件庫可以提供900多個(gè)容易安裝的不同插件。拋開Grails的美好,對于一個(gè)全棧java開發(fā)框架,它的ORM涵蓋了大量的功能,使得它成為相對的重量級軟件。

如何選擇?

在各種各樣的,2016年流行的框架中選擇適當(dāng)?shù)目蚣埽请y以完成的任務(wù)。就像每個(gè)公司尋找盈利模式,并依據(jù)該模式來創(chuàng)造自己在web端和移動端需要堅(jiān)守理念一樣,都是非常困難的。

無論你使用什么框架,謹(jǐn)記如下原則,所選框架需要具備,易于安裝,社區(qū)活躍,文檔豐富等特點(diǎn)。

依賴項(xiàng)目類型不同,有時(shí),明智的選擇是只使用一家公司或組織下的一套框架來解決需求,但通常更有意義的是將重量級框架以輕量級框架替代。

責(zé)任編輯:未麗燕 來源: 開源中國社區(qū)
相關(guān)推薦

2017-01-16 08:23:18

科技新聞早報(bào)

2018-05-10 09:00:57

數(shù)據(jù)分析工具可視化

2016-10-21 19:08:52

JavaScript

2015-08-25 09:53:22

Web開發(fā)Python框架

2017-01-13 16:32:40

開發(fā)

2012-07-18 09:24:08

最佳iPhone應(yīng)用

2017-01-09 16:11:28

開源容器數(shù)據(jù)庫

2016-02-24 09:19:54

2025-02-18 00:16:30

2015-03-30 16:41:43

JavaScript開發(fā)框架

2024-12-24 00:10:18

2016-07-18 10:34:59

2016框架Java

2015-12-18 10:00:53

2016科技

2016-03-31 09:23:59

2024-08-27 08:03:44

2024-12-16 00:36:44

2022-08-18 18:37:44

前端網(wǎng)絡(luò)開發(fā)

2021-12-29 07:09:43

React框架Vue

2016-11-11 15:33:16

云計(jì)算

2016-10-21 14:07:01

2016Java
點(diǎn)贊
收藏

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