web应用程序开发框架_2020年用于Web应用程序开发的最佳Java框架

客户端JavaScript框架风靡一时,但是如果您想为基于浏览器的客户端提供基于Web的体验,它们并不总是正确的答案。

如果您想与JavaScript框架保持距离,这是2020年我最适合Web应用程序开发和交付的Java框架。

1. Vaadin

Vaadin的总部设在芬兰,在德国和圣何塞设有办事处,在欧洲圈子中的名字往往比在北美圈子中的名字更熟悉,这对Java社区来说是不幸的。

Vaadin是一个开放源代码框架,它使自己与同类产品区分开来,因为它允许开发人员编写完全基于Java的用户界面。 开发人员不需要大量JavaScript,CSS和HTML知识即可在Vaadin中工作。 取而代之的是,框架将Java代码转换为标记,该标记被传递给客户端并由客户端使用。

如果您想要一个纯粹的基于Java的开发环境,可以创建与Angular和React等框架媲美的基于浏览器的体验,请尝试一下Vaadin。

2. Spring MVC

Spring MVC是一个简单而优雅的基于Java的服务器端Web开发框架。 它能够通过Java组件编码​​来管理应用程序状态和后端资源。 同时,Spring允许通过流行的模板引擎(如Thymeleaf,FreeMarker和Mustache)生成发送给客户端HTML和其他标记。

如果您已经使用过Spring IoC容器或Spring Boot,那么将MVC作为基于Java的服务器端渲染引擎是合理的选择。

web应用程序开发框架_2020年用于Web应用程序开发的最佳Java框架

Spring MVC是流行的Java Web框架,用于开发基于浏览器的应用程序。

3. JavaServer Faces

自2006年发布JSF 1.2以来,JavaServer Faces(JSF)便已成为Java EE规范的一部分。JSF在其基于组件的UI开发方法上,使其与其他基于Java的Web应用程序框架脱颖而出。

使用JSF,鼓励开发人员编写独立的,自包含的和可重用的组件,这些组件可以轻松地插入到Web页面中,然后与其他JSF组件进行交互。

JSF还包括一个功能强大且易于使用的模板引擎,称为

web应用程序开发框架_2020年用于Web应用程序开发的最佳Java框架

Java Web应用程序框架Facelets简化了基于Ajax的页面模板的开发。

由于推动了组件化,互操作性和模块化,该框架催生了几个基于JSF的流行库,包括RichFaces,PrimeFaces和ICEFaces。 任何开发商店都不应该单独使用JSF。 取而代之的是,从这些现有库之一中进行构建,以使JSF的开发变得更加轻松,并帮助团队避免JSF的许多弊端

尽管JSF定义自己为基于组件的框架,但它确实实现了前端控制器,该控制器允许以类似于其他基于MVC的Java Web框架的方式使用它。 尽管不一定会推荐这种用法,但尽管它与预期用途有很大不同,但它是可能的。

4. Java的MVC Web框架

Java的MVC规范(于2019年12月批准JSR-371时诞生)是一个非常简单的Java Web框架,它包含建立良好的模型-视图-控制器模式来开发Web应用程序,同时在很大程度上建立在JAX-RS REST API。 这种方法与其他Java Web框架相反, 其他Java Web框架使Servlet和JSP API成为它们构建的核心基础。

MVC的关键优势是用Java构建的微服务和基于容器的应用程序。 大多数微服务都需要某种形式的UI,无论是用于与客户端的交互还是用于管理员的维护仪表板。 由于大多数基于Java的微服务已经使用JAX-RS,因此Java的新MVC Web框架非常适合希望通过UI补充其微服务的用户。

5. Servlet和JSP

不要使事情变得比必须的复杂。

Servlet和JSP API的存在使基于Java的服务器端呈现成为可能。 Servlet和JSP是处理传入请求和开发分别显示在客户端Web浏览器内HTML的极其简单的方法。

所有现有的基于Java的Web框架都简单地建立在Servlet和JSP API之上。 本质上,使用Servlet和JSP API无法使用Spring MVC或JSF独自完成任何工作,并且花费了一些编程时间。 有时候,简单是最好的。

2020年最佳Java Web框架

在回顾中,如果要坚持使用基于浏览器的UI的服务器端呈现 ,那么应该考虑以下用于Web应用程序开发的最佳Java框架:

  1. 瓦丹
  2. SpringMVC
  3. JavaServer Faces(JSF)
  4. Java的新MVC 1.0 Web框架
  5. Servlet和JSP

对于那些想要在Web应用程序开发上保持服务器端控制力的人,这些是您应该在2020年考虑的Java Web应用程序框架。

翻译自: https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/The-best-Java-frameworks-for-web-application-development-of-2020