2016 年 5 個最佳的 Java 框架

2021-03-06 尚學堂

譯文連結:http://www.codeceo.com/article/2016-7-best-java-framework.html
翻譯作者: 小峰

毫無疑問,Java是目前最需要的程式語言之一。在這裡,我們已經挖掘了一些關於框架趨勢的有用信息,以減輕全球軟體開發人員的日常工作。

根據RebelLabs,也是在線Java用戶組(虛擬JUG)的媒體盟友所進行的調查,2016年最佳java框架的陣容如下:

我們並不希望你只看比較圖,而跳過對每個框架的概述,因為裡面會對框架進行分析和對比,來幫助你根據你的項目選擇完美的工具。

1、Spring MVC


薑還是老的辣,Spring MVC自從它第一次發布已經有了十多年的歷史,但仍然處於領先地位。在為了擁抱完整的MVC框架的擴展之後,Spring繼續保持發展變化,並轉變成為了面向Internet的應用程式的全面Java框架,為軟體工程師在Web應用程式開發和應用程式配置以及安全項目上提供了強大的工具包。作為程式設計師中最受歡迎的框架之一,Spring有一個得到很好開發的生態系統,提供各種附加選項:REST API或SOAP Web服務,安全(身份驗證和授權,加密)等。選擇它還有一個好處是很多大公司裡的開發同行也選擇用這個特定的Java框架。因此,他們可以為你提供你所需的查詢幫助。

優點和缺點

沒有理由的,Spring在圖表的頂部沒有嵌套。它是最好和最知名的Java框架之一,因為:

通過使用POJO簡化測試數據的注入。

增強的模塊化,導致更好的代碼可讀性。

不同模塊之間的鬆散耦合。

依賴注入(DI)靈活使用。

雖然並非框架直接的一個缺點,忽略參考文檔數量,Spring MVC可能並非Java新手開發人員可以輕易掌握,它的學習曲線過於陡峭。因此,處理這個Java框架的某些部分可能會有點難,如果你碰上一個糟糕的參考文檔的話。你可能會發現不同版本之間的信息有所不同。

順便說一句,由於我們工程師的偉大經驗,Spring MVC是我們最喜歡的框架之一。


2. Struts 2

為了更詳細地闡述為現代軟體工程師廣泛使用的現有Java框架,我們決定引用Apache的Struts 1(Struts 2)的後續版本。這個Java框架對於那些構建當代Java EE Webapp的工程師來說真是一個不錯的發現。Apache Software Foundation為開發人員提供了一個廣泛的工具,用於創建面向企業的web應用程式,優化了從開始到最終點的開發過程以及後期維護。如果你正在對高負載系統(如廣播門戶)愁眉不展,那麼這是一個正確的選擇。

由於Struts 2實現好了的Action類(普通POJO對象),測試編寫代碼所需的工作量減輕了。使用框架的API,耦合變得更容易,這也有助於調整攔截器。

優點和缺點

當你問自己為什麼應該考慮Struts 2的時候,那就想想不必重寫或實現Action類的奢侈——它已經就位了! IT工程師需要為多個操作而創建重複設置的代碼不再是一個問題,因為攔截器會處理它。

然而,你可能會因為這個Java框架的龐大體型而望而卻步:一些程式設計師發現它不夠靈活。

3.Hibernate

雖然也不是在RebelLabs的列表中,但在討論最好的Java框架時,Hibernate值得一提。這種映射Java框架通過替換持久化的DB訪問高級對象處理函數來破解對象關係阻抗不匹配問題。隨著每個企業應用程式開始都有這樣的問題,Hibernate配備了一個偉大的功能套件,來幫助後端開發人員微調數據訪問層。這是一個高級的ORM框架,允許你對Java對象(實體)執行資料庫操作。它是一個持久性的概念——利用Hibernate緩存將數據從Java環境持久化到資料庫。

優點和缺點

Hibernate允許你使用你寫的代碼中的微小變化與任何資料庫通信,彌合對象和關係詞之間的差距。最重要的是:

雖然它有這些明顯的優勢,但Hibernate不允許多個插入,不允許JDBC可以做的一些查詢。此外,對於具有較少表格的小規模項目,此Java框架可能不是一個好的選擇。


4.JSF

作為Java EE的一部分,Oracle支持JavaServer Faces。雖然不是快速Java開發的最好框架,但它很容易使用,因為Oracle提供了偉大的文檔。此外,在你使用Java EE環境之時,你會發現JSF沒有外部依賴,反而提供了大量功能。豐富的庫和工具(包括一個方便創建用戶界面的工具集)使之成為了一個魔術棒,來支持你面對無論看起來有多複雜的應用程式。

優點和缺點

如上所述,JSF是Java EE的一個組成部分。因此,開發人員利用IDE軟體套件以及來自行業領先供應商最好水平的支持。

