Meteor hits 1.0 - Welcome to the new web

Meteor hits earth

Hello Meteor!

On October 28th 2014, the Meteor Development Group announced the availability of version 1.0 of their isomorphic JavaScript platform Meteor. 12 hours later, the post at Hacker News is at almost 500 points, Wired, Infoworld, and German Linux Magazin are among the first to cover the release, but you can expect a lot more media attention in the coming weeks.

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:

  • libraries
  • tools
  • standards
  • services

As such, Meteor is not yet another JavaScript framework like we have seen so many rise to fame in recent months. Meteor is an entire ecosystem.

Fixing issues with SockJS

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.

Want Angular in the front? Easy! Use a Java-backend instead of Node.js to power a Blaze frontend? It’s been done already!

Why would I want JavaScript on the server anyways?

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?

The new web is event-driven, and so is JavaScript.

Using JavaScript for a modern web is not a neccessity inside the browser. Why implement a disruptive interface between front- and backend to handle data handoffs via REST, using one language on the server and another on the client? The resulting code-duplication makes maintaining (and extending!) applications much more costly and painful.

JavaScript is here to stay, why else would Paypal build their entire business around Node.js, the same application server used in the Meteor platform?

NodeJS in the enterprise

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.

Rapid results with MeteorJS

Also, if you have read until here, you could have already installed Meteor on your machine.

Dive into Meteor today

Meteor is not only an efficient tool for building applications, it is also a lot of fun to use for both newbies and experienced developers alike. The quickly visible results are highly motivating, which makes Meteor an ideal tool for getting your feet wet with an isomorphic JavaScript architecture. Something to do for the upcoming long winter evenings for sure.

Picard asks you to start using Meteor

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!

Author image
Blogging since 2003 about life, tech, yoga. Passionate about the details and eager to know more. Systems theory meets empathy.
Bochum. Germany.