16

五款用于Web应用开发的优秀Java框架

 4 years ago
source link: https://developer.51cto.com/art/202003/613390.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

五款用于Web应用开发的优秀Java框架 - 51CTO.COM

五款用于Web应用开发的优秀Java框架

在本文中,我们将向您介绍适用于Web开发的五大优秀Java框架,供您根据实际情况按需做出选择。

【51CTO.com快译】从1996年1月23日的首发到现在,Java已经走过了24个年头了。根据TIOBE指数(译者注:该排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,使用搜索引擎统计出各类排名)的显示:Java持续排名第一。Java已证明了自己配得上用于定制软件开发的优秀通用编程语言。而且,包括ESPN、SnapDeal、以及阿里巴巴在内的134,861个网站均将Java作为其主要的编程语言。

在下面提供的饼图中,您可以清楚地看到Java作为编程语言,在各个行业中的使用情况。

b4771483a1fd73326a5b7d4d350b8531.png-wh_651x-s_1402873349.png

不过,光使用Java语言来从零开始开发某个Web应用程序显然是不够的,我们需要选择适当的Web框架,以实现事半功倍的效果。在此,我们根据过往的项目经验,向您介绍适用于Web开发的五大优秀Java框架,供您根据实际情况按需做出选择。

3ccea239c7a14fb63f59aec89d367024.png

1. Spring

Spring框架是一款功能强大的轻量级Web应用开发框架。面对需要高性能的复杂Web应用需求,Spring能够提供出色的开发服务,因此它在各个框架中能够脱颖而出。Spring框架的核心宗旨是使得Java开发人员可以轻松地创建出企业级的应用程序。

fefe550c61f554c2c2cd92cad8ac4259.png

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具有一种清晰的体系结构,用户可以用它来明确地区分出目标应用的逻辑和表示。

7a058643009f6fa2d754692b064c1eb6.png

JSF只需通过拖放UI组件,即可帮助开发人员创建用户界面。开发者无需掌握诸如:HTML、CSS、JavaSript之类的高级客户端技术知识,便可用它来简化应用程序的表示层,并进行开发。

优点

  • JSF是Java EE的组成部分。
  • 它提供了出色的工具和丰富的库。
  • 由于允许用户使用Web界面,来扩展现有的后端Java代码,因此用户不必通过引入新的框架,来更改基本的应用程序。

3. Google Web Toolkit

Google Web Toolkit(GWT)是一个完全免费的,流行且开源的Web框架。它可以帮助开发人员针对Java Ajax应用进行开发和调试。

c3e81898acc0f6c158fc46ac187b80e4.png

借助GWT,您可以编写出各种复杂的、基于浏览器的应用程序,而无需具备JavaScript等前端技术方面的专业知识。

当然,GWT也有一些独特的功能,其中包括:跨浏览器的可移植性、历史记录的管理、国际化、以及书签。许多Google产品,包括:AdSense、Google Wallet、以及Blogger都是使用GWT编写的。

优点

  • 开源且完全免费。
  • 对开发人员十分友好。
  • 支持常见的Web开发任务重用。
  • Google API可以在GWT应用程序中被使用。
  • 提供国际化、跨浏览器的可移植性、UI抽象、书签、以及历史记录管理。

4. Vaadin

Vaadin是一种用于简化Java开发的Web应用框架。它能够方便开发人员构建出自定义的Web开发服务。

c3fa183cbe863b47bcea6b8fa65e360a.png

该框架的主要优势在于客户端与服务器端之间可以流畅地通信。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应用程序之间,提供了良好的通信。它非常适合工作在复杂的生态系统中,并对数据流实现无缝化。

062a1fe60c57e2e53e96ec7f601ce84c.png

在使用诸如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】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

关注“51CTO技术栈”微信公众号获取更多精彩内容


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK