Meteor wants to be the warp drive for building real-time apps

For most organizations, building a modern-day cloud application that rivals something as clean and fast as Uber or Facebook is, obviously, not an easy-to-do task. The art of crafting a responsive app that’s able to load up and transmit data in real time demands a developer team that’s skilled in multiple web frameworks and languages like Angular.js, Node.js and PHP.

Meteor Development Group wants to simplify this process, and it thinks the best way to do so is to build everything in JavaScript, the ubiquitous programming language that’s the backbone of web browsers. Meteor Development Group’s open-source project, dubbed Meteor, is essentially a souped-up JavaScript application framework that’s designed to make it easier for coders to create real-time apps like those found at big tech companies while appeasing enterprises who are more familiar with JavaScript than other languages.

“It’s a fresh design to how to build modern architecture out of JavaScript,” said Meteor Development Group founder Matt DeBergalis. “With the right design, you can build experiences like Uber with ten lines of code.”

Enterprises stuck in the past

The way DeBergalis explains it, twenty years ago, the best applications were found in the enterprise. With the advent of mobile computing and real-time applications like Uber and Facebook that are constantly sucking up and distributing data, however, consumers are now used to a type of real-time functionality that’s hard to find among enterprise apps.

“The enterprise is still stuck on Internet Explorer 8,” said DeBergalis. “Why can’t I see the financial reports on my phone? The answer is we [enterprises] can’t afford to write the thing you want.”

And that’s the crux enterprises face: It’s difficult to hire developers who have the skills to craft these type of complex applications, as it requires finding coders who are well-versed in multiple languages like Node.js, Ruby on Rails and the like. And once you find these talented developers, you have to cough up the cash that their skill set requires—hiring in the tech industry is competitive, as you probably already know.

Meteor Development Group founder Matt DeBergalis

Meteor Development Group founder Matt DeBergalis

But if coders are able to build real-time apps using their knowledge of JavaScript, enterprises may find it easier to acquire talent and it could boost the speed of building apps.

“We’ve completed a two-plus year development project that got us to a stable production-ready JavaScript platform that makes it dramatically faster to write apps,” said DeBergalis.

The promise of a real-time web framework

The Meteor framework is an example of what’s known as isomorphic JavaScript, a term popularized by Airbnb engineer Spike Brehm. When a programming language is labeled isomorphic, that basically means that the code can execute on both the server side (where storage systems and databases exists) as well as the client side (what the user sees when accessing an application).

With real-time applications like Uber’s, there can often be several different places where code is now running, instead of the past in which a simple desktop application would only have to interact with a web server to access data, explained DeBergalis.

[pullquote person=”Matt DeBergalis” attribution=”Matt DeBergalis, founder, Meteor Development Group” id=”902718″]With the right design, you can build experiences like Uber with ten lines of code.[/pullquote]

A modern, real-time application can potentially be comprised of multiple codebases (an Android application, an IOS application and a desktop application, for example), multiple APIs to ensure that all of those different codebases can speak to each other, and multiple databases. A web framework like Meteor essentially covers all of these areas and negates the need to have teams of specialists whose jobs are to maintain several different code bases, he said.

“The idea of isomorphic JavaScript is you want to use the same language and same API in all of those places,” said DeBergalis.

Because the application is now built on one single framework, it’s simpler to keep track of live updates. The JavaScript can watch for changes in a MongoDB database and “alert the programmer when information in that database changes,” DeBergalis said.

Keeping track of database changes is imperative for Meteor as it allows real-time syncing of data on different devices. The Meteor framework works by including “little cache servers next to each user” that are stored in-memory on the user’s device, DeBergalis explained.

Getting started with Meteor

Getting started with Meteor

These in-memory database cache servers are essentially connected to the main database servers stored at the home base, and every time a change in the database occurs due to a user request or transmission, the framework updates those small cache servers so that users get their data fed to them as quickly as possible.

What’s next for Meteor?

Since Meteor was founded in the summer of 2011, it’s gained a lot of traction with developers who are looking for a quicker way to build real-time apps. The 19-person company counts hot startups like Slack, Stripe and Respondly as users.

The startup also has the support of Andreessen Horowitz, who along with Matrix Partners, drove Meteor’s 2012 Series A funding round worth $11.2 million, which Gigaom’s Barb Darrow reported on back in 2012.

The next step for Meteor will be unveiling its long-awaited commercial product called Galaxy, although DeBergalis declined to state when it will be released. As the open-source Meteor framework targets developers, DeBergalis said Galaxy will be more operations-focussed and he described it as a “cloud service for running Meteor apps.”

Although DeBergalis wouldn’t spill the beans on what Meteor has in store for Galaxy, he indicated that the service will address the difficulties of running a real-time application across multiple data centers.

Meteor also only supports the MongoDB and Redis databases, and is working on including support for SQL, he said. Supporting multiple databases will be important for Meteor’s success, especially as many tech observers believe that no single database can satisfy all needs.

Meteor is also working on a port for Windows, which considering the recent open-sourcing of the .NET framework, DeBergalis feels will capture the attention of the [company]Microsoft[/company] developer community.

“What’s interesting is that developers on .NET today are looking for ways to get to the phone,” DeBergalis said. “If I’ve been a .NET developer for a couple of years, I would want to look for something new.”

Will big enterprises start to give Meteor a test drive, since as of now, it appears that it’s more of a startup commodity? While Meteor promises an easier way to build applications, it might be a chore for legacy companies to convert their old application infrastructure to the new framework, although DeBergalis said “there are ways that companies can retrofit their old applications to this new world.”

There’s no denying that the development world is changing and users are demanding fast-responding applications; with new frameworks like Meteor, catching up to this changing world could be less of a nightmare for enterprises.