Jump Start Sinatra: A book report
Looking for a quick, but thorough, introduction to the Sinatra web application library? Jump Start Sinatra by Darren Jones is just that. The book's cover offers to help readers "get up to speed with Sinatra in a weekend," so last weekend I spent some time re-familiarizing myself to this increasingly popular alternative to Rails. I've messed around with it a few times in the past, but never went through a proper tutorial to build and deploy something from scratch. That's what Jump Start Sinatra is all about.
While some knowledge of Ruby is helpful to complete the book, it's not necessary. (I would, though, suggest experience with some kind of web programming first.) The book covers everything from installing Ruby and Sinatra on your development computer to configuring gems to deploying for the world to see on Heroku. Rails developers will also benefit–those whose primary experience with Ruby consists of the "omakase" stack may like the introduction to alternative libraries like DataMapper and Slim, and seeing how unfamiliar solutions accomplish unfamiliar tasks is always a great way to learn.
One thing I was kind of surprised to not see in the book was any mention of automated testing. Testing is such a prominent part of the Ruby community that I felt it deserved a couple of pages. I also thought the practice of installing gems from the command line, then requiring them in a Bundler gemfile for deployment purposes, was kind of odd–I'd stick to using Bundler for everything in this case.
Otherwise, Jump Start Sinatra is a solid introduction to the library, and is recommended for anyone interested in getting started with this lightweight, flexible approach to creating powerful web applications.
Note: I wrote this review for O'Reilly's Blogger Review Program. It's a pretty nice deal: Get a free e-book to read, share a review in your blog, get another free book to read. Sign up for yourself to take advantage of this deal, and watch for more book reports in my blog.. Questions or comments? Let me know what you think.