【问题标题】:Should I choose Apache Click or Tapestry 5?我应该选择 Apache Click 还是 Tapestry 5?
【发布时间】:2011-07-06 17:47:04
【问题描述】:

我将决定是使用 Apache Click 还是 Apache Tapestry 5 框架。我应该选择哪一个?我正在寻找一个可用于在未来几年构建 Java EE Web 应用程序的框架。在接下来的几天里,我将在运行示例项目和自定义项目时对它们进行测试,但我想提前知道其中一个是否不稳定或对于大型企业应用程序来说不够大。我需要它在使用 Maven、各种 AJAX 和 Eclipse 时没有任何困难。

提前感谢您,StackOverflow 社区 :)

【问题讨论】:

    标签: jakarta-ee tapestry click-framework


    【解决方案1】:

    好的,谢谢德拉甘。我认为基本问题是您对面向组件的框架(Tapestry)与面向行动的框架(Click)是否满意。组件的本质,至少是 Tapestry 的方式,是框架可以接管你的大量工作;诸如如何形成 URL、如何命名查询参数或会话属性名称。此外,Tapestry 有很大的元编程空间,而以富含数据和操作的可变对象为中心的通用编程模型比处理典型的 servlet 有趣得多。我对 Click 的了解不够多,无法说明它如何或是否解决了这些问题,但我很乐意推荐 Tapestry,而不是我知道的任何其他框架。

    【讨论】:

      【解决方案2】:

      Tapestry 是用于复杂 JavaEE 项目的 Web 框架。 我已经使用它 3 年了,它从未失败过。

      您可以在 Tapestry5 中快速有效,但如果您不熟悉 IOC 概念等,可能需要一段时间才能习惯。

      我想说 Tapestry 有一些中等陡峭的学习曲线,但它对你能做的事情没有限制,几乎所有事情都做得相当优雅,框架在很多方面帮助你,而不是踩到你的脚。

      干杯

      【讨论】:

        【解决方案3】:

        我已经使用 Tapestry 一年多了,以下是一些我认为我会在此处未提及的要点:

        优点:

        1. Tapestry 只需要很少的 xml 配置,所以如果 xml 不是你的菜,你会很高兴的。例如,不再在 xml 中定义大量导航规则,如果您想将用户发送到页面,只需从操作处理程序返回页面类即可。
        2. 既然您提到了“企业”应用程序,值得注意的是,Tapestry 5 与 Spring 和 Hibernate 配合得非常好。您可以轻松地将 Spring bean 注入 Tapestry 页面,并将 Tapestry 服务注入 Spring bean。如果您需要注入 EJB,您可以wire them up as Spring Beans 并像注入 Spring bean 一样注入它们。
        3. Tapestry 是 really fast,即使在中等负载下也能在几十毫秒内做出响应。
        4. various sources 提供大量组件,因此您可以即插即用,无需重新发明轮子,为您节省大量时间。
        5. 非常有帮助且反应迅速的社区。​​li>
        6. 与eclipse配合良好,setup right时模板可使用代码补全。

        缺点:

        1. 与 Struts 相比,学习框架的细节需要付出更多的努力,但 IMO 比 JSF 容易得多。
        2. 快速开发导致旧版本也过时 很快,尽管已经(再次)承诺保持 这次向后兼容。

        关于 Click 我没有太多要说的,因为我从未尝试过,但请告诉我们您的决定!

        【讨论】:

        • “快速开发导致旧版本过快过时” - 这在长期选择框架时非常重要。当 Tapestry 5 发布时,我和许多其他使用 Tapestry 4 应用程序的用户都没有真正的支持和升级路径......
        • @snorbi 是的,这很不幸。我想我很幸运,大约一年半前我在 5.1 上开始了我的第一个 Tapestry 项目,直到现在升级到 5.3 非常容易。
        【解决方案4】:

        我使用过 Apache Click,但很失望......简单的事情很难做到,虽然我最初发现框架在概念上很优雅,但实际上它很快就变得不优雅了——基本的状态管理除了最简单的情况外,组件的数量非常繁琐。

        我也很失望地得知 Click 声称“完全支持 JSP”是不正确的——例如,他们的 Panel 组件,他们用于布局的核心组件之一,不能与 JSP 模板一起使用,它只支持Velocity 或 FreeMarker(截至 Click 2.3,我评估的最后一个版本)。此外,他们对修复这个问题不感兴趣——我实际上提交了一个补丁以允许面板和其他组件使用 JSP 模板,但他们表示兴趣有限并且从未接受过。

        关于 Tapestry,我不能说得有理有据,但我可以说,那天我放弃了 Click,转而使用 Play! 1.x 框架是一个快乐的框架(尽管在令人失望的 Play!2.0 发布之后,我又一次在寻找一个像样的静态编译 Web 框架)。

        【讨论】:

        • Magnus... 让我知道你会接受什么。我也是 play 1.X 的快乐用户。在他们 !@#$% 搞定之后,我现在正在使用 activeweb(去谷歌吧。)如果你喜欢玩,你很可能会喜欢它。
        【解决方案5】:

        我建议你两个都试试。从 apache 点击开始。开始和编写应用程序需要几天甚至几个小时。做了一个小应用之后,现在转向挂毯。这可能需要你相当长的时间来学习。你可能喜欢也可能不喜欢。 apache click 非常简单,您可以快速上手。 Tapestry 很复杂,可能有更多的功能。在他们之间是检票口。我对检票口更有经验,我已经用它做了几个应用程序。我已经尝试过 Tapestry5 好几次了。我已经放弃了,后来又回到了它,又放弃了。我现在正在尝试 apache click,它似乎相当不错。我的观点是,花一些时间在框架上,你会选择最适合你的。 Wicket、tapestry、click 和 JSF 是最流行的基于组件的 Java Web 框架。

        【讨论】:

          【解决方案6】:

          Tapestry 是一个非常棒的框架,我希望我能回到过去,使用 Tapestry 重做我所有的 Web 项目。只需尝试示例应用程序并使用它。您会很快意识到 Tapestery 为何如此出色!

          【讨论】:

          • 它还活着吗?我以为它现在早就死了。检查问题日期:)
          猜你喜欢
          • 2012-09-27
          • 1970-01-01
          • 2015-03-12
          • 2011-02-07
          • 2015-09-15
          • 2010-12-25
          • 1970-01-01
          • 2016-03-19
          相关资源
          最近更新 更多