JSF 使用详解

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(95)   2024-06-10 16:21:28

上周有一篇关于 “Javascript 框架的残酷生命周期” 的优秀 stackoverflow 博客文章。这篇文章是关于 Javascript UI 框架(angularjs、angular、jquery 和 react)流行和过时的速度。这篇文章的关键指标是每月关于框架的问题,这是证明这些趋势的合理指标。下载也会很有趣。

这让我开始思考 JSF 到哪里去了,我的出发点是将 JSF 叠加在 Javascript 数据之上——

很难看清楚,但根据 Stackoverflow 上提出的问题,JSF 正在下降。如果我们删除 Javascript,我们可以看到 2013 年左右开始下降

就是说题量比较少,水平比较稳定

这篇文章试图了解 JSF 的现状,以及 JSF 在现代开发中是否还有一席之地。

什么是 JSF?

JSF 是一个基于组件的 Web 框架,是 Java EE 的一部分。在 Java EE 8 添加其新的 MVC 框架之前,它是 Java EE 下唯一的前端框架。

JSF有什么好处?

对我来说,JSF 的关键优势在于 JSF 生态系统中的组件框架。特别是 PrimeFaces,或像 omnifaces 这样的实用程序库。它们可以让你快速开始项目,有大量的例子,特别适合团队或开发人员缺乏前端技能的项目。部署模型通常很简单,每个服务器只有一个 war 或 ear 文件

JSF 的当前版本是 2.3,目前正在制定 2.4 的规范。

JSF有什么不好的?

2014 年,JSF 受到了 thoughtworks techradar 的批评,因此被搁置。

批评的主要部分是 JSF 模型存在缺陷,因为它 –

“鼓励使用自己的抽象而不是完全拥抱底层网络模型”

他们确实做出让步,即 Web 模型在后来的 JSF 版本中变得更加突出。

这篇文章遭到反驳,特别是与最新的 JSF 版本有关。但它导致 JSF 被认为是一个难以使用的框架。

JSF 是 Marmite

JSF 是前端开发的精华。

什么是砂锅?它是一种酵母提取物,可以涂在吐司上。有些人喜欢它,有些人讨厌它,但没有中间立场。郑重声明,我讨厌马麦酱,但我喜欢 JSF。

我喜欢 JSF 的原因是您可以获得高质量的组件,这些组件成熟且文档齐全。它还具有允许前端技能薄弱的团队开发具有专业外观的网站的优势。有一个缺点是很难交付更复杂的需求,因为请求/响应模型在 JSF 下更加抽象。

您应该在新项目中使用 JSF 吗?

JSF 模型已经失宠。它被视为针对当今具有 RESTful API 后端的 Javascript 框架的遗留框架。这已将 Java 转移到实现 RESTful 微服务。这种方法通常可以比 JSF 更好地扩展。

stackoverflow 博客 post 展示了它在前端 Javascript 世界中并非一帆风顺。这些框架的寿命相对较短,尽管有迁移策略,但您确实有 javascript 框架过时的风险。

JSF 在这方面具有成熟模型的优势。还值得记住的是,如果您的团队缺乏前端技能,那么 JSF 将帮助您快速交付具有专业外观的网站。

问题

我很想听听其他人的经验,以及他们是否会在未来的项目中使用 JSF

标签2: Java教程
地址:https://www.cundage.com/article/jcg-use-jsf-next-project.html

相关阅读

Java HashSet 教程展示了如何使用 Java HashSet 集合。 Java哈希集 HashSet 是一个不包含重复元素的集合。此类为基本操作(添加、删除、包含和大小)提供恒定时间性...
SpringApplicationBuilder 教程展示了如何使用 SpringApplicationBuilder 创建一个简单的 Spring Boot 应用程序。 春天 是用于创建企业应...
通道是继 buffers 之后 java.nio 的第二个主要新增内容,我们在之前的教程中已经详细了解了这一点。通道提供与 I/O 服务的直接连接。 通道是一种在字节缓冲区和通道另一端的实体(通...
课程大纲 Elasticsearch 是一个基于 Lucene 的搜索引擎。它提供了一个分布式的、支持多租户的全文搜索引擎,带有 HTTP Web 界面和无模式的 JSON 文档。 Elasti...
解析器是强大的工具,使用 ANTLR 可以编写可用于多种不同语言的各种解析器。 在这个完整的教程中,我们将: 解释基础:什么是解析器,它可以用来做什么 查看如何设置 ANTLR 以便在 Java...
Java 是用于开发各种桌面应用程序、Web 应用程序和移动应用程序的最流行的编程语言之一。以下文章将帮助您快速熟悉 Java 语言,并迈向 API 和云开发等更复杂的概念。 1. Java语言...
Java中的继承是指子类继承或获取父类的所有非私有属性和行为的能力。继承是面向对象编程的四大支柱之一,用于提高层次结构中类之间的代码可重用性。 在本教程中,我们将了解 Java 支持的继承类型,...
Java Message Service 是一种支持正式通信的 API,称为 网络上计算机之间的消息传递。 JMS 为支持 Java 程序的标准消息协议和消息服务提供了一个通用接口。 JMS 提...
之前,我介绍了spring 3 + hibernate 集成 示例和struts 2 hello world 示例。在本教程中,我将讨论在将 spring 框架与 struts 与 hibern...
Java 项目中的一项常见任务是将日期格式化或解析为字符串,反之亦然。解析日期意味着你有一个代表日期的字符串,例如“2017-08-3”,你想把它转换成一个代表 Java 中日期的对象,例如Ja...