• Technology
  • by Piotr Pawlak
  • 07/07/2017

From underground to enterprise – story of the Node JS

In around 2015 Netflix start switching architecture to Node.js. That step allows Netflix to streamline the development. Let’s check why big companies and developers from around the world love Node JS.

At the beginning Node JS was easy solution created in “underground” to solve some devs problems. Mostly as temporary solution or kind of patch than full-fledged programming language. Nowadays Node JS is using by top IT companies like Google, Microsoft, Amazon or Netflix.

Node JS – the beginning

Before we start the story about positive aspects of Node JS, we should came to the 2009 – the times, when Node JS was written by Ryan Dahl. Dahl was inspired to create Node.js by… progress bar on Flickr.

While he was uploading a file, he couldn’t see the progress because the browser did not know how much of the file had been uploaded and had to query the Web server. This common problem inspired Ryan to find easier, faster and literally better solution, which could be used by developers in similar cases.

Technically Node.js is a set of runtimes libraries written in JavaScript. It operates on single thread, using non-blocking I/O requests allowing us to support a lot of concurrent requests. Node.js is executed by engine “V8” built for Google Chrome. It was published and open-sourced in 2008. Engine V8 was written in C++ and it allows to compile Javascript to native machine code instead of interpreting it in real time.

So as Node.js operates on Javascript language, we automatically have the same language on the frontend (in client web browser) and on the backend. It is important to say, that Node.js mainly operates on ECMAScript standardization.

ECMAScript is standardized JavaScript by Ecma International and first version was published in 1997. The most evolution for Node.JS was made by releasing ECMAScript 6th Edition in June 2015. 7th Edition and 8th Edition was also next big step in evolution. Today, Node.js and Javascript reached Android and iOS development as React Native.

From underground to enterprise – why Node JS is so popular?

Most of popularity of Node.js comes from that a lot of web developers know already Javascript so, for developers is also good step in standardization of a language. They can have one development language for all of the applications.

In the world of Node.js there is a lot of frameworks. Some of them have already strong popularity. Some of them still waiting for discover by wide audience. We think there are two biggest players: Express.js and Socket.io

Socket.io is a server framework for building real-time web applications. It allows communication between clients and server. It works as a client-side library running in the browser and server-side as library for Node.js. Socket.io allows real-time communication, it means ability to build application like live customer-support chats, or binary streaming processing (like video-chats).2

Express.js is one of the web framework – minimalist and designed mainly for building web &mobile applications and API applications. It offers features like template engines, routing and some database integrations. It used to build some more advanced frameworks – for example KeystoneJS – CMS & Web Application Platform.

For developer point of view it is also important that Node.js provides package manager and easy package publication. Node.js provides NPM package manager. This is the world’s largest software registry for Node.js. On NPM you can find almost every JavaScript package existing these days, like most popular jQuery, Boostrap, React. The idea of NPM modules is similar to Ruby Gems – a set of reusable components, easy available to find and use.

Node.js is also provided for Linux ARM devices (like ARMv6, 7 and 8), so technically there is a possibility to using Node.js on the IoT devices. For example that device can be Intel Edison Development Board or anyone else what have linux on-board.

Node JS – loved by giants

Today many big companies using Node.js – like GoDaddy, Grupon, Netflix, Amazon, Google or Microsoft. In around 2015 Netflix start switching architecture to Node.js. That step allows Netflix to streamline the development and to migrate from monolithic architecture to microservice (or service-based) architecture. The most important changes what was provided by switching to Node.js is better performance what allows reduce costs of architecture, and development all applications.

On Amazon we can find that Node.js is available for development Lambda functions. Lambda is a cloud service provides serverless architecture. Similar functions have been lately provided by Google Cloud services.

In the summary Node.js is a server-side Javascript runtime, that allows write the same code for both servers and devices backend. In additional features, the same libraries for Node.js mostly works on the frontend. As Node.js was written in C++ there exists big improvement at speed of execution requests. And as we have the same language, its more easy to learn development for everyting.

Written by: Piotr Pawlak & Justyna Kot 

Do you like article?

Piotr Pawlak

Blockchain / DApps Developer

Games and code geek. He deals with the programming of Internet applications - both frontend and backend. Open to new technologies - including blockchains. For several months dealing with this technology professionally.

Let's work together.

Are you ready to build the future together?