首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Play Framework1.0和2.0的主要区别是什么?

Play Framework1.0和2.0的主要区别是什么?
EN

Stack Overflow用户
提问于 2011-11-18 22:22:04
回答 6查看 13.8K关注 0票数 53

在最近发布了Play Framework2.0之后,我想知道是否有人可以从高层次的角度总结Play Framework 1和2之间的主要区别。

我已经编译了一些(play 1.0 -> play 2.0):

  • 模板引擎: Groovy页面-> Scala模板
  • 持续: Hibernate -> Ebean
  • 语言支持: Java -> Scala
  • 动态编译:字节码注入->动态编译
  • 构建系统: n/a -> SBT
  • 可扩展性:模块,插件-> SubProjects,插件,SBT插件

还有什么?阿克卡?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-27 04:28:31

这是我的单子,当然,还有一些复本

  • 破坏向后兼容性(这是从头开始的重写)
  • 用scala和java编程的核心(必须学习scala来协作)
  • scala用于模板(但是正在将groovy模板作为一个模块来完成,以简化迁移),因此您必须指定每个参数的类型。
  • sbt控制台而不是python脚本
  • sbt用于解决依赖关系而不是内置解决方案(play依赖关系命令)
  • 模块的可用性,显然需要一些时间来迁移它们.
  • 对于java,它倾向于ebean而不是hibernate (但您将能够使用hibernate)。
  • 对于scala,附带anorm (但您可以使用其他库)
  • 更模块化,更容易选择其他组件。
  • 在编译时检查更多类型的安全视图甚至路由。
  • 性能更好
  • 支持类型,它是类型堆叠的一部分
  • 更少的魔力,而不是字节码的产生和类似的东西
  • 更标准,(播放项目只是标准的sbt项目)
  • 不同的控制器API (更详细,IMHO)您可以比较简单播放1.x crud控制器相似游戏2.0 1
  • scala是一个一流的公民,但是java同样受到支持(每个人都有本地API )。
  • 热重编译速度较慢(它仍处于测试阶段,希望他们能解决)
  • scala支持还不如java的成熟(但它正在很好地发展)
  • 异步支持委托给akka
  • 更好地为不同类型的数据源做好准备,如nosql

要获得更多信息,请查看播放2.0页 (西班牙语翻译可用这里)和RC1文档

无论如何,我认为主要的区别在于,play 1.x试图在逃离j2ee的同时构建自己的堆栈,现在它们是基于scala、akka、sbt的新的替代堆栈的一部分,并得到了typesafe这样的公司的支持。

票数 44
EN

Stack Overflow用户

发布于 2011-11-19 10:18:23

我觉得以下几点很重要。有些是专业的,有些是相反的。你必须自己看看你喜欢什么样的版本。

  • 核心是用Scala编写的,所以如果您不是Scala开发人员,您就无法轻松地修复一个bug。这是1.2的优势。此外,如果文档不是很好,您就会丢失。在play 1.2中,您可以简单地查看代码。对于eclipse,您可以使用IDE轻松地搜索引用。我不确定Scala是否存在类似的IDE。我听说eclipse可以正常工作,但还没有自己的经验。
  • 在2.0中,组件的耦合更加松散。在play 2.0中,您可以轻松地选择首选的模板引擎或持久层。在1.2中,除了JPA之外,更难选择坚持的东西。
  • Scala现在是一流的公民,所以如果您想用Scala或Java编写应用程序,您可以自由选择。
  • 对其他框架的依赖性更高。例如,他们现在需要Scala和Akka。两者都很好,但都很复杂。因此,如果这些框架中有错误,您可能会遇到很大的麻烦。在play 1.2中,我只看到了Hibernate的这种风险。
  • “一切”现在都是类型安全的,可以由编译器检查。
  • 将Python更改为SBT意味着开发机器上需要更多的内存。我的意思是Scala编译器至少需要512 MB的RAM。这可能是连续生成服务器上的一个问题。

当然,Codemwnci提到了很多小细节。

票数 18
EN

Stack Overflow用户

发布于 2011-11-18 23:10:58

你的名单是个很好的开始。我的单子看起来很像一些临时演员。

  • 模板已经从Groovy转移到Scala。
  • Scala成为一个一流的公民,而不是一个可选的插件。
  • 更注重类型安全,特别是在模板中。
  • Python到SBT
  • 冬眠至Ebean
  • Akka来补充Play 1.x中的异步特性,而不是将Akka作为一个模块
  • Anorm在内核中可用(而不是scala插件)
  • 由于较少的动态元素和更多的编译,生产中的性能改进
  • 集成到TypeSafe堆栈中

如您所料,我们的名单之间有重复之处。同时还指出,这份名单是截至2011年11月,而游戏2仍在贝塔。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8189893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档