1. 程式人生 > >7 個最佳的 Java 框架

7 個最佳的 Java 框架

毫無疑問,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允許你使用你寫的程式碼中的微小變化與任何資料庫通訊,彌合物件和關係詞之間的差距。最重要的是:

  • Oracle,Db2或MySQL,Hibernate是獨立於DB的。

  • 通過相似查詢的快取機制到bug資料庫。

  • N + 1或延遲載入支援。

雖然它有這些明顯的優勢,但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將每個事件傳送回伺服器。

6. Google Web Toolkit

GWT是另一個免費的Java框架,允許程式設計師建立和優化複雜的基於Web的應用程式。 GWT軟體開發套件提供核心Java API和小部件,用於構建之後編譯為JavaScript的應用程式。

優點和缺點

使用Google Web Toolkit,你可以獲得單個程式碼庫(Java中的瀏覽器端和伺服器端程式設計),從而簡化開發和除錯過程。與其他技術的簡單整合允許程式設計師在Web頁面中嵌入GWT小部件。自定義視窗小部件功能是另一個可以在GWT幫助下建立的好處。

然而,如果你是一個Web設計師,GWT可能並非Java框架的最佳選擇;它對那些純HTML和後期動態內容佈局並不和藹可親。

7.Grails

這個特殊的Web框架因為其固執的API,合理的預設值,以及約定優於配置的範例,使之被當作是一個提高工程師生產力的動態工具。無縫的Java整合使得這個特殊的框架成為了全世界大量程式設計師的最佳選擇。一系列強大的功能,例如Spring提供的依賴注入和各種外掛,提供了建立現代基於Web的應用程式所需的一切。

優點和缺點

快速設定一個新的專案和支架為程式設計師節省了大量寶貴的時間。一個巨大的庫提供了超過900種不同的易於安裝的外掛。儘管Grails是一個全棧開發的Java框架,但它還有一個Grails的物件關係對映覆蓋的龐大功能,使其成為了一個相對笨重的軟體。

那麼選擇什麼呢?

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

另一個問題是,你忙碌的小夥伴們是否準備好學習,是否有空餘時間分配給知識汲取。通常,將開發交給遠端團隊並獲得可盈利產品是非常值得的。快樂開發!

相關推薦

今年7最佳 Java 框架

導讀 毫無疑問,Java 是目前最為流行的程式語言之一,這裡我們挖掘出了一些比較受歡迎的框架的有效資訊,它們可以減輕全球軟體開發人員的日常工作。 RebelLabs的一項調查顯示,通過線上Java使用者論壇(虛擬JUG)媒體聯盟的調查統計,2016年度最佳Java框架陣容

7 最佳Java 框架

毫無疑問,Java是目前最需要的程式語言之一。在這裡,我們已經挖掘了一些關於框架趨勢的有用資訊,以減輕全球軟體開發人員的日常工作。 根據RebelLabs,也是線上Java使用者組(虛擬JUG)的媒體盟友所進行的調查,2016年最佳java框架的陣容如下: 我們並不希望你只看比較圖,而跳過對每

2016 年 7 最佳Java 框架

毫無疑問,Java是目前最需要的程式語言之一。在這裡,我們已經挖掘了一些關於框架趨勢的有用資訊,以減輕全球軟體開發人員的日常工作。 根據RebelLabs,也是線上Java使用者組(虛擬JUG)的媒體盟友所進行的調查,2016年最佳java框架的陣容如下:

7 最佳 Linux 電子書閱讀器

本文中我們涉及一些 Linux 最佳電子書閱讀器。這些應用提供更佳的閱讀體驗甚至可以管理你的電子書。 最近,隨著人們發現在手持裝置、Kindle 或者 PC 上閱讀更加舒適,對電子圖書的需求有所增加。至於 Linux 使用者,也有各種電子書應用滿足你閱讀和整理電子書的需求。 在本文中,我們選出了七個最佳

h5 7移動端框架

在這個時間開始學習移動開發真是最好不過了,每個人應該都有一些移動應用的創意,而且你並不需要任何的原生應用程式設計經驗,你只需要一些HTML的相關知識,懂一些CSS和JavaScript就夠了。如果你總聽別人說HTML5的移動應用太慢,我只能告訴你應該有一些主見,首先HTML5會越來越好,移動端的硬體也會越來

7常見Javascript框架介紹_+14

