In association with heise online

12 April 2012, 11:44

Automatically synchronised web apps with Meteor

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Meteor screenshot
Zoom Meteor in action

Meteor is both the name of a new startup and its open source licensed framework which is offering a new way to build web applications. The Meteor framework handles all the issues of data synchronisation and the client/server connections, while developers get to write their applications entirely in JavaScript. The company's team, which includes David Greenspan, author of Etherpad, and Geoff Schmidt, one of the authors of Miro, have set themselves the task of changing how software is written for the web and the just-released Meteor framework preview demonstrates how they are going to achieve this.

In a screencast, the developers show how the Meteor platform allows developers to make server-side changes which are automatically pushed to clients, interact with a MongoDB database API from the client side, show synchronised views of the same page in two different browsers and see how the system compensates for latency.

A walkthrough and introduction to Meteor

The platform is in its very early stages, but can already make use of many existing web technologies such as coffeescript, jQuery, Backbone, underscore and others. Meteor packages them into "smart packages" which can be added to, or removed from, an application with a single command. The server side of Meteor is a node.js based server, but it eschews the event driven callback interface of Node for a single thread-per-request model. Databases and documents are stored at the server and modifications to them are then propagated to all clients where the Meteor client sorts out what changes need to be made to the displayed user interface. The database API is, currently, completely exposed at the client end, though the developers say that as soon as they have added authentication, they will make it possible to control that exposure.

The developers are running their own infrastructure as a free service for public deployment of betas and demos or users can run their own infrastructure. Meteor includes a deploy command to send the application to the Meteor infrastructure and a bundle command which packages everything needed to run the Node.js server, apart from Node.js and MongoDB, into a single .tgz file. The developers hope to release the GPL-licensed framework as a version 1.0 in "more than a month, but less than a year". Meteor's "early preview" is installable by simply running "curl | /bin/sh" and is available to be forked on GitHub. Documentation can be found at


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit