随着最近发布的Play Framework 2.0,我想知道是否有人可以从高层次的角度总结Play Framework 1& 2。
我已编译了一些(播放1.0 - >播放2.0):
还有什么?阿卡?
答案 0 :(得分:44)
这是我的清单,当然还有一些重复
打破向后兼容性(从头开始重写)
在scala vs java中编写的核心(学习scala以进行协作)
模板的scala(但是作为模块在groovy模板上完成工作,以便于迁移),因此您必须指定每个参数的类型
sbt console而不是python脚本
用于解决依赖关系的sbt而不是内置解决方案(播放依赖关系命令)
模块可用性,显然需要一些时间才能将它们全部迁移出来......
对于java,它更喜欢用ebean代替hibernate(但你可以使用hibernate)
带有anorm(但你可以使用其他库)
更模块化,更容易选择其他组件
更多类型安全 - 在编译时检查视图甚至路由
更好的表现
类型安全支持,它是typesafe stack
不那么神奇,没有那么多字节码生成和类似的东西
更多标准,(游戏项目只是标准的sbt项目)
不同的控制器API(更详细,恕我直言)您可以将simple play 1.x crud controller与similar play 2.0 one进行比较
scala是一等公民,但同样支持java(每个都有原生API)
热重编译速度较慢(它还处于测试阶段,我们希望他们能够解决它)
scala IDE支持不像java那样成熟(但它的发展很好)
委托给akka的异步支持
为不同类型的数据源做好准备,比如nosql dbs
有关详细信息,请查看play 2.0 page(可用的西班牙语翻译here)和RC1 documentation
无论如何,我认为主要区别在于1.x尝试构建自己的堆栈,同时逃离j2ee,现在它们是基于scala,akka,sbt和支持的新的替代堆栈的一部分像类型安全的公司......
答案 1 :(得分:18)
我发现以下几点很重要。有些是专业人士,有些是反对派。你必须自己看看你喜欢什么版本。
核心是用Scala编写的,所以如果你不是Scala开发人员,你就不能自己修复bug。这是1.2的优势。此外,如果文档不是很好,你就会丢失。在游戏1.2中,您可以简单地查看代码。使用eclipse,您可以使用IDE轻松搜索参考。我不确定它是否存在类似Scala的IDE。我听说eclipse和intellij合作得很好,但没有经验。
组件在2.0中更松散耦合。在Play 2.0中,您可以轻松选择首选的模板引擎或持久层。在1.2中,选择除JPA之外的东西更难以持久。
Scala现在是一等公民,所以如果你想用Scala或Java编写你的应用程序,你可以自由选择。
对其他框架的依赖性更高。例如,他们现在需要Scala和Akka。两者都很好,但很复杂。因此,如果其中一个框架出现错误,您可能会遇到大麻烦。在游戏1.2中我只看到了Hibernate的风险。
“Everything”现在是类型安全的,可以由编译器检查。
将Python更改为SBT意味着您需要在开发计算机上拥有更多内存。我的意思是Scala编译器至少需要512 MB RAM。这可能是连续构建服务器上的问题。
当然,Codemwnci提到了许多小细节。
答案 2 :(得分:13)
您的清单是一个非常好的开始。我的列表与一些额外内容相似。
我们的列表之间存在重复,正如您所期望的那样。同时也提到这个名单是截至2011年11月,而第2场比赛仍处于测试阶段。
答案 3 :(得分:10)
这里有一些非常好的答案,我只想添加一些小点,并提供随着时间的推移变得更加清晰的细节。
浏览器内报告:在浏览器中播放2个Javascript错误报告(使用谷歌的闭包编译器)和CSS文件,而不仅仅是Java / Scala文件。这真的很酷。
部署为WAR:播放2 doesn't still officially支持部署或导出为WAR。存在plug-in应该提供此类支持,但处于测试阶段且存在一些已知问题。如果没有Servlets 3.1容器,完全支持所有Play 2功能,这将至少需要半年,可能更多。
插件:目前,播放1还有很多,如果你依赖一些插件,请确保它也适用于播放2。
IDE支持:IntelliJ 12应该内置支持播放2.你已经可以获得EAP(我用完了允许的超链接,所以你必须谷歌)。
主观意见:我觉得Play 2似乎牺牲了一些简单性来支持更高级的功能和更完整的类型安全性。我并不是说Play 2很难或不直观,只比Play 1少。
Play 1是Web开发人员为Web开发人员提供的Web框架。 Play 2是Web开发人员面向Web开发人员的前瞻性Web框架。
所以说,焦点略有转变,易用性不再是主要目标,而是两个主要目标之一。这当然只是我的意见,我知之甚少。
答案 4 :(得分:6)
您可以在以下博文中找到关于该主题的另一个观点:http://blog.awfbeat.com/post/22314115684/impressions-of-play-framework-1-2-4-vs-2-0
答案 5 :(得分:2)
摘自this文章: