From underground to enterprise – story of the Node.JS

In 2015 Netflix started to migrate its architecture to Node.js. This step allowed the company to simplify application development, which, as it turned out, was one of the steps that make Netflix so successful. More and more large companies and developers are choosing Node.js as a technology for the development of their product. Why?

Initially, Node.js was a simple tool created in the “underground”. It was supposed to help in solving some development problems, such as scalability, speed, I/O support (inputs/outputs). Initially, it was mainly used as a temporary tool to support current solutions. Currently, Node.js is part of the architecture of the main players in the IT industry. Among them are Google, Microsoft, Amazon, Netflix and many, many others.

Underground origins of Node.js

Before we start writing about the possibilities of the tool, we should go back to 2009, the time when it was written by Ryan Dahl. Dahl’s inspiration for this tool was… a progress bar at Flickr (pro tip: never underestimate even the most trivial elements of the reality around you – you never know where you will find inspiration for something… ;)).

Currently, when we start sending a file through web interfaces, we see a progress bar that usually informs us about the time remaining to complete the operation, the size of the file or other facts that the interface creator thinks should be useful for users… Dahl a few years ago (almost a dozen years ago!) unfortunately did not see such information, so he didn’t know how much he had to wait. This common problem of the lack of a progress bar meant that Ryan began to look for a solution that was simpler, faster, more user-friendly and, above all, easy to implement by other programmers.

From a technical point of view, Node.js is the boot environment for the application. It works single-square with no input/output lock and the ability to handle a large number of queries. Node.js has a built-in V8 engine, which is created and developed by the giant from Mountain View – Google. The V8 engine is written in C++. It allows you to compile JavaScript into machine language, not byte language (which is interpreted in real time).

Concise Software story of Node JS

Node.JS

As a result of the fact that our hero operates in the JavaScript language, he gives programmers the ability to create a frontend and a backend in JavaScript. It should also be made clear that Node.js follows ECMAScript standards.

ECMAScript is a standardized specification that is implemented by JavaScript. The institution responsible for language standardization is Ecma International. The first standard was published in 1997. The greatest evolution of the standard was introduced in the sixth version of ECMAScript, which was published in June 2015. We now have 9 versions, but the versions 7 and 8 have also made positive changes.

From the underground to the mainstream – why is Node.js so popular?

Its great popularity is largely due to the fact that a very large number of programmers who create web applications simply… know JavaScript. The second good reason for the development of Node.js is standardization. As mentioned above, writing in the same language (which is JavaScript) frontend and backend is a great help for the creators. A lot of frameworks have been created in the community surrounding Node.js so far. Some of them, such as Express.js or Socket.io, are really well developed and have become very popular within the community.

Socket.io is a server framework that allows you to create “real-time” applications. It enables building real-time communication between clients and servers. It acts as a client-side library, as well as a server-side Node.js library. It allows you to program applications such as chats, audio-video communication or streaming.

Express.js, on the other hand, if we can put it this way, is designed in a minimalistic style. Mainly used to build APIs for web and mobile applications. It also offers support for the construction of views – the front-end. It is used to build more advanced solutions, such as Keystone.js – CMS platform (Content Management System).

From the programmer’s perspective, it is also important to efficiently manage libraries and library dependencies in written software. Node.js provides such management by providing NPM (Node Package Manager) software. Thanks to the package manager we can easily find the library we are interested in. The most popular packages are gulp, grunt, and express. In NPM registers we can also find popular ones from the front end: jQuery, Bootstrap or React.

Node.js also allows you to run applications on devices with ARM processors (ARMv6, 7 or 8), so basically you can run applications written in JavaScript on … IoT devices. For example, it could be the popular Raspberry Pi or the Edison Development Board.

Node.js – the favorite of giants?

Currently, many large companies and corporations use Node.js. Among them are such giants as Google, Microsoft, Amazon, Netflix, but also GoDaddy, Groupon, PayPal, Uber, and LinkedIn. One of the most interesting examples of companies that can be considered as precursors of using Node.js in their architecture is Netflix, which in 2015 began to migrate its architecture to Node.js. This step allowed Netflix to simplify application development and the development itself. It also allowed for a new approach, namely migration from the architecture of the monolith to the architecture of micro-services. Thanks to the introduction of Node.js, it was possible to improve the performance of the application, which in turn reduced the costs of maintenance and development of the entire infrastructure.

Amazon also uses it. It can be used during the development of the Lambda function. This is a cloud solution that allows you to build serverless applications. Similar solutions can now be found in Google Cloud.

In summary, Node.js allows you to write server applications using JavaScript. Using C++ as a basis for the creation of Node.js gives us the ability to ensure the appropriate level of stability and speed of written applications. Finally, as most web application developers are more or less familiar with JavaScript, it’s relatively easy to enter the world of Node.js.

This is the short story of the main hero of the text. What does its future look like, what do you think about Node.js and do you use it? Let us know in your comments! ­čÖé


Written by: Piotr Pawlak & Justyna Kot 

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.

Post a Comment

You don't have permission to register