帮助选择基于Java组件的Web框架

Jac*_*122 2 java jsf wicket tapestry

我有兴趣尝试和学习基于组件的Web框架.目前,我只有像Spring MVC和Grails这样基于动作的框架的经验.我决定:JSF 2.0,Wicket和Tapestry.

我很感激帮助理解:

  1. 三个中哪一个"最容易"学习?
  2. 三者中哪一个拥有最好/最多的资源(书籍,网站,书籍)?
  3. 在代码(过去与未来的兼容性)和社区方面,三者中哪一个最稳定
  4. 三者中哪一个提供最大的性能/最少资源(CPU和内存)?

谢谢!

Mar*_*ark 7

我个人的偏好是Tapestry.但是,程序员效率是我的主要标准.如果这些对您来说是最重要的标准,那么您可能想要使用其他类似JSF 2.0的东西.

  1. 我发现Tapestry相当容易学习,但我有WebObjects的背景知识.例如,如果你只完成Struts编程,你可能会发现它有点困难.

  2. 大多数人通过邮件列表学习Tapestry.社区非常有用,档案非常有用.(http://tapestry.markmail.org)目前刚刚真正提高在挂毯用户文档一大推http://tapestry.apache.org和结果都很优秀.如果您想了解书籍的数量,请在亚马逊进行搜索.JSF 2.0和Spring MVC可能拥有最多的书籍.

  3. Tapestry 5在允许您将应用程序从5.0升级到5.1到5.2以及最小问题方面非常稳定.一些(声音)人抱怨他们无法将Tapestry 4应用程序升级到Tapestry 5.就个人而言,我宁愿处理一个具有干净起点并基于以前版本的经验而不是之前的代码库的框架.版本.如果您的目标是选择一个包含大量遗留代码的框架(例如,如果您想要咨询以帮助公司使用现有代码)那么您应该看看Struts.

  4. 性能通常很大程度上取决于你想用框架做什么,所以我不能给你一个具体的答案.我还没有看到任何框架比较,其中所有代码都是由专门研究该特定框架的人编写的.这意味着测试是如此基本,以至于它们不会告诉您任何实际操作,或者它们足够复杂,结果会偏向测试人员最常使用的框架.

    除非您尝试创建类似于eBay的东西,否则您可以使这些框架中的任何一个都能很好地运行.考虑到硬件的价格是多么便宜,您可能最好选择能够提供最佳程序员效率的硬件.


ant*_*nko 7

我想,你应该首先检查Matt Raible最近编译和更新的java web framework shootout:

就个人而言,我从版本3开始就是Tapestry用户:)并使用了所有这些用户.虽然,使Tapestry 4向后兼容3,然后4.1与4不兼容,最后5与其余部分不兼容对开发人员非常困难,我认为这是最好的.Tapestry 5在各个方面都优于任何以前的版本,现在贡献者继续添加很酷的功能以及硬核改进,而不会破坏向后兼容性.

我最喜欢Tapestry 5的是你可以用你自己的实现替换框架的几乎任何部分 - 它是灵活的和可定制的.

让我感到温暖的另一件事是,Tapestry贡献者非常专注于通过实现各种漂亮的组件/功能来提高我的工作效率(作为开发人员).

但这些只是我的情绪,毕竟,我会说哪一个记忆少或者有更多的书都没关系.重要的是哪一个让你/你的团队更快乐,更有动力,更有成效,而找到这个的唯一方法就是尝试每个人:)


小智 5

只有正确的答案是:在一些小的示例应用程序中尝试所有这些.但根据我的喜好,我会选择Tapestry 5.

AD1.它相当容易学习.随着时间的推移,它获得了足够的材料来学习如何使用它.用户列表也很棒,人们反响很快.

AD2.可能JSF最终会在学习材料类别中获胜,因为它是java标准.

AD3.我不认为挂毯5是向后不兼容的.它与t4和t3不同.它恰好具有相同的名称;)并且t5是稳定的并且尊重以前的版本超过2年.

然而,这也将由JSF赢得.它是java标准和java一样,它将在未来100年向后兼容.

AD4.这取决于谁测试应用程序以及如何实现功能.但是在这里,我记得JSF最后是公平的.

T5的好处是任何组件库都可以与任何其他lib兼容.这可能不适用于JSF.我认为,素面不能与冰面或任何其他实施相结合.

但从这3个我在实际项目中只使用挂毯.邪恶看起来不错,但我只是喜欢Tapestry.对于1.2之后的JSF,我不想尝试新版本,直到我必须这样做.Tapestry也是适合我需求的优秀框架.

想想你的老板.他们总是想要带有标准徽章的东西.这就是为什么选择最老版本的Struts,java 1.4和JSF总是一个好主意:/

问候米哈尔