Ste*_*idt 45 java wicket tapestry web-frameworks
Apache Wicket(http://wicket.apache.org/)和Apache Tapestry(http://wicket.apache.org/)都是面向组件的Web框架 - 与Apache Foundation的基于行为的框架(如Stripes)相反.两者都允许您使用Java中的组件构建应用程序.它们看起来和我很相似.
这两个框架之间有什么区别?有人有经验吗?特别:
编辑:我已经阅读了两者的文档,我已经使用过两者.这些问题不能通过阅读文档来回答,而是根据使用这些问题一段时间的经验,例如如何在无状态模式下使用Wicket用于高性能站点.谢谢.
Eel*_*lco 41
我看到的一些相关差异:
我已经阅读了几次,人们认为Wicket通过继承工作很多.我想强调你有一个选择.有一个组件的层次结构,但Wicket也支持组合,虽然像IBehavior这样的构造(在其上构建了例如Wicket的Ajax支持).最重要的是,您可以使用转换器和验证器之类的东西,它们可以全局添加到组件中,甚至可以使用Wicket提供的一些相位侦听器作为交叉关注点.
Ser*_*gey 35
在学习Tapestry 5后修订.
Wicket的目标是尝试使Web开发类似于桌面GUI.他们设法以牺牲内存使用(HTTPSession)为代价做得非常好.
Tapestry 5的目标是对面向组件的Web框架进行非常优化(针对CPU和内存).
对我来说真正的重大缺陷是"Wicket支持无状态组件!" 争论"Wicket记忆犹新".虽然Wicket确实支持无状态组件,但它们并不是"Wicket开发的重点".例如,StatelessForm中的错误很长时间没有修复 - 请参阅StatelessForm - 验证失败后参数问题.
不幸的是,Tapestry 5教程没有强调像't:loop source ="1..10"......这样的Tapestry代码示例可能是一个不好的做法.因此,如果您的团队规模不小,那么应该将一些努力用于编写Tapestry使用惯例/良好实践.
我的建议: