Question

I am thinking of learning and using the play framework with scala for building web apps. However, I would like real advice on choosing between anorm and slick. My reservation for slick is the following:

  1. Will it remain free? Note: Quote from the licensing mentioned that using DB2, Oracle and SQL server in production requires purchasing a license even though these DBs have free versions?
  2. Will typesafe continue providing and maintaining a free version and providing patches?

Anorm also will play team continue making it the default and supporting it? If so, the only downside will be using it for different DBs but that is unlikely for now.

I could have gone with Java and Hibernate but am not sure about the future support for Java as well and as I perceive now (I may be wrong) scala is the way to go.

Please no flame wars, if you have experiences or facts and/or advice on better choices let me know.

NB: Paying for some services once business is established is ok but for startups it may not be ideal.

Was it helpful?

Solution

Slick is actively developed and will remain free/open source for databases other than DB2, Oracle, and MS SQL Server.

It will also eventually become the database connector for the Play framework (Slide #20).

If you want to know more about the advantages of Slick over plain SQL (== Anorm), this talk explains Slick functionalities in about one hour.

OTHER TIPS

Anorm is also maintained (see activity on GitHub), with community support (no specific pay plan).

Changes at latest release (following Play 2.3) can be seen at http://applicius-en.tumblr.com/post/87829484643/anorm-whats-new-play-2-3 & http://www.playframework.com/documentation/2.3.x/Highlights23 : more conversion, string interpolation ...

Main difference is about how you consider persistence access and type safety for that. Slick has DB specific support (with paying extension for some) and so doesn't require to write native SQL for common cases. Anorm is DB agnostic and let you provide the SQL statement, focusing on mapping result.

Both can be useful.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top