Meteor – a next generation web framework

Posted on : 31-03-2015 | By : richard.gale | In : Innovation

Tags: , , , , , , ,

0

Over the years, we’ve gotten used to the idea that a website is something that you only communicate with in short, separate bursts of activity. Highly reactive websites such as Facebook have invested heavily in developing their own proprietary frameworks for delivering an enhanced user experience whereby changes are pushed to the client in real-time.

Meteor (http://www.meteor.com) is part of a new wave of frameworks and technologies that are looking to challenge the status quo by making real-time web applications possible for any organisation.  Formed during the Summer ’11 intake of Y Combinator (www.ycombinator.com) start-ups, the company has released v1.0 of their popular Framework during Q4-14 and is gathering a following among developers worldwide due to its power and ease of use.

Modern web applications server data as opposed to HTML and this forms one of the core tenets of Meteor’s architecture. Typically web servers perform all the processing and then push results down to the client, Meteor flips this paradigm on it’s head and pushes incremental data changes down to a local in-memory database hosted in the clients browser for processing. With a Meteor application, you no longer need a refresh button, as data changes, the user experience reflects these in real-time.

While this may not sound that different to technologies such as  AJAX, which have been around for many years, Meteor takes care of all the internal ‘plumbing’ required to enable real-time updates, without the developer having to worry about coding these themself.

Meteor takes advantage of Node.js (http://www.nodejs.org) and as such enables the developer to write both their client and server-side code a single language – JavaScript. The advantage of this is that your developers do not need to constantly shift between programming languages and can instead focus on the core application functionality. Meteor is currently coupled with the NoSQL database, MongoDB (http://www.mongodb.org) at the back end, which means all client, server and database code is all written in a single, easily maintainable language.

Including existing datasets into your Meteor application could prove challenging at present due to only MongoDB being officially supported, however additional database connectors (i.e MySQL) are currently in development by the community. Given the open-source nature of the project and rapid adoption, support for additional popular databases is highly likely over the coming months.

The result of all this is a platform that manages to be very powerful and very simple by abstracting away many of the usual hassles and pitfalls of web application development. Removing the need to manually handle client and server interactions, Meteor enables rapid application development, while still being scalable into production environments.

One other major advantage of the Meteor platform is their integration with Adobe’s Cordova platform, meaning that your Meteor web application code can be compiled into a mobile (IoS/Android) application without the need for any significant re-work.

While this article only scratches the surface of Meteors capabilities and underlying technology, hopefully it has given you enough of a taster to investigate it’s use further.

This article was authored by one of Broadgates’ consultants, David Sandell. David can be contacted at David.Sandell@broadgateconsultants.com