我们开始使用JavaEE6开发web应用程序。
我们对JSF生成的HTML的复杂性感到惊讶。我的意思是,即使是一个简单的链接也有一些javascript处理代码。在我看来,这是一个可用性问题,因为浏览器的手势(链接上的"ctrl+click“)根本不起作用。此外,我怀疑当我们需要维护代码或使用jQuery等javascript框架调整UI设计时,情况可能会变得更糟。它重组了我: Webforms vs ASP.Net MVC。复杂性与简单性。
无论如何,这是我第一次使用JSF。所以我真的很想读一读你的经验。
您是否知道更简单的Java EE呈现引擎?
您的JSF开发经验如何?
您是否使用JSF和大量的jQuery/Dojo/Script.aculo.us开发过web应用程序?
发布于 2011-06-10 23:30:18
当你问到“更简单的渲染引擎”时,很难定义“简单”是什么意思。JSF是一种非常独特的动物,恐怕在Java世界中没有比它更简单的东西了。
我对JSF的体验是非常积极的,这来自于一个有多年ASP.NET开发经验的人。学习曲线仍然是陡峭的,我无法想象没有某种形式的自定义Javascript,甚至可能没有自定义组件,复杂的企业系统是可能的,但是在我看来,它是比ASP.NET更简单的,也不是那么繁重的。他们解决了使ASP.NET如此难以使用的许多问题(例如,用于DOM、XHTML兼容的简单客户端ids )。
我最近开发了一个即将投入生产的应用程序,它只使用了Primefaces组件、标准Mojarra facelets、一个自定义组件,以及一些Javascript/隐藏输入字段解决组件框架错误的方法。除了我需要实现的几个变通方法之外,它非常简单。我对结果非常满意,利益相关者喜欢IT,我绝对会在我的下一个项目中再次使用它。
在组建一个团队时,我的真实经验告诉我,最好是让一个经验丰富的web应用程序开发人员作为该项目的领导者,一个在Javascript、CSS和Java web技术方面具有卓越经验的人。团队的其余成员可以是入门级开发人员,并提供少量的指导。
发布于 2013-01-28 20:55:16
我一直在与JSF合作一个大型项目。我有使用JQuery,普通的HTML/css/javascript,GWT和Gxt的经验。我可以告诉您,JSF是其中最差的。如果您希望后端代码独立于前端代码,那么JSP不是最佳选择。它将前端与后端捆绑在一起,没有明确的关注点分离。JSF的另一个问题是很难理解。使用前端技术(例如javascript、html和css)创建优秀的AJAX页面非常容易。我14岁的儿子在学校里学到了怎么做。使用JSF获得相同的效果非常复杂。看看如何定义为link:<h:commandLink value="New" immediate="true" action="#{projectUiService.showProjectCreate}" />。并且无法指定表单动作url。您必须使用JSF托管bean和导航语义。这是一种全新的前端语言。所以,即使你想在前端设置样式或者添加JQuery,你也会被填满的。
配置您的构建和运行时环境也很痛苦。jar文件之间存在如此多的相互依赖关系,以至于如果您没有正确的JSF、Richfaces和Spring jar组合,那么即使在构建环境之外,您也不可能获得应用程序。如果您想了解这一点,请转到maven搜索站点并查找类javax.faces.component.UIViewRoot。每个人和他们的狗都有。还要注意javax.faces和com.sun.faces -有什么不同?谁知道呢,但他们不能一起工作。有些版本只适用于特定版本的RichFaces。
我的建议是--保持清醒。给你的应用一个spring后端和一个普通的HTML前端。您不可能用JSF编写一个像样的大型企业级应用程序。那就太复杂了。你最终会得到一个几乎不可能维护的庞大的整体代码库。
发布于 2012-11-09 02:08:33
您是否真的需要像JSF这样的基于组件的框架,或者您是否正在寻找一种更传统的基于web请求的MVC框架?如果是这样的话,您可能需要查看Apache Struts2或Spring MVC。Spring MVC要求您使用核心Spring库。
https://stackoverflow.com/questions/6307205
复制相似问题