另一方面,JavaServer Faces太龐大,以致於對於那些在web開發基礎上的經驗和技能不夠堅固的人而言,非常難以理解。

5.Vaadin

使用GWT渲染結束網頁,Vaadin成為了現代開發人員在創建業務應用程式時選擇的流行框架之一。利用一個眾所周知的基於組件的方法,Vaadin通過將做的改變傳達給瀏覽器來減輕了開發人員的負擔。一個廣泛的UI組件,以及各種小部件和控制項,允許程式設計師隨時構建酷酷的應用程式。

優點和缺點

在Java,HTML或兩者中構建布局,Vaadin提供了使用或MVC或MVP綁定數據的機會。拖放支持以及其他突出的功能簡化了Java應用程式單頁UI的創建。

在缺點方面,行動應用程式的UI遲緩可能是一個問題,因為Vaadin將每個事件發送回伺服器。

那麼選擇什麼呢?

在2016年各種流行的Java框架中選擇合適的概念可能是一個麻煩的任務,因為每個公司在選擇獲勝方法時都會堅持他們自己基於web和移動app創建的思想。無論你使用的是什麼確切的框架,謹記許可證,易於安裝,網絡的活躍程度,以及手邊的文檔等。根據項目類型,有時,明智的做法是將所有工具放在一起挑選,但很多時候,「減肥」和轉向一個輕量級的概念更有意義。

另一個問題是,忙碌的小夥伴們是否準備好學習,是否有空餘時間分配給知識汲取。

添加堂妞微信:tangniu111,免費獲取IT課程


