Playframework Tapestry5 vs播放框架

Playframework Tapestry5 vs播放框架,playframework,tapestry,Playframework,Tapestry,我知道在比较一个框架和另一个框架时会遇到很多问题。我觉得我必须再加一个 与Tapestry5框架相比,play框架的优势是什么?你会推荐哪一个?为什么 以下是我发现的相似之处 两者都是无状态框架(我知道play更无状态) 这两种方法都可以通过重新加载实时类来提高开发人员的工作效率 为什么一个人会选择一个而不是另一个。我曾经用这两种方法做过“荣耀的hello world”类型的应用程序,我觉得它们非常相似。我对Tapestry没有直接的经验。但我们使用Play的一个项目中的一位同事对此进行了研究,

我知道在比较一个框架和另一个框架时会遇到很多问题。我觉得我必须再加一个

与Tapestry5框架相比,play框架的优势是什么?你会推荐哪一个?为什么

以下是我发现的相似之处

  • 两者都是无状态框架(我知道play更无状态)
  • 这两种方法都可以通过重新加载实时类来提高开发人员的工作效率

  • 为什么一个人会选择一个而不是另一个。我曾经用这两种方法做过“荣耀的hello world”类型的应用程序,我觉得它们非常相似。

    我对Tapestry没有直接的经验。但我们使用Play的一个项目中的一位同事对此进行了研究,他真的受够了。他有很多抱怨,但你可以找到大多数都列在清单上*

    就我个人而言,我认为Play和其他框架的主要比较点是:

    • 快速周转(编辑构建部署周期消失)
    • 快速开发/原型设计
    • 对Scala的支持(本地)
    • 使用框架/社区的用户满意度(如果用户抱怨框架/社区,这意味着什么)
    如果您的框架支持所有这些以及Play,那么您可以更深入地了解细节,比如它是否是无状态/有状态框架,等等


    *回退机器版本,因为帖子已从堆栈溢出中删除。

    播放框架不是基于组件的。没有一个Java类支持每个页面。相反,它遵循严格的MVC分离,其中应用程序的内容必须直接驻留在模型中

    Play与RubyonRails或Grails非常相似,但在Java中。 此外,还可以在自己的内置服务器(基于JBoss Netty)上部署Play应用程序


    选择哪一个主要取决于如何接近视图层。如果您喜欢纯HTML、CSS和JavaScript,请选择Play!。如果您喜欢Java组件,请使用Tapestry。

    还请注意,Play似乎与标准应用程序服务器(直接)不兼容;它不使用ServletAPI,但它自己定义了请求和响应


    在每个请求上重新编译/重新加载Java类也是相当苛刻的(如果这是FUD,很抱歉,这是我从JavaOne谈话中记得的)

    它不是基于组件的,而是基于动作的框架,如Struts或SpringMVC;它使用的模板是JSP的改进,但缺少Tapestry更完整的循环方法。Tapestry的大部分功能来自于从简单元素构建复杂功能

    Tapestry包括非常复杂的技术,用于处理打包在JAR中的资产(图像、样式表、JavaScript库)。它对用户和开发人员都是透明的,只需将jar放到类路径上,它们就会自动加载和配置

    我想玩!他有一些好主意,也有一个很好的名字,但是他和Tapestry在不同的联赛中踢球。避免任何服务器端状态是相当苛刻的。。。相比之下,Tapestry使用有限数量的服务器端状态并谨慎地管理该状态,这样做主要是为了在post语义之后采用重定向


    在面向操作的框架中,当您在许多不同的页面上有相同的行为时,您只能做到这一点。虽然我个人甚至会在单页应用程序上使用Tapestry,但Tapestry在与更大的团队开发更大规模的应用程序时确实非常出色。

    我一点也不知道玩什么,我只看过一些5分钟的介绍,但不喜欢,但我对Tapestry 5有一些经验。 优点是什么:

    • Tapestry是基于组件的,这将是第一个也是最重要的优势。组件是你不能没有的东西(当然,如果你喜欢的话;)
    • 它是非常模块化的,这意味着它很容易组合两个独立的项目。T5是围绕伟大的IoC容器构建的(T5团队应该更多地推广这个容器),因此很容易重新配置服务类(逻辑层)的默认行为
    • 您构建在类似html的模板之上(tapestry标记的显示量取决于您的编码风格)
    • 当需要时,很容易在服务器端持久化状态,然而,默认情况下,它就像您提到的那个样
    顺便说一句,tapestry 5行动手册刚刚在MEAP上发布

    再一次,请注意,我对游戏一无所知,只是试图解决你提到的问题。如果您想要Tapestry的更多优势(不是过度发挥,而是框架的整体优势,请给我发消息。我很乐意写更多(特别是我正在说服客户从Spring切换到T5,欢迎在演讲之前进行任何练习;)

    问候
    米沙

    这出戏的好处!框架与磁带5是:

    • 速度(快得多)
    • 您可以使用的现有代码/模块并节省时间
    Tapestry5还有第三方模块,但它们不会为您节省时间,它们会消耗时间。大多数代码都没有维护,您始终需要分叉、理解和修改所有第三方代码,以便它能够与最新的Tapestry版本一起工作。最后,自己写所有东西会更容易。通常,Tapestry5更昂贵,因为您需要计算代码维护。在每次Tapestry升级中,您都需要更改代码,因为方法已被弃用—不仅在您自己的代码中,而且在您集成的第三方的所有其他模块中。这是一个巨大的时间杀手,花费了很多钱

    比玩!在这里,您只需获取Facebook/oAuth身份验证之类的东西,它就能正常工作——同样在框架的下一次更新中,这是一个巨大的成本效益

    总的来说,我一直认为Java Web应用程序的开发、维护和托管成本最高。然而,在游戏中!,计算