Review of Getting Started with Meteor
Meteor.js is a new js framework that’s making the rounds these days based on its big claim to simplify and greatly shorten time to market for robust web (enterprise level) applications, with real time interaction capabilities built-in from the get-go, using clear and established development design patterns and idioms. This bundle they call Reactive Programming, and the authors stresses a lot how simple it all is. On a separate note, this R.P. thing is nothing new or exclusive of Meteor.js (http://en.wikipedia.org/wiki/Reactive…)
So, the promise is very few lines of code, amazing simplicity, haven’t we already been promised too many times the El Dorado of frameworks that solve everything easily? Often the enterprise demands higher level of customization. How easy is this? Let’s not forget that this much apparent simplicity implies lots of things happening on the background over which, what grade of control do you have? If you check the official page, you’ll see that the people behind Meteor have impressive creds and powerful VC backing behind. Let’s see of the framework fares as explained here.
Chapter 1, walks you by the hand through the installation process, which is simple enough, but I like it (which others might not like). It’s a good thing that the first chapter bothers to go to detailed instructions so no newbie is left behind. Some times the first steps are the ones that can give serious frustration leading to leaving something aside.
Then we get to the interesting part by creating “Reactions” (as in Reactive Programming), which mean Meteor is now watching your objects.
Chapter 3 is basically the presales/demo stuff “Why Meteor.js rocks?”. It introduces MVVM for those who are unfamiliar (including a history lesson), and a little bit (perhaps too little) on how Meteor works behind the scenes. Then the rest of the Chapters, up to 7, is where the interesting stuff happens. Let’s go one by one.
Off we go to Chapter 4, that revolves around templates. Templating is explained now for those who despaired in the previous chapter, as are the all-important events and data models. I think the level is good enough here for an intro text. I really don’t think absolute newbies to programming will be picking this book, as a certain knowledge is already assumed (not about meteor, but about programming in general).
Chapter 5 is about data, according to meteor, and the NoSql paradigm. So, if you’re not familiar with MongoDB or document databases, here you’ll find an introductory guide, but I’d recommend you go get the manuals for a clearer picture (http://docs.mongodb.org/manual/) or try it online in the official page. Other than that, this chapter gives you the bare minimum to get by. The broadcasting part and the configuration of publishers / subscribers, which makes Meteor tick, is given an adequate but shallow treatment, as is the introduction to the technology, so it won’t make you an expert at all. In fact, you will need to delve deeper in other sources to solve problems when developing a new app on your own.
Chapter 6 offers a glimpse of meteor’s architecture, in terms of folder and application structures. Some caveats and warnings finally appear. Up to now everything had been so rosy. We learn how to disable some packages and enable others to make the application secure, multi-user, etc. Somehow you finish the chapter and you’re left feeling there was much more. A few pointers would have been welcome here. You are also explained what is the structure of the applications (quite simple).
Finally Chapter 7 is about deploying the application in order to start cashing in ;-)
As it’s usual with frameworks based on node.js and “bleeding edge” technologies, the deployment to a private box can feel a bit daunting and hard to admin. Deploying to meteor hosting is very simple. Deploying to your irons not so much, and the author admits it. I guess the Meteor guys allow deployment to their own servers in order to gain some traction. The sample app was running there ok.
Just to point out some of the things I liked a bit less, I’d say the books feels a little bit too short. Maybe another 30 to 50 pages to delve a bit deeper into some of the workings of the framework would have been welcome. An extra two pages to explain templating with handlebars or some other fwk would have been nice to see.
All in all, a very good and recommendable read. If you’re curious about developments in web technologies (and you must be if you are reading this), read this book.