Book review: Sproutcore Web Application Development

TL;DR: Sproutcore is a huge framework, and this book will save you a lot of time (and headaches). Buy it.
Disclaimer: this is a review of a free copy that Packt kindly sent me.
SproutCore Web Application Development cover

Win a free copy of this book, scroll down to know how to participate!

If only I had this book 3 years ago!

3 years ago I started developing a Sproutcore app as a learning experience and, in all honesty, the path has been rough. Sproutcore is a massive framework with lots of features: some are well documented, some mentioned casually in the guides, some others...well you don't know they are there until you start reading the code or chat with one of the more knowledgeable devs in IRC.
Documentation has always been an issue for Sproutcore but now, thankfully, there is a book. If I had this book 3 years ago I would have gotten much quicker up to speed and the code base would have been (much, in fact) cleaner (and smaller!).

Sproutcore Web Application Development covers all most important areas of Sproutcore: installation, concepts and getting started, key-value-observing, the model, view and the controller/states objects, styling, domain objects modeling and using a data source to fetch them from a server, and, last but not least, deployment.
Sometimes Tyler will highlight a specific feature when it can be generally useful. For instance in Chapter 2 there is a whole section dedicated to mixins and how they can improve code sharing and reduce duplication when classical object inheritance cannot be used.
In other cases he provides guidance on avoiding common pitfalls, as in the chapter on statecarts.

Code fragments are always clear, coincise and generally well-written. I have not tried following through an example but I am quite sure it would work on the first or second try. Tyler is a rather gifted coder and I suggest you check out his github account for more Sproutcore resources.

One thing I would like to suggest is that in the future the source for example apps was made available through github or another public repository for easier checking out. As of now the code for the Contacts app is only available from the PacktPub website as a ZIP archive.

The book does not cover: routes, outlets, theming and some lesser used views or, to avoid unnecessary duplication, topics already documented in the guides.

Straight from the source: the author is the current project lead, the reviewers are or were prominent members of the community.

Absolutely recommended for beginners and heartily recommended even for medium-advanced users (as I would define myself).

Win a free ecopy of the book!


Readers would be pleased to know that Packt Publishing graciously offered to organize a Giveaway of the SproutCore Web Application Development book and three lucky winners stand a chance to win a free ecopy. Keep reading to find out how you can be one of the Lucky Winners.

Book Overview:
• Use SproutCore’s object model to organize code into classes, subclasses, and mixins
• Observe and bind properties across the code for efficient updates and error-free consistency
• Structure code and separate responsibilities using client-side MVC
• Define and build the user interface of extremely complex applications using SproutCore’s view library
• Interact with remote data sources and model and store data in the client for immediate use
• Connect an application together without messy, bug-prone controller code using SproutCore’s statechart library
• Combine all of these skills in a repeatable process to create production-ready software
• Test and deploy SproutCore applications

How to Enter?

All you need to do is head on over to the book page (SproutCore Web Application Development) and look through the product description of the book and drop a line via the comments below this post to let us know what interests you the most about this book. It’s that simple.

Winners from the U.S. and Europe can either choose a physical copy of the book or the eBook. Users from other locales are limited to the eBook only.

Deadline

The contest will close on Jan, 7 2014 PT. Winners will be contacted by email, so be sure to use your real disqus account when you comment!