我刚刚偶然发现了以下新的java web框架: Play
http://www.playframework.org/
http://www.playframework.org/documentation/1.0/home
有了这么多令人惊叹的功能,我很惊讶我以前从来没有听说过它……
听起来像是java web开发的乐土……
有人试过吗?有没有真正的经验?你认为它值得研究吗?
发布于 2009-10-30 18:51:46
我同意Jason的观点,Play可能会被证明比Grails更好。有了四个Grails项目(在此之前还有两个Tapestry项目和一个Wicket项目),我认真地考虑了Play next。
我认为Grails最酷的一点是“一切都是Groovy的”。也就是说,可以使用Groovy编写所有内容(除了HTML和CSS) --域、控制器、服务、页面模板(GSP)、标记库、Hibernate API (GORM)、单元测试(GUnit)和构建脚本(GANT)。您甚至可以在Groovy中编写shell脚本。因此,能够使用一种语言编写应用程序的所有方面似乎又像是一种早就应该进行的简化--让人回想起用C++或Delphi等单一语言编写桌面应用程序的日子。然而,我了解到,一种尺寸并不适合这里的所有人。
首先,IDE对Groovy的支持不是很好。IntelliJ做得最好,但是由于Groovy是动态的,所以它只能做到这一点。重构工具不能(不能)捕获所有的东西,所以你不能百分之百地信任它们。这意味着你必须对单元测试特别警惕。这里,由于Grails在很大程度上依赖于运行时发生的动态“魔术”,所以Grails中的单元测试必须依赖于一个广泛的模拟层来模拟它,而这个模拟层是奇怪的。第三个问题是,您正在编写的许多所谓的Groovy代码实际上是特定于域的语言(DSL)代码。(长话短说,DSL是Groovy的缩写,它利用了Groovy和许多语法都是可选的这一事实。)Grails对不同的配置、URL映射等使用不同的DSL,这是不一致的。例如,指定log4j设置的方式看起来与指定数据源的方式完全不同,也不像Groovy语言所基于的纯Java语言。因此,“一切都是Groovy”的承诺无论如何都会破灭。
在这种情况下,我知道Play团队是从哪里来的。
对于域、控制器、服务和JUnits,
当我深入研究的时候,我会再次报告的。
发布于 2009-11-02 21:52:45
我尝试过Play,我印象深刻:它在提供一个比大多数框架简单得多的有用的开发模型方面做得很好。最重要的是,运行时在“开发模式”下直接解析.java文件的能力很有价值:只需在浏览器中重新加载网页,而不运行构建脚本或等待重新部署,就值得大大提高开发速度。浏览器中显示的错误消息也非常好。
给我留下深刻印象的另一件事是整体美感:教程应用程序实际上看起来很好(无论是代码还是网页设计),这可能是一件小事,但这延伸到了整个框架,API以及文档。
发布于 2009-11-11 05:31:08
在一位同事的鼓励下,我看了一眼,跟着教程走了,然后就迷上了它。在浏览器中获得即时反馈意味着您不必使用IDE。我喜欢Eclipse,但让我们面对它:在添加了一些额外的内容之后,它就不像一个简单的文本编辑器那样稳定。在装有TextMate的苹果电脑上,你甚至可以点击浏览器中的错误信息,TextMate就会弹出,并将光标放在该行上。
Play中的测试也做得很好,只需按一下按钮,就可以运行单元测试、功能测试和基于Selenium的测试。
Play是令人兴奋的,因为它仍然很小,不复杂。它只使用ant来构建,并且在25秒内完成。只需在任何play应用程序中编辑.textile文件并重新加载文档,就可以为漂亮的文档做出贡献。
这就是我最终如何将教程翻译成使用Scala,在需要的地方添加Scala支持,以获得尽可能好的效果。
https://stackoverflow.com/questions/1597086
复制相似问题