Mobile
News
1/23/2012
06:04 PM
Connect Directly
Twitter
LinkedIn
Google+
RSS
E-Mail
50%
50%
Repost This

Why LinkedIn's Mobile Developers Dumped Ruby For Node.js

Node.js, a server-side programming platform for JavaScript, available as open source, is part of the story behind a performance boost for LinkedIn's most recent iPhone app.

How Starbucks Taps 7 Tech Trends
How Starbucks Taps 7 Tech Trends
(click image for larger view and for slideshow)
The developer team behind LinkedIn's mobile apps has been getting in the mode of Node.js and seeing great performance improvements as a result.

Kiran Prasad, director of engineering for mobile at LinkedIn, said Node.js has become his group's standard for front-end programming and is likely to start infiltrating other projects, including those targeted at PC browsers. "I don't think we'll go through and rewrite everything from scratch because that's just not time-effective, but we're definitely moving toward Node," he said.

Node.js is a server-side programming platform for JavaScript, available as open source with the support of Joyent. It's recently been incorporated into Yahoo's Cocktails suite of Web frameworks and is supported by VMware's Cloud Foundry development platform.

[Tracking the LinkedIn APIs? See LinkedIn Groups Widgets Headed For Apps, Sites]

At LinkedIn, a switch from Ruby on Rails to Node.js was part of the story of how the developers boosted the performance of the new iPhone app that came out over the summer, Prasad said. The performance of a mobile app is often determined less by the performance of the code executing on the device than by the latency of connections back to a server--particularly when the app must make multiple requests of the server, he said.

With Node.js, it's possible to achieve better performance by keeping the same connection open across multiple requests, Prasad said. Other server programming environments tend to discourage keeping a large number of connections open because each one requires its own process and consumes computing resources, he said. Node.js uses an event-driven programming model that allows it to handle many open connections without running out of resources. As a result, LinkedIn is able to deliver much faster performance on many fewer servers, saving money and making users happier at the same time, said Prasad.

While Node.js is not the right answer for processor-intensive data analytics, it is a great solution for most front-end engineering tasks--programs that essentially do heavy string manipulation to generate HTML to be sent to the browser, often personalized with input from multiple back-end systems, Prasad said.

Previous
1 of 2
Next
Comment  | 
Print  | 
More Insights
InformationWeek Elite 100
InformationWeek Elite 100
Our data shows these innovators using digital technology in two key areas: providing better products and cutting costs. Almost half of them expect to introduce a new IT-led product this year, and 46% are using technology to make business processes more efficient.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Government, May 2014
NIST's cyber-security framework gives critical-infrastructure operators a new tool to assess readiness. But will operators put this voluntary framework to work?
Video
Slideshows
Twitter Feed
Audio Interviews
Archived Audio Interviews
GE is a leader in combining connected devices and advanced analytics in pursuit of practical goals like less downtime, lower operating costs, and higher throughput. At GIO Power & Water, CIO Jim Fowler is part of the team exploring how to apply these techniques to some of the world's essential infrastructure, from power plants to water treatment systems. Join us, and bring your questions, as we talk about what's ahead.