JSF 2.2 是 运行 简单 Web 应用程序的不错选择吗?

Is JSF 2.2 good choice to run simple web application?

我是一名学生,我知道如何在 JAVA SE 中编程。但是我没有网络开发经验。

今年我要完成我的学士论文,我想磨练我在 JAVA EE 方面的技能。我想构建一个 简单 网络应用程序 - 类似于 "trivago" 的东西,以便人们访问我的网站并比较他们想要的目的地的酒店价格。

此 Web 应用程序还应 运行 以及休眠和 Web 服务 (Rest)。在 JSF 中构建此 Web 应用程序的核心是一个不错的选择吗?它与 hibernate 和 Rest 配合没有任何问题吗?

我在互联网上看到很多人都在抱怨 Spring MVC 更优越。他们中的一些人甚至声称您应该尽可能避免使用 JSF,因为编写代码很糟糕,而且它不能很好地支持 MVC 体系结构……但是我认为 JSF 2.2 与 JSF 1.2 相比取得了很大进步。对于我使用 JSF 的简单 Web 应用程序来说,这是一个不错的选择,还是我应该寻找另一个框架,如 Spring?

谢谢

多年来,我在 JSF 1.* 和 2.* 中开发应用程序。现在使用 Jax-RS,我们已经切换到 AngularJS 用于具有 RESTful 端点的前端。我永远不会回到 JSF。

如果你刚开始,我会开始学习 Node.js + Hapi.js + Aurelia。那就是未来,整个栈就是javascript。随着最近采用 ECMAScript 6(ES6,即 Javascript 规范)和即将到来的 ES7,node.js 是必经之路。

底线,跳过 JSF。要么去节点,要么做 Aurelia(或 AngularJS)+ Jax-RS。

我已经将 JSF 2.X 和 Spring MVC 用于基本的 Web 项目。我更喜欢 JSF,尽管它较新并且不像 Spring/MVC 那样普遍。 JSF 在概念上不同于 Spring MVC,因为在 JSF 中,您实际上是将一个 bean 绑定到页面,而在 Spring MVC 中,您是在 Spring 框架内运行。如果你没有 web 开发经验,我会先写一些简单的 JSP 页面来掌握窍门。

此外,通过 Spring MVC,我发现自己很快就转向了 Thymeleaf 以获取 client/web 页面,尽管它很有效,但我并没有对它产生太大的兴趣。带有 Primefaces 的 JSF 是有效的,尽管有点平庸。我还能够使用 Bootstrap,甚至在 JSF 中的某处找到了 Angular JS 的演示。我同意客户端框架的评论,例如,节点 JS、Angular JS、Primefaces、Richfaces,你应该为 Web 开发的客户端非常仔细地考虑什么。您确实需要能够理解和交谈 Ajax 或某种 javascript 与服务器的通信才能使您的网页达到标准。