Government // Mobile & Wireless
News
7/25/2012
11:28 AM
Connect Directly
LinkedIn
Google+
Twitter
RSS
E-Mail
50%
50%

Meteor Streaks Through Social Software Sky

JavaScript framework for speeding development of fast, collaborative applications gains admirers, as the company behind it gains funding.

10 Social Acquisitions Signify Bigger Trends
10 Social Acquisitions Signify Bigger Trends
(click image for larger view and for slideshow)
If you want to make an impression with a social or mobile software app, it helps to make it blazing fast. Fast as a meteor, perhaps?

The Meteor Web development framework is gaining attention for the way it simplifies the creation of responsive applications, particularly social or collaborative applications where many users need to see the actions of the others update in their browsers or on their phones in near real time. On Wednesday, the Meteor Development Group that backs the open source project announced an $11.2 million Series A investment led by Andreessen Horowitz, with additional funding from Matrix Partners and others.

[ Do you really have to choose? Read Myth Of Systems Of Record Vs. Systems Of Engagement. ]

David Skok, a venture capitalist with Matrix Partners, sees Meteor as having the potential to become the next Ruby on Rails. "Every once in a while a new application development framework comes along that dramatically accelerates the way people create applications," Skok wrote in a blog post. " If you've ever looked at Google's spreadsheet and wondered how they got such great interactivity in a browser, and been impressed by the fact that it would automatically update any other user's view of the spreadsheet in realtime, then Meteor is for you. Meteor takes the complexity out of writing this kind of realtime, highly interactive web/mobile application." Skok is known for leading the company behind the JBoss open source application server to its acquisition by Red Hat, so he knows something about finding the commercial potential of open source technologies.

The comparison with Ruby on Rails is that the Rails framework is built on the Ruby programming language. Rails can automatically generate skeleton code that simplifies basic tasks such as creating HTML templates and mapping database structures to programming objects. Meteor does something similar for distributed Web and mobile applications, written in JavaScript. JavaScript is the programming language used on both client and server, with Node.js as the server-side JavaScript engine. Node.js has become popular in its own right for use in software such as the LinkedIn mobile app. Meteor's role is to simplify the process of defining which code will run on the client, versus the server, and for sharing data between nodes, so each user can see the actions of the others. The client can be a browser or a mobile app with embedded browser capabilities such as the ability to execute JavaScript.

Meteor also includes a latency compensation mechanism, which allows each user to see the results of an action immediately, without waiting for the round-trip transmission of data between client and server. Given a well-behaved Internet connection, other users will see that update within seconds or milliseconds. When used in conjunction with the MongoDB NoSQL database on the server, Meteor further simplifies data handling by replicating MondoDB API on the client. This means developers can use the same commands to store data on either client or server, with replication between the two.

"Meteor lets typical developers build rich, responsive applications in days rather than the months it takes a team of experts to do it today," Matt DeBergalis, one of the three Meteor co-founders, said in an interview. "The biggest companies with the biggest budgets, like Google with Gmail or Facebook with its photo viewer have been able to invest massive resources in making this work. Now, users expect applications like mapping to feel fluid and interactive the way Google Maps does, but for most developers that is out of reach."

There are entire books written on AJAX, the asynchronous communication method for JavaScript that supports behind-the-scenes transmission of data without Web page refreshes, DeBergalis noted. Yet that's one of a dozen disciplines required to deliver a responsive Internet application that scales, he said. "The process is frankly absurd, to the point where it's getting harder and harder for developers to build great apps," he said. "By making it possible to create apps written entirely in one language, JavaScript, Meteor lets developers focus on the app itself."

To be clear, Meteor is not some kind of point-and-click development environment for amateurs. In its current form, it requires familiarity not only with coding but command-line operations (see the video below). The preview version of the tool is available for Linux and MacOS. There is a community-developed version for Windows, but it has not yet been made part of the official distribution. DeBergalis said the installation process and some other aspects need polishing.

Meteor is designed for deployment to a cloud-based server environment, and for convenience even provides a ready-made cloud service where you can deploy to an address like myapp.meteor.com. However, you can package up the same app and deploy it to the Amazon or Heroku clouds or anywhere else that Node.js is available.

Previous
1 of 2
Next
Comment  | 
Print  | 
More Insights
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Must Reads Oct. 21, 2014
InformationWeek's new Must Reads is a compendium of our best recent coverage of digital strategy. Learn why you should learn to embrace DevOps, how to avoid roadblocks for digital projects, what the five steps to API management are, and more.
Video
Slideshows
Twitter Feed
InformationWeek Radio
Archived InformationWeek Radio
A roundup of the top stories and community news at InformationWeek.com.
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.