What’s so special about Meteor?
As the creators of Meteor revealed on their website, they consider their work to be comparable to that of the Apache Foundation or the Free Software Foundation. The Meteor project is in fact an umbrella organization that provides:
Meteor boldy claims that developers can now build an app with just a few of lines of code where previously they needed thousands. This claim is based on the assumption that for each project you spend a large amount of time assembling your tool chain, then writing basic infrastructure code to provide event handling, view rendering, and low-latency data synchronization.
When you first start using Meteor, you will see how much non-functional code you needed to write in your previous life.
Put on a business hat. Meteor allows you to fully focus on implementing business functionality that benefits the user. That makes it an amazing tool for building MVPs. Don’t worry about laying the pipes first.
Meteor is like an empty house. Bring your furniture and settle in right away. Electricity, plumbing, and even a kitchen are already there. Hell, even Wifi. Or do you prefer to buy a patch of land, hire an architect, develop the plot, and build the entire house from scratch?
Other frameworks give you much freedom and flexibility. Meteor gives you a headstart. It’s important to understand when to use which. Most of the time it makes no sense, technologically and economically, to build an entirely new house. Also Meteor allows you to swap out parts for others, except you don’t have to.
Over the last several years, we have seen very different frameworks mature — Symfony in the PHP realm, Rails for Ruby, Spring for Java. You could argue that these are highly optimized for development ease, but they take a legacy approach to developing for the web. They are built around the idea that the server is the smartest person in the room and should do all the processing. The client is just a consumer with some tricks to send back data. Occasionally. It’s like newspapers. Or libraries.
The way we use the web today is in realtime, collaborative and always-on. How can this be supported by a legacy foundation that is based on a single server sending pre-rendered information out to passive clients, adding cumbersome Ajax-calls to somehow get bi-directional data flow?
I am still not convinced
As much as some people despise it, have you seen WordPress? Sure you have, it ubiquitous on the web. For some of us it is even synonymous with the web. Chances are you visit at least a dozen wordpress sites a day without realizing it. WordPress has democratized web publishing for the rest of us. Every person, heck – even my mom! – can start publishing their writing to the web in minutes.
I believe that Meteor will do for web developers what WordPress did for the average Joe. It does not take weeks to work on a side project you can actually show to friends and family. It only takes a weekend to put your ideas into code (perhaps even a single night if you are into sleep deprivation). Meteor significantly lowers the entry barrier to building apps that meet today’s user expectations.
In addition Meteor, allows you to build for different targets easily, the web is just one. Thanks to a clever integration of Cordova (also known as PhoneGap) into the platform, packaging your application as an Android or iOS app is a breeze. Don’t worry, you don’t need to learn Java and Swift and code native apps to make great mobile apps.
Also, if you have read until here, you could have already installed Meteor on your machine.
Dive into Meteor today
Start using Meteor right now with the official Meteor tutorial.
As soon as you are ready to step up and learn Meteor properly, I suggest you get a copy of Meteor in Action, the book I am currently writing together with Manuel for Manning publications.
Alternatively, you can get a copy of either Discover Meteor by Sacha Greif and Tom Coleman or – if you are looking for a more basic guide – Your First Meteor Application by David Turnbull.
Meteor will eventually turn the web into a reactive, distributed realtime platform. Be a part of it!