tl;dr: Discover Meteor is a great book for learning to program in Meteor. Highly recommended.
New programming languages, tools, and paradigms come out all the time, old nuggets get rediscovered or reinvented, and old mistakes get remade. It’s dizzying and hard not to get cynical about it (ack, writing that sentence turned 13 of my facial hairs gray!), but every once in a while, persistence is rewarded. I just got very lucky and was rewarded twice.
Then a few months ago I heard that Sacha Greif was writing a book on Meteor. [Side Note #1: how did I hear about it? I signed up for Sacha’s email list after buying his last product. Email marketing works!] A book signals tech maturity because a) there’s enough meat to fill a book with content, and b) someone is betting a bunch of time that it will become more popular.
A new project came up where Meteor would be a great fit so I bought the Full Edition of Discover Meteor.
[Side Note #2: Once I decided I would benefit from learning Meteor, the tiered pricing packages + time-limited launch discount got me hook, line, and sinker! I’m a strong believer in giving people the opportunity to pay more for more, and Sacha and Tom nailed that aspect]
Discover Meteor is not a book, or screencasts, or any of the deliverables that come with the purchase. The real product is access to Meteor development knowledge, delivered in the way that’s most applicable to you.
Do you learn by doing? Enjoy a start to finish app with copious code samples and access to a repo with tagged commits for every section of the book.
Do you prefer to learn by reading? You get a beautifully laid out pdf with short, digestible, cohesive chapters, with a balance of code and explanation.
How do you read? Pdf, ebook formats, or online? Gotcha covered.
Need background? Read the interviews with core Meteor developers (before you ask, they’re available as mp3s, web transcription, or pdf downloadable transcription).
Looking for advanced topics? They have screencasts for that.
Worried about getting locked down to an old version? They’ve promised to keep the book updated and release new surrounding content.
This is the most platform agnostic development training I’ve ever seen. It’s a Q&A session short of full-service training.
A disheartening amount of the comments about the Discover Meteor launch was about how expensive it was: $39 for an ebook. I hope that Sacha and Tom disregarded those complaints completely.
I’m a professional developer and I highly value my time. I spent about 10 hours reading the book and coding the sample exercises, and that time investment is approaching 2 orders of magnitude more than the cost of the book. Reading this book saved me 10-20 hours in evaluating whether or not Meteor would be appropriate for my project. It also saved another 40-50 hours of ramping up on Meteor. So I’d value the book saved many thousands of dollars (to say nothing of the benefits of cutting out a month of development delay for a part-time project). This is one of the more expensive software learning resources I’ve bought, but it is easily the highest value.
I just shamelessly showered praise on Sacha and Tom, but much of the credit goes to the Meteor team for creating a great framework. It reminds me a lot of Clojure, in the sense that it questions some fundamental assumptions about software development and chooses its own foundational principles. In Clojure’s case it’s immutability by default, mostly functional programming, simplicity, and consistency. In Meteor’s case, it’s reactive programming and pure client-side code with eventual consistency from the server. There’s a lot of work left to do but I’d rather be patient for the right solution than rush in to the wrong one. I look forward to developing with Meteor and thank everyone who has contributed to the ecosystem so far.
There were a few recommendations (calling them complaints seems petty, and it does nothing to skew my highly favorable review of the book) for the authors:
- It could be clearer which code is sample code and which is part of the Microscope project. The only difference I could tell was the presence/absence of a file path under the code box.
- When updating a code file, putting + diff marks next to the added lines would be helpful to make changes clearer
- On p72, the code footer should have correct path client/views/includes/access_denied.html (instead of includes/access_denied.html)
See how deep I had to dig to find a complaint? Seriously, it’s a great book.