使用Servlets / JSP或其他前端框架的JSF或MVC?

时间:2011-03-25 20:53:01

标签: java jsp jsf servlets java-ee

我正在使用Java开发社交Web应用程序。我需要开发我的Web浏览器应用程序的前端/ GUI。

我想知道什么是更好的策略来进行前端开发,无论是使用JSF 2.0和Linux等框架。像OR只是遵循servlet和JSP的MVC方法?

正如我所听到的,JSF确实使开发变得更简单,但学习曲线也不算太低,因此学习JSF还是值得直接继续使用servlet / JSP?

我是使用Java进行Web应用程序开发的新手&我几乎完成了为应用程序编写业务逻辑。

请根据以下参数证明您的答案:

  
      
  1. 表演&成本
  2.   
  3. 易于开发&时间(考虑学习时间)
  4.   
  5. 未来的代码维护
  6.   
  7. 您认为重要的任何其他参数
  8.   

更新(2012年9月7日):

我终于选择了JSF-2.0&直到约会都没有遗憾。学习曲线陡峭。这是更容易&使用像Primefaces这样的组件库,开发速度很快。国家储蓄有一些成本,但这些事情可以聪明地处理。社区是大而重要的事情现在已有详细记录。希望在不久的将来Stateless JSF即将到来,这将提升JSF的卓越性能。

5 个答案:

答案 0 :(得分:7)

对于一个业余爱好的webapp,自制一些MVC框架也不错。这是一个很好的学习练习之旅。但是,从长远来看,它会让你感到害怕,当然,如果你在网上发布它会变得很受欢迎。大多数现有的MVC框架都经过深思熟虑。大多数不可预见的警告都被考虑在内。唯一的框架API由第三方维护和记录。

此外,每当您的Web应用程序变得流行并且您需要更多开发人员来完成它以满足最终用户要求/愿望时,更容易找到已经熟悉现有框架的人员。有了一个自制的,可能有错误的MVC框架,你可能会发现那些渴望在接受维护之前潜入另一个学习曲线的开发人员较少,他们可能永远不会重新申请他们未来的工作/项目。

这并不是特别适用于JSF,而是适用于所有其他现有和流行的MVC框架,例如Spring MVC。至于JSF,一般来说,我在此之前已经写了很多关于它的文章。以下是一些很好的起点,可以阅读其中一个和另一个:

答案 1 :(得分:4)

对于像你这样的现代网络应用程序,如果你的责任是用户界面,你真的不希望你和你的html / css / javascript之间有任何“抽象层”。不要使用任何“组件”框架。

  

我听说JSF真的让开发更简单

您是否真的从实际产品中实际使用过JSF的真实webapp开发者那里听到了这个消息?或者只是JSF委员会拍拍自己的背影?或者一些老定时器的一厢情愿,认为他们不需要学习davascript javascript?

如果您选择JSF,请在沮丧之后将自己的经历报告给我们。

答案 2 :(得分:1)

最好使用一些MVC框架。

您可以使用任一基于组件的框架:

  • JSF =主要是标准的,但很难学,很多人不喜欢它
  • Tapestry =相当大,可能是好框架
  • Wicket,GWT - 基于组件的小型框架,方便,功能强大,智能,但我尚未使用它们
或者您可以使用面向请求的框架。
  • Spring MVC,Struts 2 =它们非常相似。 Spring MVC可能有更好的文档
  • Struts - 我不推荐这个,当你可以使用Struts 2或Spring MVC时 - 你可以相信我这一点

每个框架都有它的支持和依赖它取决于情况和你的知识。我不能给你单值答案。

答案 3 :(得分:0)

如果您正在探索选项,可能需要考虑Tapestry 5。多年来,我们一直在社交媒体领域的大型项目中愉快地使用它。它是一个易于使用的基于组件的MVC框架。我们能够快速发展,特别是现在我们已经建立了很多构建模块。

学习时间可能与增加任何新框架相提并论。我或许会说它比JSF少,而不仅仅是Spring MVC,尽管它实际上取决于你已经熟悉的内容以及你使用它的程度。我很快就在github上组建了一个非常小的项目,以便快速开始使用Tapestry 5,如果你对它感兴趣tapstack

至于长期使用基于Tapestry的应用程序,它对我们很有帮助。代码的维护比使用JSP时要好得多。它也很稳定。我们通过Tapestry提供了数十亿的页面浏览量,没有任何重大问题。

缺点是它不像其他一些Web框架那么常见。这肯定有点不同。我们觉得这是值得的,并且令人耳目一新。最终,它将取决于您的需求以及您认为最适合您的方式。祝你好运。

答案 4 :(得分:0)

Spring MVC非常容易学习,如果你有一个简单的网络应用程序,并且你想节省你的时间,它比JSF更好。

但是,如果您的Web应用程序不是那么简单,那么JSF目前胜过Spring MVC。它的模型更复杂,但结构更好,并得到广泛支持,因此在大多数情况下你不必再重新发明轮子。复杂的gui可以用更少的努力完成JSF。