在anorm vs slick上播放scala建议

zul*_*ain 11 playframework anorm slick

我正在考虑学习和使用scala的play框架来构建web应用程序.但是,我想在anorm和slick之间选择真正的建议.我对光滑的预订如下:

  1. 它会保持免费吗?注意:引用许可证引用在生产中使用DB2,Oracle和SQL服务器需要购买许可证,即使这些数据库有免费版本?
  2. 类型安全会继续提供和维护免费版本并提供补丁吗?

Anorm还会发挥团队继续使其成为默认并支持它吗?如果是这样,唯一的缺点是将它用于不同的数据库,但现在不太可能.

我本可以使用Java和Hibernate,但我不确定未来对Java的支持以及我现在认为(我可能是错的)scala是要走的路.

请不要发生火焰战争,如果您有经验或事实和/或有关更好选择的建议请告诉我.

注意:一旦业务建立,支付一些服务是可以的,但对于初创公司来说,它可能并不理想.

Oli*_*ain 17

Slick正在积极开发,并将保留DB2,Oracle和MS SQL Server以外的数据库的免费/开源.

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

如果你想了解更多关于Slick优于纯SQL(== Anorm)的优点,本讲座将在大约一小时内解释Slick功能.

  • 有趣的是它将成为Play框架的一部分,因为目前[Play文档](http://www.playframework.com/documentation/2.3.x/ScalaAnorm)说"你不需要另一个DSL来访问关系数据库.SQL已经是访问关系数据库的最佳DSL.我们不需要发明新东西......生成SQL的类型安全的DSL是一个错误." (14认同)

cch*_*tep 12

Anorm也得到维护(参见GitHub上的活动),社区支持(没有具体的薪酬计划).

最新版本(播放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特定支持(对于某些人具有支付扩展),因此不需要为常见情况编写本机SQL.Anorm与数据库无关,让您提供SQL语句,重点关注映射结果.

两者都很有用.