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:
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With