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

五款用于Web應(yīng)用開發(fā)的優(yōu)秀Java框架

譯文
開發(fā) 后端
在本文中,我們將向您介紹適用于Web開發(fā)的五大優(yōu)秀Java框架,供您根據(jù)實(shí)際情況按需做出選擇。

【51CTO.com快譯】從1996年1月23日的首發(fā)到現(xiàn)在,Java已經(jīng)走過了24個(gè)年頭了。根據(jù)TIOBE指數(shù)(譯者注:該排行榜是根據(jù)互聯(lián)網(wǎng)上有經(jīng)驗(yàn)的程序員、課程和第三方廠商的數(shù)量,使用搜索引擎統(tǒng)計(jì)出各類排名)的顯示:Java持續(xù)排名第一。Java已證明了自己配得上用于定制軟件開發(fā)的優(yōu)秀通用編程語言。而且,包括ESPN、SnapDeal、以及阿里巴巴在內(nèi)的134,861個(gè)網(wǎng)站均將Java作為其主要的編程語言。

在下面提供的餅圖中,您可以清楚地看到Java作為編程語言,在各個(gè)行業(yè)中的使用情況。

不過,光使用Java語言來從零開始開發(fā)某個(gè)Web應(yīng)用程序顯然是不夠的,我們需要選擇適當(dāng)?shù)腤eb框架,以實(shí)現(xiàn)事半功倍的效果。在此,我們根據(jù)過往的項(xiàng)目經(jīng)驗(yàn),向您介紹適用于Web開發(fā)的五大優(yōu)秀Java框架,供您根據(jù)實(shí)際情況按需做出選擇。

1. Spring

Spring框架是一款功能強(qiáng)大的輕量級Web應(yīng)用開發(fā)框架。面對需要高性能的復(fù)雜Web應(yīng)用需求,Spring能夠提供出色的開發(fā)服務(wù),因此它在各個(gè)框架中能夠脫穎而出。Spring框架的核心宗旨是使得Java開發(fā)人員可以輕松地創(chuàng)建出企業(yè)級的應(yīng)用程序。

Spring提供了包括:Spring MVC、Spring Core、Spring Security、Spring Transaction、Spring Boost、以及Spring ORM在內(nèi)的許多模塊,以方便企業(yè)應(yīng)用根據(jù)實(shí)際情況靈活選用。如果您想深入了解其具體的使用場景和用法的話,可以參見《Spring框架注釋指南(A Guide to Spring Framework Annotations)》。

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

  • 它提供了一個(gè)輕量級的容器,用戶無需使用Web服務(wù)器、或應(yīng)用服務(wù)器軟件,即可啟動之。
  • 由于支持JDBC,因此可提高實(shí)際應(yīng)用的生產(chǎn)率,并減少錯(cuò)誤率。
  • Spring能夠同時(shí)支持XML,以及基于注釋的配置。
  • 它提供了代碼的向后兼容性,和可測試性。

2. JSF(Java Server Faces)

由Oracle開發(fā)的Java Server Faces(JSF),可用于創(chuàng)建企業(yè)級的應(yīng)用程序、各種原生應(yīng)用、以及Web應(yīng)用的開發(fā)。它往往也被用于為基于Java的應(yīng)用開發(fā)用戶界面。

作為一款穩(wěn)定的、且基于組件的MVC框架,JSF具有一種清晰的體系結(jié)構(gòu),用戶可以用它來明確地區(qū)分出目標(biāo)應(yīng)用的邏輯和表示。

JSF只需通過拖放UI組件,即可幫助開發(fā)人員創(chuàng)建用戶界面。開發(fā)者無需掌握諸如:HTML、CSS、JavaSript之類的高級客戶端技術(shù)知識,便可用它來簡化應(yīng)用程序的表示層,并進(jìn)行開發(fā)。

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

  • JSF是Java EE的組成部分。
  • 它提供了出色的工具和豐富的庫。
  • 由于允許用戶使用Web界面,來擴(kuò)展現(xiàn)有的后端Java代碼,因此用戶不必通過引入新的框架,來更改基本的應(yīng)用程序。

3. Google Web Toolkit

Google Web Toolkit(GWT)是一個(gè)完全免費(fèi)的,流行且開源的Web框架。它可以幫助開發(fā)人員針對Java Ajax應(yīng)用進(jìn)行開發(fā)和調(diào)試。

借助GWT,您可以編寫出各種復(fù)雜的、基于瀏覽器的應(yīng)用程序,而無需具備JavaScript等前端技術(shù)方面的專業(yè)知識。

當(dāng)然,GWT也有一些獨(dú)特的功能,其中包括:跨瀏覽器的可移植性、歷史記錄的管理、國際化、以及書簽。許多Google產(chǎn)品,包括:AdSense、Google Wallet、以及Blogger都是使用GWT編寫的。

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

  • 開源且完全免費(fèi)。
  • 對開發(fā)人員十分友好。
  • 支持常見的Web開發(fā)任務(wù)重用。
  • Google API可以在GWT應(yīng)用程序中被使用。
  • 提供國際化、跨瀏覽器的可移植性、UI抽象、書簽、以及歷史記錄管理。

