I’m pleased to announce that @lbguilherme and I have authored a new Crystal book, and it comes out this Friday, May 27, 2022! Electronic and physical versions will be available. Checkout the following links for more information:
- https://www.packtpub.com/product/crystal-programming/9781801818674
- Crystal Programming: A project-based introduction to building efficient, safe, and readable web and CLI applications: Dietrich, George, Bernal, Guilherme: 9781801818674: Amazon.com: Books
At 356 pages, there isn’t much that hasn’t been covered; all written against Crystal 1.4
. While the book is focused towards those with programming experience, previous knowledge of Crystal itself is not required.
Featured topics include the basics as well as higher level language features such as concurrency, IOs, C bindings, and how to use Shards/libraries, as well as more advanced metaprogramming topics such as macros, annotations, and compile time type introspection. There are also chapters dedicated to the external tooling/auxiliary features of Crystal, such as how to document, test, release, and introduce CI into your Crystal project.
We took a project based approach in order to introduce and talk about various Crystal features. This worked out well as it allowed using them within real-world like contexts, as opposed to more abstract examples. We start off by creating a simple CLI application to handle transforming data between formats efficiently and follow it up by walking through the creation of a simple blog application using the Athena Framework.
Overall it was an rewarding process watching the book come together, learning plenty myself throughout the process. I want to give a special thanks to @bcardiff for being our technical reviewer. Your in-depth knowledge of the language, and patience with our questions, is much appreciated!