Results prove Node.js is the best web server for powerful apps


I was talking with a friend of mine the other day, and we were talking about Node.js. He’s the CEO at a Startup in Toronto and a pretty savvy engineer. He mentioned that it’s only a matter of time before Node appears in almost every major corporation.

Node is a runtime environment for developing server side web applications using JavaScript. There’s an ample amount of evidence out now, after Node’s appearance in early 2009, that it’s become stable, and exceptionally efficient at scale.

A quick look online can tell you companies like Netflix, Walmart, GoDaddy and even NASA are all on board. LinkedIn has even mentioned publicly that they’ve achieved massive productivity gains from using Node, and they’re in the top 100 most visited web sites.

Something exciting to notice is that many of these companies came from .NET or Java environments before Node.js. As they begin to adopt the framework, front-end engineers will progressively start to use it and similarly so will your back-end folks. This full-stack environment will transform your whole organization to become comfortable with a single language. (Did I mention JS is also the most popular language on GitHub?). This induces massive productivity gains.

In addition, teams can reuse many modules, templates and libraries making Node.js even more attractive from a business perspective.

Part of what made Node special, which I’m sure you already know, is that it’s asynchronous. A Node app doesn’t have to wait for information that it retrieves from elsewhere, the program makes a query to a database and then keeps running (non-blocking I/O). And since it doesn’t use new threads or processes for each connection it’s capable of efficiently handling a massive amount of concurrent connections at once. Today, it’s not the only web server built like this. It’s possible to do non-blocking I/O in other languages, e.g. EventMachine for Ruby and Tornado for Python, but many libraries and add-ons in those languages won’t support it. JavaScript is built that way from the ground up, it’s a fundamental feature of the language.

Speaking of JavaScript, Node is being built on Google’s V8 JavaScript engine. V8 is the fastest JavaScript engine available. It accomplishes this in a few ways. First V8 has hidden classes for JS objects; objects with the same hidden class can use the same optimized code. Second V8 translates JS directly into machine code which means your processor can read the machine code directly instead of having the browser act as a translator. Finally, efficient garbage collection means that V8 can more effectively reclaim memory after it’s used in a task to use in another task.

What makes Node extra special in my opinion is it’s exceptionally vibrant npm community. 4 million developers per month use npm to share, reuse and rebuild code in exciting new ways. I partially attribute this to the nature of developers who are raised in the open source / JS realm. They were used to sharing software long before the Node project began. These days, I think we also all know that open-source software helps us evolve at orders of magnitude faster than if we were to try and silo ourselves away.

The Node project has an incredible solid backig by the likes of Microsoft, IBM, Intel, Redhat, PayPal, Joyent and others.

Microsoft, for example, is proposing to add competition to the underlying Node engine. A pull request was created to the Node.js mainline in January 2016 to enable Node to work with ChakraCore. The open sourcing of ChakraCore allows them to align with Node release schedules along with expanding support across the Windows ecosystem. ChakraCore is a fully capable JavaScript virtual machine that has the same key characteristics supported by Chakra and it allows developers to now target a brand new platform called Windows 10 IoT Core.

Corporate backing helps convince senior IT leaders and C-level management of the Fortune 2000 that Node is trustworthy. Sponsors add validity to Node. Believe it or not, it’s the power of optics in business.

Finally, big companies can provide huge leaps in the evolution of node by investing tremendous amounts of resources in co-ordinated R&D. This research can far surpass the output of a large ecosystem of autonomous developers.

A good example is at Netflix. Some of their core developers will be working on better tools for post-mortem debugging and then contributing their creation to the npm community, which everyone can then use.

Node’s ever-increasing uptake has brought it to critical mass in organizations and across the developer community at large. Why would you want to move off of Node with results like these:

But what I’m really looking forward to is what the likes of NASA, VISA, or the NFL will come up with in the next 12 months with Node.

Email us to talk about Node or anything JavaScript related — hello@okgrow.com

Until next time, folks!

Let's stay connected. Join our monthly newsletter to receive updates on events, training, and helpful articles from our team.