4. Vaadin

Vaadin是一種用于簡化Java開發(fā)的Web應(yīng)用框架。它能夠方便開發(fā)人員構(gòu)建出自定義的Web開發(fā)服務(wù)。

該框架的主要優(yōu)勢在于客戶端與服務(wù)器端之間可以流暢地通信。Vaadin可以從Java虛擬機(jī)處直接訪問DOM。作為一個(gè)輕量級的框架,Vaadin Flow可被用于處理服務(wù)器端和客戶端之間的路由通信。Vaadin允許開發(fā)者將Vaadin組件集成到他們正在使用的任何一款I(lǐng)DE中。由于Vaadin是跨平臺類型的框架,因此用戶無需將代碼遷移到其他的平臺上。

在使用Vaadin的過程中,開發(fā)人員不需要具有豐富的HTML、CSS、以及JavaScript經(jīng)驗(yàn)。Vaadin會自動將Java轉(zhuǎn)換為標(biāo)記。

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

  • 通過支持拖放、以及其他出色的功能,它簡化了Java應(yīng)用單頁UI的創(chuàng)建。
  • 具有WebSocket支持的自動化“服務(wù)器端-客戶端”通信方式。
  • 使用MVC(Model-View-Controller)或MVP(Model-View-Presenter),來進(jìn)行數(shù)據(jù)綁定。
  • 帶有嵌套路由和參數(shù)支持的路由器。
  • 支持包括Kotlin和Scala在內(nèi)的JVM語言。
  • 內(nèi)置了對于Spring的支持。

5. Hibernate

Hibernate是一個(gè)對象關(guān)系映射(Object-Relational Mapping,ORM)型數(shù)據(jù)庫,可被用于開發(fā)出穩(wěn)定的Java框架。對象關(guān)系映射往往被用于橫跨兩個(gè)不兼容的系統(tǒng),以連接數(shù)據(jù)。Hibernate在關(guān)系數(shù)據(jù)庫管理系統(tǒng)(relational database management systems,RDBMS)和Java應(yīng)用程序之間,提供了良好的通信。它非常適合工作在復(fù)雜的生態(tài)系統(tǒng)中,并對數(shù)據(jù)流實(shí)現(xiàn)無縫化。

在使用諸如Java之類的面向?qū)ο蟮恼Z言時(shí),開發(fā)人員往往會遇到被稱為“對象關(guān)系阻抗不匹配”或“范例不匹配”的問題。Hibernate為開發(fā)人員提供了一個(gè)可以克服此類問題的框架。

Hibernate的查詢與SQL類似,稱為HQL(Hibernate查詢語言)。Hibernate可以直接將Java類映射到相應(yīng)的數(shù)據(jù)庫表上,反之亦然。Hibernate在其主文件--hibernate.cfg.xml中,提供了使用數(shù)據(jù)庫配置映射的各種Java類信息。

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

  • 一種強(qiáng)大的跨數(shù)據(jù)庫解決方案。
  • 可擴(kuò)展。
  • 數(shù)據(jù)可以輕松地實(shí)現(xiàn)轉(zhuǎn)換。
  • 可配置。

總結(jié)

希望上面介紹到的各種最受歡迎的、使用最廣泛的Web應(yīng)用開發(fā)Java框架,能夠幫助您從易用性、配套文檔、以及技術(shù)支持等需求維度,選出適合自己實(shí)際項(xiàng)目的框架。當(dāng)然如果您是一名新手,那么我建議從《Java信息圖(Java Infographic)》一文,快速熟悉并上手Java。

原文標(biāo)題:Top 5 Java Frameworks for Web Application Development,作者:Shivashish Thkaur

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2022-07-03 17:10:15

JavaScript編程語言開發(fā)

2024-01-02 00:18:56

Buffalo項(xiàng)目Go Web框架

2019-10-14 15:34:10

Web 開發(fā)框架

2023-01-04 11:40:41

編程語言Web開發(fā)

2022-07-11 06:43:21

測試框架Java

2022-09-02 17:47:46

Linux筆記應(yīng)用

2015-07-13 10:41:30

Web開發(fā) Python 框架

2011-11-29 16:07:36

移動Web開發(fā)框架移動開發(fā)

2017-05-23 14:20:17

WebPython框架

2015-08-25 09:53:22

Web開發(fā)Python框架

2014-03-28 15:36:43

移動WebJavaScript開發(fā)框架

2020-05-12 10:06:52

JavaScript開發(fā)框架

2020-11-05 09:39:32

Java技術(shù)開發(fā)

2014-03-27 10:28:31

移動Web開發(fā)框架

2023-02-03 17:29:46

2022-07-08 11:19:29

微服務(wù)Java框架

2022-10-27 20:37:53

開發(fā)web框架

2021-07-28 14:14:09

JavaScript開源框架

2011-05-19 17:00:56

Web框架

2022-09-05 16:21:28

開發(fā)Java操作系統(tǒng)
點(diǎn)贊
收藏

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