In case anyone is wondering, Meteor (http://meteor.com/) is a web framework which promises to make building real time web apps very easy. Its written in javascript and uses the node.js run time but doesn't play nicely with npm packages. Up until a recent version, it had no support but now you can write a wrapper to use a specific package.
Discover Meteor (formally known as "The Meteor Book") is a book that teaches how to build a social news reader called Microscope, a simplified version of Telescope (Show HN: https://news.ycombinator.com/item?id=4840032).
Author here. Thanks for the summary! Just a small clarification: the book doesn't teach you how to build Telescope, it teaches you how to build Microscope, a simplified version of Telescope that we built specifically for the book.
A quick observation: 14+ chapters in the book and nothing on testing? At least, I did not find anything that talked about it.
Is it because there are no standards defined about testing Meteor apps or is Meteor being presented as a framework that does not need testing (hence, should not be used in production)?
It's the first reason. There's nothing built-in to Meteor right now to help you test and although some people are starting to figure out good ways to do it as we speak, we feel like the dust hasn't really settled on the best way to do testing in Meteor.
As soon as we feel we've got a good answer for it we'll include something in the book to point people in the right direction.
A static page is the simplest form of website. It is trivial to build a static page using Meteor. I hoped one of the authors would tell us why they chose not to dogfood on the marketing page for a book on Meteor.
Exactly. We used Middleman (http://middlemanapp.com) for the landing page and it worked great. All the data on the landing page comes from a few YAML page, and it even lets us auto-generate special pages for discount codes. I strongly recommend it for any kind of static site.
Meteor can be made to prep stuff for search engines and other spiders, but the current solution (they admit it's a stopgap) involves PhantomJS, which gets into serious resource consumption for a static site.
Watched some of the videos (bought the second package)/read a chapter or two and wow. So much stuff in here that's been a pain to figure out via scattered posts and confusing docs. Go pick this up if you want to learn Meteor.
Right now Meteor is changing so fast that a paper edition didn't really make sense (the online edition will be kept up to date, of course).
But once Meteor stabilizes at 1.0 we'll consider a printed version. And if we do this, we'll also provide a discount for people who have already bought the digital edition.
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.
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.
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).
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
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.
I find the "See the packages" button to be confusing. I clicked on it just to see what would happen. As a newcomer to the page, I had no idea that you'd be selling the book in "packages" and assumed that "packages" was referring to software packages (i.e. libraries, etc.). My first reaction was literally "how do I get the book?" or "how do I find out more about the book?".
So, I have enough money but I can't pay for this book. I live somewhere in SE Asia and I don't have any means to pay for the book. I'm not 18 yet and don't have a credit card. None of my parents/relatives have a credit card that can be used internationally or for online purchases. The government is very strict about money laundering and getting a credit card is a real pain, which my parents didn't want to endure. Trust me, I really want want to purchase the book but I can't.
I would really appreciate If the authors could send me a copy of the book at this email: ajob367@gmail.com I'll surely pay you once I have a credit card. :)
Currently working through John Resig's "Secrets of the JavaScript Ninja," but as soon as I finish that I'm totally buying this. The sample chapter looks fantastic! Congrats on finishing the book, guys.
as a backend engineer the publish/subscribe part of this seems like a scalability nightmare. is anyone using the publish/subscribe features on a large site with lots of instances?
This book is exactly what I wanted. But the thing I don't like about Meteor; the barriers to contemporary web development drop like a rock. The problems that could keep me employed with other frameworks are largely solved.
Maybe this will raise the bar into a whole new level of product. But I'm not sure I want to spread the news; its more like something I'd rather keep for myself as a competitive advantage.
I am sure that someone said that same quote about [printing press/calculator/CSS/etc.] one time. Not comparing Meteor to these other inventions but tend to dismiss the argument that "X new technology will make my job easier and this is a bad thing."
What are pre-requisites for understanding the book? For example, does one need to know Handlebars functionality, or does the book introduce them in such a way that one can pick up the required knowledge as one is reading the book. Also, does one need to be a Javascript guru, or is a basic understanding of Javascript sufficient to get started?
Thanks Sacha. I purchased the book and am really enjoying it. Thanks to you and Tom for writing the book. I am at the beginning of the Collections chapter. Unfortunately, for some reason, the Server-Client communication is not working (collection inserts using mongo console, do not show up in the browser console and vice-versa). I have not yet removed autopublish. Anyhow, will try to explore it further.
If there any upgrade pathes between the plans? Let say that I buy the starter plan, like the content and want to buy the plan with the videos. Should I pay the full price?
If the information in the book (regardless of page count) gives you insight into a new technology that you can use to expand your career, is $30 really too much? If you're a contractor billing at market rates in SF, $30 is one-third to one-fifth of a single hour's income.
Time to start valuing books based on knowledge contained rather than paper weight.
"If you're a contractor billing at market rates in SF, $30 is one-third to one-fifth of a single hour's income."
The issue is that the overwhelming majority of technical people don't live in SF, nor will they ever earn SF rates.
It's absurd that people insist on projecting the economic situation of an incomprehensibly small subset of programmers that are lucky enough to reside in a hot market onto the entire cohort of developers. Most people don't make $100 per hour, and even if they do, other aspects of life are quite expensive (car, house, school). I don't understand why people can't comprehend that some people make modest salaries or don't have limitless disposable income.
$30 isn't necessarily the world (and many people will certainly receive positive value), but it's still a hefty expense that requires one to gauge value. Asserting that someone is wrong to be hesitant about buying the book is presumptuous.
People buy things based on cost, and strive to preserve their money and maximize value. What is so upsetting about that?
@ruswick I agree. You said what I was attempting to say with a great deal more clarity.
Nearly $40 is a lot for an unknown quantity for someone like me who is convinced that Meteor is a big deal, but who is also learning web development from the ground-up. And yes, I should probably start with something a little easier for a beginner to rap their head around.
But there really are people like me out there who are interested in learning Meteor for whom $39 (or $30) represents a lot of money. I'm a grad student, working part-time for $14/hour, with a homemaker wife and baby. My allowance, when I can get it, is $50 a month. Yep, that's how some of us roll.
So maybe sharing that sheds some light on how and why someone (like me) might be price sensitive--even when it seems ridiculous to others who make a LOT more money.
That said, after getting the expense approved by my wife, I did actually take advantage of the $30 launch list price and am currently working my way through the book. The first 28 pages have been worthwhile. I like that, similar to the Hartl Rails Tutorial, it attempts to cover the whole development life cyle including deploying locally, to Meteor, to Heroku, and to EC2, etc. For beginners like me who really crave learning about the whole process, this is a boon.
IF the information contained is proven to be valuable and well-expressed than yes, I agree, $39 (or even $99 or whatever) is totally worth it when the expertise derived pays off. BUT, for an unknown quantity it's still steep. There are plenty of poorly written tech books not really worth the "paper" they're printed on. So asking people to pony-up that kind of money is a little shocking. It might be better to provide (as they have) a sample chapter, and then split the book in parts. Then each part could be $X (say, $12?) which allows people to pay a smaller amount, ascertain the value the book provides and then shell out the full amount.
People are price-sensitive. Their expectations--derived from pricing observed for similar books--is that a book's "retail" price would be somewhere between $20-$30. A book that's nearly $40 is almost unheard of. Additionally, this is especially true for "self-published" books. We expect them to be cheaper because their distribution/production costs are cheaper (or at least we perceive them to be cheaper) and we acknowledge that often self-published books don't have expensive, but quality-assuring, intermediates like editors. In other words, a self-published book is a much greater unknown quantity than one from a publisher which has been edited etc. Plenty of books from publishers suck, but an even greater proportion of self-published books suck.
Asking $30 for a book is shocking? I expect to pay at least that for a good technical book. This is a book I paid $60 for: http://www.amazon.com/Linux-Programming-Interface-System-Han... I did so because the information in it is relevant to my job, it's unlikely to change in a significant way over the next decade, and I was tired of not having a single place to look up Linux systems stuff.
If I was a web developer using Meteor, I imagine I would come to a similar conclusion about this book - with the exception that because it's online, the authors can update it over time.
Where did you get that? He explicitly said that "if the information contained is proven to be valuable and well-expressed than yes, I agree, $39 (or even $99 or whatever) is totally worth it." He literally said the exact opposite of what you are alleging that he said. Literally.
His shock was in regards to the fact that the offer no sample chapter (which they probably should).
Now I'm getting confused. I agree that it was an unknown quantity before I began reading it.
The main point I was attempting to make is that some of those (perhaps a very small minority) interested in learning Meteor operate on very tight budgets. On a good month I get a $50 "allowance." Most months I don't get an allowance. This month my wife agreed to take the cost of the Discover Meteor book out of our grocery budget. So when things are that tight, $30 or $40 is a lot to swing. It's roughly 10% of our grocery budget (for context).
For those who make their living as web developers and have sufficient disposable income, I'm sure the asking price of $39 isn't a problem.
I don't know why you think that they don't offer a sample chapter, as one of the only actions possible above the fold is to download a sample chapter from the book.
Actually, I expressly did mention that they offer a sample chapter. I was suggesting that in addition to the sample chapter they might consider (if they want to keep the overall price where it is) selling the book in segments which cost less allowing those who are especially price-sensitive to test drive the content. E.g. Part 1 costs $10 and then the rest costs $29. Silly idea, but I just like to think about this kind of thing.
I wasn't responding to you, I was responding to the parent comment above me that says "His shock was in regards to the fact that the offer no sample chapter (which they probably should)."
I feel as though it is fair to note here that if you are not satisfied with this book, you are able to get a full refund for it. $39 may still be too much for a speculative buyer, but at least you aren't throwing away money if it's not up to your standards
For me, the issue is time: why should I spend time learning this framework, versus all the other frameworks that I see showing up a few times a week on HN?
If you convince me that my time is worth it, I'd pay $60 as easily as I'd pay $20.
I agree. Twenty dollars feels like the sweet spot to me. And the $30 price is only with the launch discount! It's "retail" price is $39! I don't even pay that on Amazon for tech books. At that price I'll wait to pick this up.
That said, I think the meteor platform looks like the "next big thing" and I'm excited to learn it from this book or elsewhere.
I'm definitely new at both, but I'll give you the newbie perspective.
Ember is a front-end framework which allows you to use whatever back-end you feel like to feed it. E.g., you could use Ember with Node, Rails, Django, etc.
Meteor is the whole package: front and back-end with a lot of glue built in that makes coordinating front and back-end easier.
At least that's the impression I get. I'm also very impressed by Ember--though it, like Meteor, is challenging to learn due to the dearth of learning materials.
This book is the second (as far as I know) Meteor book, and there's only one book I'm aware of available for Ember (Master Space and Time with Javascript: Ember).
Discover Meteor (formally known as "The Meteor Book") is a book that teaches how to build a social news reader called Microscope, a simplified version of Telescope (Show HN: https://news.ycombinator.com/item?id=4840032).