相關焦點

  • 最受歡迎的 Java Web 開發框架盤點
    Java開發框架排名列前3名,包括以下: 1) Spring網址:http://projects.spring.io/spring-framework/ 2) JSF網址:http://www.oracle.com/technetwork/java/javaee/download-139288
  • Javaweb開發學習路線及Java三大框架分享
    Java在客戶端的應用有java applet,不過使用得很少,Java在伺服器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術對Web領域的發展注入了強大的動力。的基礎語法,類,抽象類,接口,內部類等概念3: java核心編程,如輸入輸出流,多線程,集合,XML,正則表達式等4:java圖形化編程,如awt,swing5:java網絡編程,Applet,Socket,TCP/IP,NIO等6:java
  • Java【IO系列】基礎篇—1. IO框架
    結果,當時是了解了API的使用方法;可是一段時間之後,只能零零碎碎的記得一些片段,再要自己講出個所以然來,已經非常之艱難。之所以造成這種困境,我想主要是:一,學習的時候,理解的不夠徹底,沒有真正理解它的思想和框架。二,加之後來使用的較少,加速了遺忘的速度。在這裡面,最根本的問題還是理解,使用的目的也是為了更加深入的理解。最近,抽空整理以前所學的java基礎。
  • pacebox-springboot 1.1.5 發布,java 生態框架
    希望有志同道合的朋友一起維護該軟體、打造一款快速應用開發級生態框架。此版本將是spring cloud H版最終版,後續版本將於spring cloud年份版本同步。micro版後續所需開發得模塊:    商城、監控、支付、消息、任務新特性1:BusinessException提供忽略堆棧異常詳細 2:分頁工具類添加獲取請求的分頁Page 3:添加SpringServletUtil工具類,用於獲取request,response,進行響應操作等 4:i18n國際化文件迭代 5:
  • Java SSM框架相關基礎面試題整理
    Spring:輕量級框架作用:Bean工廠,用來管理Bean的生命周期和框架集成。兩大核心:①. IOC/DI(控制反轉/依賴注入) :把dao依賴注入到service層,service層反轉給action層,Spring頂層容器為BeanFactory。②. AOP:面向切面編程2、Spring的事務?
  • Java Dubbo 框架編譯運行
    Dubbo是一套開源的Java框架,採用全Spring配置方式,可用來對外提供api接口。Dubbo源碼在github上。從github上倉庫apache/incubator-dubbo下載Dubbo的原始碼,需要系統中已安裝java sdk和maven,java sdk是編譯工具,maven是倉庫依賴管理工具。進入incubator-dubbo目錄,使用maven來編譯軟體包,運行命令mvn package生成軟體包jar文件。
  • 2017年排名Top 100的Java類庫——在分析了259,885份源碼之後得出的結論
    原作者:Henn Idan一年的時間就這麼匆匆過去了,就好像像我們昨天才剛剛從GitHub上分析了2016年的Top Java類庫一樣。今年,我們在數據檢索方面採用了Google的BigQuery,來得到更精確的結果。譯者註:BigQuery 是 Google 專門面向數據分析需求設計的一種全面託管的 PB 級低成本企業數據倉庫。
  • 你必須掌握的 21 個 Java 核心技術!
    不過對於一個有著3年以上Java經驗的資深開發者來說,不會JVM幾乎是不可接受的。JVM作為java運行的基礎,很難相信對於JVM一點都不了解的人可以把java語言吃得很透。我在面試有超過3年Java經驗的開發者的時候, JVM幾乎就是一個必問的問題了。
  • GitHub上非常實用的40個開源JAVA項目
    GitHub:http://h5ip.cn/O9752.scribejava/scribejava:一個簡單的 Java 實現的 OAuth/OAuth2 庫。GitHub:http://h5ip.cn/0pNf3.winterbe/java8-tutorial:絕對值得一看的Java8指南、教程。
  • 淺談Java的Fork/Join並發框架
    Fork/Join是什麼   Oracle的官方給出的定義是:Fork/Join框架是一個實現了ExecutorService接口的多線程處理器。它可以把一個大的任務劃分為若干個小的任務並發執行,充分利用可用的資源,進而提高應用的執行效率。   Fork/Join實現了ExecutorService,所以它的任務也需要放在線程池中執行。
  • java簡單的封裝翻譯框架
    1,準備工作:註冊一個百度帳號,在http://api.fanyi.baidu.com/api/trans/product/apidoc個網址裡面拿到appid和key值2,直接開始擼代碼:>java簡單的封裝翻譯框架goodit 2018-02-06 11:421,準備工作:
  • Springmvc框架對json的支持 Java程式設計師必看
    json是一種前後端分離思想所使用的存儲數據的格式,然而使用Springmvc這個框架在對前臺參數處理時會遇到很多坑,下面我們就模擬一下前臺發送json數據看springmvc能否成功接收。解決了發送json的問題後,又遇到一個bug,發送的json字符串返回的確實一個http415錯誤代碼,大概是說後端接收的參數類型不正確的意思,下面請看java代碼。
  • Java 集合框架面試問題集錦
    (點擊上方公眾號,可快速關注)來源:ImportNew - 朱偉傑Java集合框架(例如基本的數據結構)裡包含了最常見的
  • 動力節點Java學院2021年Java學習路線圖最新出爐啦
    動力節點深知同學們的學習困難,為此整理了一套最新的2021年新版學習路線圖,增加了目前企業最新應用技術,這套學習路線圖,只要你完成一半基本就可以找到很不錯的工作了,如果想要獲得高薪,那就努力學完它吧!第一階段:Javase基礎
  • 給Java新手的一些建議——Java知識點歸納(Java基礎部分)
    不過對於一個有著3年以上Java經驗的資深開發者來說,不會JVM幾乎是不可接受的。JVM作為java運行的基礎,很難相信對於JVM一點都不了解的人可以把java語言吃得很透。我在面試有超過3年Java經驗的開發者的時候, JVM幾乎就是一個必問的問題了。當然JVM不是唯一決定技術能力好壞的面試問題,但是可以佐證java開發能力的高低。
  • GitHub上最受歡迎的5大Java項目
    (準確地說,大概是744K個)。但是開發人員最興奮的是哪些項目?今天,我們來看看GitHub上一些最流行的Java倉庫。1. MockitoMockito 並不是無酒精混合飲料的意思。Mockito 是一個用Java編寫的單元測試框架,Mockito 2.0為高級框架集成提供了更好的API。
  • Java的21個技術點和知識點歸納
    不過對於一個有著3年以上Java經驗的資深開發者來說,不會JVM幾乎是不可接受的。  JVM作為java運行的基礎,很難相信對於JVM一點都不了解的人可以把java語言吃得很透。我在面試有超過3年Java經驗的開發者的時候, JVM幾乎就是一個必問的問題了。當然JVM不是唯一決定技術能力好壞的面試問題,但是可以佐證java開發能力的高低。
  • 9 個 Java 處理 Exception 的最佳實踐!好用~
    本文給出幾個被很多團隊使用的異常處理最佳實踐。1. 在Finally塊中清理資源或者使用try-with-resource語句當使用類似InputStream這種需要使用後關閉的資源時,一個常見的錯誤就是在try塊的最後關閉資源。
  • Java程式設計師的4個職業發展方向,該如何把握黃金5年?
    天津藍白金(微信 ID :tjbdqn2001)在Java程序界流行著一種默認的說法叫「黃金5年
  • Java 8裡面 lambda 的最佳實踐
    Java為何需要Lambda1996年1月,Java1.0發布了,此後計算機編程領域發生了翻天覆地的變化。商業發展需要更複雜的應用,大多數程序都跑在更強大的裝備多核CPU的機器上。帶有高效運行期編 譯器的Java虛擬機(JVM)的出現,使得程式設計師將精力更多放在編寫乾淨、易於維護的代碼上,而不是思考如何將每一個CPU時鐘、每一字節內存物盡其 用。