設計開發中的“框架”指一套包含工具、函式庫、約定,以及嘗試從常用任務中抽象出可以複用的通用模組,目標是使設計師和開發人員把重點放在任務專案所特有的方面,避免重複開發。通常的講,框架就是就是最常用的JavaScript框架和Web應用框架,當然,還有CSS框架(15個CSS框架簡介和Typogridp

20最佳Java集合框架面試題目

1為什麼Map介面不繼承Collection 介面? · Set是無序集合,並且不允許重複的元素· List是有序的集合,並且允許重複的元素· 而Map是鍵值對· 它被視為是鍵的set和值的set的組合· Map被設計為鍵值對的集合,所以不需要繼承Collectio

9基於Java的搜索引擎框架

rail 最小 detail 適合 light 註意 ssa 並且 pro 轉自:http://blog.csdn.net/xiaomin1991222/article/details/50980573 1、Java 全文搜索引擎框架 Lucene 毫無疑問,Lucene是

Java開發者的十大數據框架和工具

大數據 轉職 Java 工具 當今IT開發人員面對的最大挑戰就是復雜性,硬件越來越復雜,OS越來越復雜,編程語言和API越來越復雜,我們構建的應用也越來越復雜。根據外媒的一項調查報告,中軟卓越專家列出了Java程序員在過去12個月內一直使用的一些工具或框架,或許會對你有意義。先來看看大數據的概

流行的9Java框架介紹: 優點、缺點等等

優先 項目需求 ans ati asr 依賴註入 json插件 之前 聚合 流行的9個Java框架介紹: 優點、缺點等等   在 2018年,Java仍然是世界上最流行的編程語言。它擁有一個巨大的生態系統,在全世界有超過900萬Java開發人員。雖然Java不是最直

Java 中處理異常的 9 最佳實踐

lan method 永遠 是否 res ati 是你 dex mes 在本文中,作者介紹了9個處理異常的最佳方法與實踐,以舉例與代碼展示結合的方式,讓開發者更好的理解這9種方式,並指導讀者在不同情況下選擇不同的異常處理方式。 以下為譯文: Java中的異常處理不是一個簡單

2017年最流行的7Java框架

雖然Java一直被唱衰,但是直到現在Java軟體開發也堅持霸主地位不動搖,毫無疑問,Java是目前最熱門的程式語言之一,所以好程式設計師為大家收集了目前較受歡迎的java框架訊息。千鋒Java培訓課程堅持稀有的全程面授課程,大牛講師通過四大課程階段,帶領學員把Java語言學到不可思議的高度。

來自大神的推薦,7優秀的前端框架

如果是一位前端開發人員,對於前端框架,一定不會陌生,這些框架可以幫助使用者簡化網頁設計,降低介面開發週期以及提升介面美觀性的。 目前前端框架最流行的是JS+CSS 模式的框架,而真正優秀的又少之又少。     Bootstrap   超級流

Java 程式設計中關於異常處理的10最佳實踐

        異常處理是Java 開發中的一個重要部分。它是關乎每個應用的一個非功能性需求,是為了處理任何錯誤狀況,比如資源不可訪問,非法輸入,空輸入等等。Java提供了幾個異常處理特性,以try,catch 和 finally 關鍵字的形式內建於語言自

Java異常處理的9最佳實踐

無論你是新手還是資深程式設計師,複習下異常處理的實踐總是一件好事,因為這能確保你與你的團隊在遇到問題時能夠處理得了它。 在 Java 中處理異常並不是一件易事。新手覺得處理異常難以理解,甚至是資深開發者也會花上好幾個小時來討論是應該丟擲拋異常還是處理異常。 這就是為何大多

Java 列舉7特性

**在JDK1.5 之前,我們定義常量都是: public static final… 。現在好了,有了列舉,可以把相關的常量分組到一個列舉型別裡,而且列舉提供了比常量更多的方法。 ** 自定義列舉

7優秀的國內外移動端web框架

淘寶SUI Mobile框架   (light7框架 官網:http://www.light7.cn/) 官網地址:http://m.sui.taobao.org/ SUI Mobile 是一套基於 Framework7 開發的UI庫。它非常輕量、精美,只需要引入我們的CDN檔案

Java之CMS GC的7階段

CMS收集器的主要設計目標是:低應用停頓時間。它通過兩種方式實現這一目標: 不壓縮老年代,而是使用空閒列表來管理回收空間。 大部分標記清理工作與應用程式併發執行。 主要問題:由於不壓縮帶來的老年代堆碎片,或者在物件分配率高的情況下,都可能導致Full GC。 CMS收集器的GC週期主要由7

學習筆記1spring框架7模組組成

1.Spring Core Core模組是Spring的核心類庫,Spring的所有功能都依賴於該類庫,Core主要實現IOC功能,Sprign的所有功能都是藉助IOC實現的。 2.AOP AOP模組是Spring的AOP庫,提供了AOP(攔截器)機制,並提供常用的攔截器,供

編寫更好的 Java 單元測試的 7 技巧

測試是開發的一個非常重要的方面,可以在很大程度上決定一個應用程式的命運。良好的測試可以在早期捕獲導致應用程式崩潰的問題,但較差的測試往往總是導致故障和停機。 雖然有三種主要型別的軟體測試:單元測試,功能測試和整合測試,但是在這篇博文中,我們將討論開發人員級單元測試。