上周有一篇很棒的stackoverflow博客文章,主题是“ JavaScript框架的残酷生命周期” 。 这篇文章是关于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或诸如omn​​ifaces之类的实用程序库。 它们使您可以快速开始项目,拥有大量示例,特别适合团队或开发人员缺乏前端技能的项目。 部署模型通常很简单,每台服务器只有一个war或ear文件

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

JSF有什么不好的地方?

2014年,JSF受到了Thoughtworks技术雷达的批评,该批评被搁置了。

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

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

他们确实做出让步,认为Web模型在JSF的更高版本中变得越来越重要。

对此文章有一些反驳,特别是与最新JSF版本有关。 但这使JSF被认为是难以使用的框架。

JSF是Marmite

JSF是前端开发的代名词。

什么是软糖 ? 它是一种酵母提取物,可在烤面包上摊开。 有些人喜欢它,有些人讨厌它,但是没有中间立场。 出于记录,我讨厌marmite,但我喜欢JSF。

我喜欢JSF的原因是,您可以访问成熟且有据可查的高质量组件。 它还具有允许前端技能较弱的团队开发具有专业外观的网站的优势。 不利的一面是,由于JSF下的Request / Response模型更加抽象,因此很难交付更复杂的需求。

您应该将JSF用于新项目吗?

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

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

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

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

翻译自: https://www.javacodegeeks.com/2018/01/use-jsf-next-project.html

您将在下一个项目中使用JSF吗?相关推荐

  1. jsf登录注册页面_您将在下一个项目中使用JSF吗?

    jsf登录注册页面 上周有一篇很棒的stackoverflow博客文章,主题是" Javascript框架的残酷生命周期" . 这篇文章是关于Javascript UI框架(ang ...

  2. jsf 项目_您将在下一个项目中使用JSF吗?

    jsf 项目 上周有一篇很棒的stackoverflow博客文章,主题是" Javascript框架的残酷生命周期" . 这篇文章是关于Javascript UI框架(angula ...

  3. 当一个项目中同时存在webroot和webcontext时

    当一个项目中同时存在webroot和webcontext时,注意一定要删除那些没在使用的.还有要发布其中一个想要的目录到服务器中,具体方法是  选择相应工程-----properties-----de ...

  4. eclipse中将一个项目作为library导入另一个项目中

    1. github上搜索viewpagerIndicator: https://github.com/JakeWharton/ViewPagerIndicator 2. 下载zip包,解压,eclip ...

  5. javadoc 开源项目_在下一个项目中不使用JavaDoc的5大原因

    javadoc 开源项目 JavaDoc对于框架和库的开发是绝对必需的,这些框架和库为其他框架(例如Spring Framework,JDK)提供了公共接口. 对于内部企业软件和/或产品开发,我有以下 ...

  6. 在下一个项目中不使用JavaDoc的5大原因

    JavaDoc对于框架和库的开发是绝对必要的,这些框架和库为其他框架(例如Spring Framework,JDK)提供了公共接口. 对于内部企业软件和/或产品开发,我有以下原因会在将来忽略" ...

  7. 完美解决 - 如何将一个项目打包到本地maven库,然后供另一个项目中引用。

    1.说明 前几天本人想构建一个公共模块代码,比如校验,字符串处理等公共模块代码.需要在别的项目中引入.然后使用idea安装到本地maven库中后,在另一个项目中引入一直报错.踩过各种坑之后,特意整理一 ...

  8. 一个项目中不能同时出现两个main函数

    在写两个短程序的时候想着把两个cpp文件放到同一个项目中比较省空间,然后就出现了下面的问题:main函数已经定义过,然后将项目中的一个含有main函数的cpp文件删除之后再运行,可以运行 原因大概是m ...

  9. 一个项目中能提出哪些数据库优化_如何有效进行项目集管理?

    随着企业的扩张,业务往来日益增多,企业同时开展多个项目是不可避免的,如何有效进行多项目管理,是许多企业急需解决的问题. 这一趋势导致多项目管理角色的兴起.它与项目高效和谐地配合,为企业的快速发展提供了 ...

最新文章

  1. 计算机视觉工具包Luminoth
  2. OpenCV-Python教程(9)(10)(11): 使用霍夫变换检测直线 直方图均衡化 轮廓检测
  3. python threading模块的方法_Python THREADING模块中的JOIN()方法深入理解
  4. MFC+OPENCV+显示MAT类型图像
  5. 知乎热问:进入内核态究竟是什么意思?
  6. 吴恩达深度学习 —— 3.8 激活函数的导数
  7. springboot和springcloud及常用注解积累
  8. 献给自己技术成长的第一年
  9. 嵌入式系统一般用c语言编写,ARM嵌入式系统C语言编程
  10. 方程组变换+初等变换+矩阵等价+克莱姆法则
  11. perl 简明教程 perl教程集合
  12. 考研和计算机三级,考研考计算机与考软件有什么区别吗
  13. jQuery基础(菜鸟教程,建议收藏不然怕你后悔!)
  14. 【题解】食物链(并查集)
  15. 开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(四)
  16. ORACLE JOB无法自动执行
  17. python调用海康威视的摄像头,实时显示监控内容
  18. nina数据库的采样频率_知到奇异的仿生学第三单元章节测试答案选修课网课慕课答案...
  19. CSDN博客周刊·2008年第4期
  20. 银行春招无领导面试规则

热门文章

  1. codefoces 939E Maximize!好题
  2. MongoDB新建或删除索引
  3. 面试阿里挂了却拿到网易、点我达offer,一个三年经验Java程序员的面试总结
  4. 史上最全的 MySQL 高性能优化实战总结
  5. 在Swing和Swt中使用JavaFX
  6. MySQL中的读锁和写锁
  7. JavaFX之TableView
  8. 人脸检测解析json的工具类face_test
  9. Java标识符与命名规则
  10. 对查询出来的结果进行筛选(having)