我将决定是使用 Apache Click 还是 Apache Tapestry 5 框架。我应该选择哪一个?我正在寻找一个可用于在未来几年构建 Java EE Web 应用程序的框架。在接下来的几天里,我将在运行示例项目和自定义项目时对它们进行测试,但我想提前知道它们中的一个是否不稳定或对于大型企业应用程序来说不够大。我需要它在使用 Maven、各种 AJAX 和 Eclipse 时没有任何困难。
提前谢谢你,StackOverflow 社区 :)
我将决定是使用 Apache Click 还是 Apache Tapestry 5 框架。我应该选择哪一个?我正在寻找一个可用于在未来几年构建 Java EE Web 应用程序的框架。在接下来的几天里,我将在运行示例项目和自定义项目时对它们进行测试,但我想提前知道它们中的一个是否不稳定或对于大型企业应用程序来说不够大。我需要它在使用 Maven、各种 AJAX 和 Eclipse 时没有任何困难。
提前谢谢你,StackOverflow 社区 :)
好吧,谢谢德拉甘。我认为基本问题是您对面向组件的框架(Tapestry)与面向行动的框架(Click)是否满意。组件的本质,至少是 Tapestry 的方式,是框架可以接管你的大量工作;诸如如何形成 URL、如何命名查询参数或会话属性名称。此外,Tapestry 有很大的元编程空间,而以富含数据和操作的可变对象为中心的通用编程模型比处理典型的 servlet 有趣得多。我对 Click 的了解不够多,无法说明它如何或是否解决了这些问题,但我很乐意推荐 Tapestry,而不是我知道的任何其他框架。
Tapestry 是用于复杂 JavaEE 项目的 Web 框架。我已经使用它 3 年了,它从来没有失败过。
您可以在 Tapestry5 中快速有效,但如果您不熟悉 IOC 概念等,可能需要一段时间才能习惯。
我想说 Tapestry 有一些中等陡峭的学习曲线,但它对你能做的事情没有限制,而且几乎所有事情都做得非常优雅,框架在很多方面帮助你,而不是踩到你的脚。
干杯
我用过 Apache Click,但很失望......简单的事情很难做到,虽然我最初发现框架在概念上很优雅,但实际上它很快就变得不优雅了——组件的基本状态管理是除了最简单的情况外,其他任何事情都非常麻烦。
我也很失望地得知 Click 声称“完全支持 JSP”根本不正确——例如,他们的 Panel 组件,他们用于布局的核心组件之一,不能与 JSP 模板一起使用,它只支持 Velocity 或 FreeMarker (截至 Click 2.3,我评估的最后一个版本)。此外,他们对修复这个问题不感兴趣——我实际上提交了一个补丁以允许面板和其他组件使用 JSP 模板,但他们表示兴趣有限并且从未接受它。
我无法谈论 Tapestry 的知识,但我可以说我放弃 Click 转而支持 Play 的那一天!1.x 框架是一个快乐的框架(尽管在令人失望的 Play!2.0 发布之后,我又一次在寻找一个像样的静态编译 Web 框架)。
我已经使用 Tapestry 一年多了,以下是我认为我会提出的一些要点,但这里没有提到:
优点:
缺点:
关于 Click,我没有太多要说的,因为我从未尝试过,但请告诉我们您的决定!
我建议你两个都试试。从 apache 点击开始。开始和编写应用程序需要几天甚至几个小时。做了一个小应用之后,现在转向挂毯。这可能需要你相当长的时间来学习。你可能喜欢也可能不喜欢。apache click 非常简单,您可以快速上手。Tapestry 很复杂,可能有更多的功能。在他们之间是检票口。我对检票口更有经验,我已经用它做了几个应用程序。我已经尝试过 Tapestry5 好几次了。我已经放弃了,后来又回到了它,又放弃了。我现在正在尝试 apache click,它似乎相当不错。我的观点是,花一些时间在框架上,你会选择最适合你的。Wicket、tapestry、click 和 JSF 是最流行的基于组件的 Java Web 框架。
Tapestery 是一个非常棒的框架,我希望我能回到过去并使用 Tapestry 重做我所有的 Web 项目。只需尝试示例应用程序并使用它。您会很快意识到 Tapestery 为何如此出色!