有了Javascript和jQuery这样的框架,您就有了完全的灵活性和完全的控制能力。对于ext等,您将失去许多控制,必须适应框架。使用JSF,您将完全失去控制,必须完全适应框架。您在生命周期等过程中被调用,最后您无法控制何时可以调用服务器,什么地方不能调用。如果你要做一些被认为是“特别”的事情,你就处于非常困难的境地。在JSF世界中,即使是诸如多色表排序或只能键入有限字符集(如数字字段)的字段等基本内容,也被认为是“特殊的”。
然而,您拥有的灵活性越大,您可以犯的错误或错误的做法就越多。高灵活性只适用于高度智能的程序员,其他人则会把这个项目变成无法管理的噩梦。
但是,由于JSF及其有限的灵活性,总是只有少数(甚至只有一种)正确的方法来完成某些事情。你是非常有限的,你不能做捷径,你必须写更多的XML等等,但是当适应标准时,对那些没有经验的或者低技能的程序员将产生的代码有更好的控制。因此,大公司喜欢JSF,因为它对他们来说“更安全”。
当我从GWT转到JSF时,我感到震惊,有多少事情(这对我来说是自然的)被认为是非常不典型的,以及有多少简单的事情是如此难以实现。更重要的是,即使做了最小的修改,比如在GWT/jQuery支持的应用程序中添加了“:”一个接一个的标签,这需要改变几十个具有本地化属性的文件,除了我之外,没有人会考虑这一点.