I really enjoyed reading it. For anyone starting a project with Slick, I highly recommend this book, in particular to learn about:
- how to build queries that can be composed and re-used
- how to structure the code
- the patterns, anti-patterns and pitfalls to avoid.
The book goes over a lot of concepts, from simple queries and data-modeling to views, projections, joins and aggregates.
Slick 3 has very powerful concepts that could be hard to manage. The book tries to teach us how to use them.
Some chapters are more demanding, for instance the 2nd chapter introduces in only a few pages concepts like Queries, Actions, Effects, Streaming.
But once the step managed, I had the feeling to have the good abstractions in my mind to build an application based on Slick. And I could use these concepts to solve the exercises.
What I really liked:
- exercices: I think I can only learn a library when I use it and the exercises in the book are a very good opportunity to practice.
- the sbt console is so configured that I could copy/paste all examples from the book into the console and play with them.
- focus on composability and re-usability
- the book also points out when one abstraction is not optimal for a particular problem and proposes some alternatives.
What I missed:
- the 3.0 version of Slick is a lot about asynchronity, streaming and I wish the book could dig further in these concepts.
All in all, a very good book!