Dev

Why Walmart is using Node.js

Node.js has been the delight of San Francisco hackers for the past couple years now, but startups and indie developers aren’t the only ones using JavaScript on the server side.

At Node Summit today, Walmart executives talk about why the real-world retail giant has chosen to work with this relatively new, extremely trendy technology.

Any time a big company makes a decision — any business decision — it is balancing two factors: risk and profit. In its presentation, Walmart executives made it clear that the benefit of using Node.js was far greater than the risk — an assertion many other large companies (and providers of Node support systems) have been waiting to hear from a household name like Walmart.

Walmart’s vice president for mobile engineering, Ben Galbraith, and Dion Almaer, Walmart’s vice president for mobile architecture, took the stage to discuss the largest retailer in the world’s decision to use Node in its mobile applications.

In a nutshell, Walmart is able to serve some very sophisticated features to mobile users on the client side using Node. It’s saving mobile shoppers a ton of time by customizing content based on device type and browser capabilities.

“We’ve been fascinated for a long time by end-to-end JavaScript,” said Galbraith, who said his team wanted to create “a website that would be rich and dynamic… on devices that weren’t too powerful.”

Now, on Walmart’s re-engineered Node-powered mobile app, all the front-end code gets executed on the back end.

“We’re really excited to have a viable back end for that,” he continued. “That’s why Node really excited us, and at Walmart, we’re doing a lot with that kind of architecture right now.”

“We rely on services all over the world,” Almaer continued “We do not control all of those services. Node allows us to front all these services… and scale up very nicely. It’s perfect for what we’re doing in mobile.”

And of course, large-scale Node projects come in handy when you’re recruiting, Galbraith pointed out, since curious hacker-types are eager to work with the latest technologies. However, Almaer warns that many applicants with JavaScript knowledge will also claim Node expertise — and those two disciplines, while related, are hardly equivalent.

While the mobile team did consider using HTML5 for Walmart’s mobile apps, they found it wanting. “We haven’t seen people create what we want for retail in an HTML5 app,” said Galbraith. “For us, hybrid is more interesting in something like what the LinkedIn app has done… it’s the same UI across all platforms, but it has a native experience.”

(Galbraith is referencing LinkedIn’s Node-powered mobile app, which skillfully blends native-running shells with web-based pages and content.)

As previously noted, Node is a relative newcomer — especially to the enterprise, where legacy systems still rule the roost. While Node.js, an open-source technology, recently became the most popular repository on Github, its adoption has been understandably slower in larger companies.

Joyent, the foremost sponsor of Node programming and a provider of Node support for the enterprise, has good reason to promote the technology’s stability and worth to large businesses. In a recent conversation with VentureBeat, Joyent engineering VP Bryan Cantrill said, “Node.js is not simply a new programming environment or the latest shiny object, but rather a profound shift in server-side programming towards event-oriented systems…

“We believe that Node.js is a programming mega-event on the scale of Java or Ruby on Rails. [It is] not merely a new way of expressing existing ideas, but rather a new way of thinking about how software systems should be built.”

Even Node’s core contributors are beginning to say that the technology, though still new and hype-driven, is ready for the big-time — and if Walmart’s mobile app isn’t the big time, we don’t know what is.

0 comments