11

我是 Scala 和 Play 的新手,我正在考虑将它们用于一个新项目。我看到 Play 2 的开发进展顺利,尽管稳定版本仍然是 1.x。两者之间存在实质性差异

我想知道的是,如果我现在开始一个 Play 1.x 项目,我可以采取哪些选项来简化将来向 Play 2 的迁移?

即:

  • Play 2 使用 Ebean 作为默认 ORM,你会建议我使用它来代替 Play 1.x 的 ORM(Hibernate)吗?
  • 模板系统呢?我现在可以做些什么来让以后更容易迁移?
  • 当我决定将来将我的应用程序移植到 Play 2 时,我还需要担心什么?
4

3 回答 3

5

关于迁移本身:

  • 有计划将 Groovy 模板迁移到 Play 2(我相信正在进行中)。您可以通过使用 Play 1.x 和 Scala 来缓解这种情况,因为模板系统将是 Scala 系统。
  • 除非您使用特定于 Hibernate 的扩展,否则从 Hibernate 更改为 Ebean 应该很容易。
  • 配置和一些工作(如@OnApplicationStart)可能会改变,但这应该很容易移植(只需移动它们)。
  • 您访问路线和资产的方式将会发生变化,这可能会给您一些额外的工作来适应代码/模板。

一般来说,它不应该太复杂,但正如@lacy 所说,这取决于您的截止日期和项目本身。如果这是一个关键项目,要在 2012 年 3 月之前完成,我会选择 Play 1.x。如果这是一个不太重要的项目,可能会延迟,并且无论如何不会在 2012 年 3 月之前发布,请尝试 Play 2.0。

于 2011-11-25T08:06:47.467 回答
1

目前我什至不会在项目上使用 Play2。它仍然缺少一些功能,即使开发继续进行,我也会坚持使用 Play 1.2.x。即使我不得不承认尝试 2.0 很诱人。

但是,我永远不会选择介于两者之间的解决方案。从 Play 1.2.x 开始并尝试向 2.0.0 迁移。它被称为语义版本控制。当主设备号增加时,没有向后兼容性。这意味着,您要么使用 play 1.2.x 要么使用 Play 2.0。试图迁移会给你带来更多的压力和问题,而不是你想要的。

于 2011-11-25T13:20:54.947 回答
0

这都是关于你项目的最后期限的。Play2 即将推出,一些组件看起来已经相当稳定。所以,如果时间允许,我会推荐你​​使用 Play2。它最近已将状态更改为 Beta。几天前,Guillaume在 Github 上创建了一个有用的wiki 。您还可以关注 Play2 源中的示例。而且,据我了解,从 Play1X 到 Play2 不会有迁移指南。

于 2011-11-25T01:38:58.367 回答