五款用于Web應用開發的優秀Java框架
譯文【51CTO.com快譯】從1996年1月23日的首發到現在,Java已經走過了24個年頭了。根據TIOBE指數(譯者注:該排行榜是根據互聯網上有經驗的程序員、課程和第三方廠商的數量,使用搜索引擎統計出各類排名)的顯示:Java持續排名第一。Java已證明了自己配得上用于定制軟件開發的優秀通用編程語言。而且,包括ESPN、SnapDeal、以及阿里巴巴在內的134,861個網站均將Java作為其主要的編程語言。
在下面提供的餅圖中,您可以清楚地看到Java作為編程語言,在各個行業中的使用情況。
不過,光使用Java語言來從零開始開發某個Web應用程序顯然是不夠的,我們需要選擇適當的Web框架,以實現事半功倍的效果。在此,我們根據過往的項目經驗,向您介紹適用于Web開發的五大優秀Java框架,供您根據實際情況按需做出選擇。
1. Spring
Spring框架是一款功能強大的輕量級Web應用開發框架。面對需要高性能的復雜Web應用需求,Spring能夠提供出色的開發服務,因此它在各個框架中能夠脫穎而出。Spring框架的核心宗旨是使得Java開發人員可以輕松地創建出企業級的應用程序。
Spring提供了包括:Spring MVC、Spring Core、Spring Security、Spring Transaction、Spring Boost、以及Spring ORM在內的許多模塊,以方便企業應用根據實際情況靈活選用。如果您想深入了解其具體的使用場景和用法的話,可以參見《Spring框架注釋指南(A Guide to Spring Framework Annotations)》。
優點
- 它提供了一個輕量級的容器,用戶無需使用Web服務器、或應用服務器軟件,即可啟動之。
- 由于支持JDBC,因此可提高實際應用的生產率,并減少錯誤率。
- Spring能夠同時支持XML,以及基于注釋的配置。
- 它提供了代碼的向后兼容性,和可測試性。
2. JSF(Java Server Faces)
由Oracle開發的Java Server Faces(JSF),可用于創建企業級的應用程序、各種原生應用、以及Web應用的開發。它往往也被用于為基于Java的應用開發用戶界面。
作為一款穩定的、且基于組件的MVC框架,JSF具有一種清晰的體系結構,用戶可以用它來明確地區分出目標應用的邏輯和表示。
JSF只需通過拖放UI組件,即可幫助開發人員創建用戶界面。開發者無需掌握諸如:HTML、CSS、JavaSript之類的高級客戶端技術知識,便可用它來簡化應用程序的表示層,并進行開發。
優點
- JSF是Java EE的組成部分。
- 它提供了出色的工具和豐富的庫。
- 由于允許用戶使用Web界面,來擴展現有的后端Java代碼,因此用戶不必通過引入新的框架,來更改基本的應用程序。
3. Google Web Toolkit
Google Web Toolkit(GWT)是一個完全免費的,流行且開源的Web框架。它可以幫助開發人員針對Java Ajax應用進行開發和調試。
借助GWT,您可以編寫出各種復雜的、基于瀏覽器的應用程序,而無需具備JavaScript等前端技術方面的專業知識。
當然,GWT也有一些獨特的功能,其中包括:跨瀏覽器的可移植性、歷史記錄的管理、國際化、以及書簽。許多Google產品,包括:AdSense、Google Wallet、以及Blogger都是使用GWT編寫的。
優點
- 開源且完全免費。
- 對開發人員十分友好。
- 支持常見的Web開發任務重用。
- Google API可以在GWT應用程序中被使用。
- 提供國際化、跨瀏覽器的可移植性、UI抽象、書簽、以及歷史記錄管理。
4. Vaadin
Vaadin是一種用于簡化Java開發的Web應用框架。它能夠方便開發人員構建出自定義的Web開發服務。
該框架的主要優勢在于客戶端與服務器端之間可以流暢地通信。Vaadin可以從Java虛擬機處直接訪問DOM。作為一個輕量級的框架,Vaadin Flow可被用于處理服務器端和客戶端之間的路由通信。Vaadin允許開發者將Vaadin組件集成到他們正在使用的任何一款IDE中。由于Vaadin是跨平臺類型的框架,因此用戶無需將代碼遷移到其他的平臺上。
在使用Vaadin的過程中,開發人員不需要具有豐富的HTML、CSS、以及JavaScript經驗。Vaadin會自動將Java轉換為標記。
優點
- 通過支持拖放、以及其他出色的功能,它簡化了Java應用單頁UI的創建。
- 具有WebSocket支持的自動化“服務器端-客戶端”通信方式。
- 使用MVC(Model-View-Controller)或MVP(Model-View-Presenter),來進行數據綁定。
- 帶有嵌套路由和參數支持的路由器。
- 支持包括Kotlin和Scala在內的JVM語言。
- 內置了對于Spring的支持。
5. Hibernate
Hibernate是一個對象關系映射(Object-Relational Mapping,ORM)型數據庫,可被用于開發出穩定的Java框架。對象關系映射往往被用于橫跨兩個不兼容的系統,以連接數據。Hibernate在關系數據庫管理系統(relational database management systems,RDBMS)和Java應用程序之間,提供了良好的通信。它非常適合工作在復雜的生態系統中,并對數據流實現無縫化。
在使用諸如Java之類的面向對象的語言時,開發人員往往會遇到被稱為“對象關系阻抗不匹配”或“范例不匹配”的問題。Hibernate為開發人員提供了一個可以克服此類問題的框架。
Hibernate的查詢與SQL類似,稱為HQL(Hibernate查詢語言)。Hibernate可以直接將Java類映射到相應的數據庫表上,反之亦然。Hibernate在其主文件--hibernate.cfg.xml中,提供了使用數據庫配置映射的各種Java類信息。
優點
- 一種強大的跨數據庫解決方案。
- 可擴展。
- 數據可以輕松地實現轉換。
- 可配置。
總結
希望上面介紹到的各種最受歡迎的、使用最廣泛的Web應用開發Java框架,能夠幫助您從易用性、配套文檔、以及技術支持等需求維度,選出適合自己實際項目的框架。當然如果您是一名新手,那么我建議從《Java信息圖(Java Infographic)》一文,快速熟悉并上手Java。
原文標題:Top 5 Java Frameworks for Web Application Development,作者:Shivashish Thkaur
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】