我目前在我的应用程序中使用Primefaces v4
和JSF v2.1
。虽然JSF是服务器端技术,但它会在服务器上发送所有html代码和处理,并使网络过于繁忙。此外,可扩展性也很重要。扩展应用程序太难了。即,对于会话复制和负载平衡,还需要存储视图对象。
我想升级JSF
和Primefaces
的版本,但上述延迟让我将视图转移到AngularJS
,它在客户端保留其视图并保留应用程序服务器灯。
迁移到AngularJS
或JSF
是否有任何方法可以解决此问题?这次迁移的利弊可能是什么?
答案 0 :(得分:3)
AngularJS是比JSF更现代的框架,正如您所指出的,它是客户端。 JSF是服务器端。 AngularJS的主要优点是响应速度更快,开发和维护更容易。基本上,您不需要学习如此多的技术和框架来使用AngularJS,这样可以节省时间和金钱。在JSF中,涉及的技术更多,例如你需要以某种方式处理导航(单页AngularJS应用程序要简单得多)。 我认为AngularJS的主要优点是它与服务器端无关。基本上,您可以在不触及GUI代码的情况下交换整个服务器实现。另一方面,你无法用JSF做到这一点。你必须留在Java。
答案 1 :(得分:3)
也许它的答案太晚了但无论如何我都会回答。 JSF + Primefaces是一个非常成熟的解决方案,因为它已经存在了一段时间。您将面临之前没有其他人面临的JSf挑战的可能性非常小。 所以,你可以在线获得各种支持。 Angular JS只是一个GUI /前端/客户端技术。另外,您需要自己实现后端。例如呈现来自服务器的数据网格。 是的,在JSF中,您需要实现后端,但只需要很少的努力。它会自动将列表与数据表绑定。 此外,Angular适用于单页应用,但对于企业,多路复用和复杂逻辑(以CRM为例),您需要一种成熟的技术。
更新: Primefaces为Angular引入了一个库。 https://www.primefaces.org/primeng/#/