Scala Play中使用anorm和slick的建议

12

我考虑学习和使用Play Framework与Scala构建Web应用程序。然而,我想在选择anorm和slick之间得到真正的建议。我对Slick的保留如下:

  1. 它是否会保持免费?注意:引用许可证中提到,尽管这些数据库有免费版本,但在生产中使用DB2、Oracle和SQL Server需要购买许可证。
  2. Typesafe是否会继续提供和维护免费版本并提供补丁?

Anorm团队是否将继续将其作为默认选项并支持它?如果是这样,唯一的缺点将是将其用于不同的数据库,但目前这不太可能。

我本可以选择Java和Hibernate,但我不确定Java的未来支持情况,而我现在(我可能错了)认为Scala是未来的趋势。

请勿发起争端,如果您有经验、事实和/或更好的选择建议,请让我知道。

NB:一旦业务建立,支付某些服务是可以接受的,但对于创业公司来说可能不理想。


这个问题似乎不符合主题,因为它涉及到预测未来。 - Danubian Sailor
2个回答

17

Slick正在积极地开发中,除了DB2、Oracle和MS SQL Server之外,它将保持免费/开源状态,适用于其他数据库。

它也最终将成为Play框架(Slide #20)的数据库连接器。

如果您想了解Slick相对于普通SQL(== Anorm)的优势,此演讲将在大约一小时内解释Slick的功能。


谢谢信息。您还有关于Java未来的信息吗? - zulqarnain
14
有趣的是,它将成为Play框架的一部分,因为目前Play文档中写道:“您不需要另一种DSL来访问关系数据库。 SQL已经是访问关系数据库的最佳DSL。我们不需要发明新东西......生成SQL的类型安全DSL是一个错误。” - Paul Draper

12

Anorm也得到了维护(请参见GitHub上的活动),并得到社区支持(没有特定的付款计划)。

最新版本(Play 2.3之后)的更改可以在以下网址中查看:http://applicius-en.tumblr.com/post/87829484643/anorm-whats-new-play-2-3http://www.playframework.com/documentation/2.3.x/Highlights23:更多转换、字符串插值等。

主要区别在于您如何考虑持久性访问和类型安全性。Slick具有DB特定的支持(对于某些DB需要支付扩展),因此不需要针对常见情况编写本地SQL语句。Anorm是DB无关的,让您提供SQL语句,专注于映射结果。

两者都可能很有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接