Hacker News new | ask | show | jobs
by richardofyork 4789 days ago
I have read the beta release of the book in its entirety. I do not know the book's authors personally, so I can give an unbiased assessment of the book and answer specific questions about the book.

The Crux of the Matter:

Coming from Node.js/Backbone.js/Express.js, I was pleasantly shocked and surprisingly inspired by how pleasurable and productive it is to develop with Meteor. I am not sure I feel this way about any other web-dev technology besides jQuery. Meteor is so awesome that it makes the book easy to get through and fun to learn from (the book is a web app, a book, and a tutorial in one; it is more than just a book, hence my use of the word “use” instead of “read”).

The book covers most of the big Meteor concepts with example code and it guides you along as you build the Microscope web app—a "real world" application you can deploy and actually use. You will learn so much and get through the book so quickly that you will want to develop your own web app with Meteor in an instant. Be warned: You will be giddy with excitement at how easy it is to get stuff done with Meteor. Using Meteor is analogous to using an iPhone for the first time after using one of those "smartphones" [1] that were available prior to the launch of the iPhone.

The alternative to using this book is to learn Meteor by painstakingly browsing and reading the thorough (but not necessarily logically organized for structured learning) Meteor docs. Forget finding a proper "Getting Started with Meteor" tutorial; they are outdated and lack depth. The book summarizes some of the important Meteor concepts in a logical, succinct, and exemplary manner, with hands-on implementation.

There are some specific Meteor core concepts that the book either doesn't cover or only discusses briefly, like eJSON, Deps, Custom Reactivity, and cursor.observe (similar to Backbone's model.on events). But fortunately, Chris Maher does an excellent job covering these topics in depth on EventedMind.com [2]. Therefore, I highly recommend the book along with frequent visits to EventedMind.com to get a thorough understanding of Meteor.js, so you can confidently start building Meteor apps straightaway.

It is worth noting that the book's format (a web app with comments, videos, frequent updates, and the main Microscope tutorial, in addition to PDF and eBook copies of the book) is groundbreaking and must be celebrated. Every book on any web development topic should be published in this manner. Authors take note.

Background: I am the dude blogging at http://javascriptissexy.com/ and I am a Frontend Developer (JavaScript Guru). Incidentally, I will likely write a detailed blog post about Meteor ("How to Learn Meteor Properly," perhaps) in a few weeks, after I develop my first Meteor app.

[1] http://reviews.cnet.com/cell-phones/sanyo-katana-6600-black/...

[2] http://www.eventedmind.com/

4 comments

I, too, was lucky enough to get in on the preview and read most of the book. I've read a couple of these books and this one takes the cake. It's huge, very thorough, and incredibly easy to follow along.

If you're thinking about getting into Meteor, you should definitely grab a copy. It's a really easy read that teaches you a lot.

Oh, and Meteor is sexy, I'm glad you're a fan Richard. I'm a big fan of your site and can't wait to see you get engulf in the Meteor hysteria. :)

I am glad to hear you are a fan of the blog, Cory. I am somewhat surprised you are all over Meteor already :), and you probably think the same thing of me :)

There will be Meteor hysteria for sure, but I don't know if it will happen so soon, although this book will help quite a bit.

Another huge fan of your blog, Richard. Your blog represents one of the single best locations on the web for excellent road maps for learning web development. It is immensely helpful to go through the material that you've already vetted rather than waste time and energy finding and trying the plethora of books, tutorials, videos, sites, etc. For beginners it's incredibly overwhelming but your site helps show us the path and put us on it. It's still a lot of work, but at least we feel that as long as we follow your recommendations we'll make steady progress toward our goal of becoming Web Engineers. I can't wait to read your upcoming post about Meteor!
Man, you guys are making me feel warm and fuzzy. I had no idea some followers of my blog are HN regulars.

Thanks for the wonderful compliment and encouragement, laughfactory. I am very happy that my blog is making a difference. Good luck with your learning.

If you have no coding experience, should you read this?
No, you need to learn JavaScript first. See the link below (there is even a Reddit study group to help you along the way): http://javascriptissexy.com/how-to-learn-javascript-properly...
I'm still on your "How to Learn Javascript Properly" track, but I've being hearing about Meteor in passing quite a bit lately.

Your recommendation for this book is all that I needed to convince me to take the leap (once I've got the fundamentals down, of course). Thanks for your recommendation and guidance. You've done a great deal to make me feel like I'm meaningfully progressing to a state of professional competency.

I am happy to hear from readers who are following my blog, and most importantly, to hear of their progress. So thanks for your comment, loupeabody.

It appears that you have the passion and determination to follow through with learning JS and then Meteor. You can skip Node.js/Express.js/Backbone.js and go straight to Meteor, if your goal is to develop modern web applications with JS soon (without the lengthy time needed to learn all the libraries and frameworks needed to put a full Node.js app together).

Thanks! And you're right, Evented Mind is a great resources and complements our book very well.
How does it deal with async stuff if I need it in a serial manner? With node I have async. What does meteor have that's similar?
Meteor uses Fibers. And you can do any of the async stuff in Meteor, like you would in Node.js with async.js, with the exception that you will most likely use Futures, and the code style will look synchronous (not the lengthy callback chains we are used to in Node.js). For more on Async execution in Meteor.js, see this link: https://gist.github.com/possibilities/3443021
Meteor is built on top of node.

'npm install async' becomes 'mrt add meteor-async' ...

Sometimes you have to do a little configuration work to get off the shelf NPM packages settled nicely with Fibers; but its not a huge deal and almost every day someone else will turn npm-somePackage into meteor-somePackage.