Last month I got a review request from Packt Publishing for a recent book of theirs on meteor.js. About six months back, I was heavily involved in developing my first real-time web application at work (Accenture). The idea of using the meteor.js framework for building that app came from my mentor who had then recently given a presentation on it at an event. Awed by the concept of reactivity, a rich API and the power of MongoDB, I fell in love with Meteor pretty quickly. As it went, it didn’t prove difficult convincing my boss to using Meteor as the basis of a “social” TODO app we were planning to create at the time as the various virtues of this splendid framework clicked immediately.
Officially, meteor.js supports only Linux and Mac OS X as development and deployment environments, whereas Accenture is a Microsoft technologies driven company. So I had to do my research and come up with a way of deploying our meteor app on a Windows server. I blogged about the complete process of hosting meteor.js apps in IIS, and perhaps that’s how Packt Publishing found me.
Instant Meteor JavaScript Framework Starter by Gabriel Manricks is a light read that promises to get you started with a whole new paradigm of web application development instantly. The book is a whole of 76 pages long, including the usual table of contents, introduction and credits. I found that the book is written in a simple language and somewhat focuses on web development beginners, while at the same time dealing with complex and intricate topics through its mind-graphing app project. Even during my busiest days at office, I was able to read the book to completion in 6-7 days, although it may take a bit more time if readers explore Meteor simultaneously by practising themselves using the code snippets provided in the book.
Gabriel has done a good job with the introduction, and I liked the way he doesn’t ignore programmers who haven’t ever seen the black of a command-line. He keeps the overall tone simple and easy to understand. But assumes the reader has had at least some experience developing websites, which is fine as this book is not targeted at web development itself. Almost all important Meteor API functions and concepts are covered, and these make up for a natural flow in the book. Gabriel’s explanation of how Meteor implements the MVVM model makes this scarily perceived topic seem simple. The best part of the book has to be “Grapher” project, through which Gabriel has illustrated the process of creating a mind-graphing web app from planning to coding to securing the app. I personally loved the coding style used and agree with the emphasis laid out on the planning phase. Having been involved in web dev since the last 6-7 years, I even learned a few new tricks. I think anybody would be amazed on how developing such a complex app becomes so easy when using Meteor.
Topics like publish-subscribe framework and app deployment are touched toward the end of book, but I felt a couple more pages should have been dedicated to these two important topics, although what’s covered applies well to starters. In my experience, using publish-subscribe in a more complex data setting can become overwhelming and cumbersome if done wrong.
I conclude my review by congratulating the author and Packt for a crash course on Meteor, especially when there aren’t many (any?) books on Meteor available out there. Highly recommended for people wanting to get started on real-time web app development!