The rise of Node.js - and why it will lead the way in enterprise software development

Original author: Ben Rossi
  • Transfer
Node.js, which appeared several years ago, caused an unprecedented stir among developers. Today it continues to develop and remain one of the most sought after in the market.

In this regard, as well as the recent release of Node.js 5.1.0. We offer you our translation of an article about the benefits of Node and the reasons for its rapid development.

The rise of Node.js - and why it will lead in the development of enterprise software for at least the next decade

The JavaScript-based programming language Node.js has suddenly become very popular among mobile application developers - and so far does not give reason to think that it will leave soon.

The number of Node.js modules (and other JavaScript libraries) added by users since 2010 has exceeded the entire Perl CPAN repository, which has been populating for the past 20 years.

Node.js appeared after Google released the release of the JavaScript engine V8, which was conceived as a JavaScript interpreter for the Google Chrome browser. Shortly after opening the V8 source code, Ryan Dahl, the creator of Node.js, realized that the interpreter could be used to create a completely new concept of server-side JavaScript.

The market recently witnessed the acquisition of several Node.js pioneers, including StrongLoop by IBM, FeedHenry by Red Hat, and Modulus by Progress Software.

Experts in the IT industry note that JavaScript-based scripting language is a must-have tool for developing and delivering applications in modern companies.

Node.js continues to grow at an almost unprecedented speed. Over the past five years, developers have added over 190,000 modules for Node.js (and other JavaScript libraries). This exceeds the entire Perl CPAN repository over 20 years and bypasses Java Maven Central, despite fewer Node.js developers.

What caused such popularity among enterprise developers, and can IT directors be sure that Node.js will be actively used for at least ten years?

The ecosystem of support for Node.js modules around the kernel has experienced strong growth. The Node community has benefited a lot from the existence of the Node Package Manager (npmjs), which provides a central repository of common modules.

This is a key part of the flexible and easy method of working with Node.js. It allows each application to have the necessary modules in its own dependency tree. Thus, each application can have its own set of modules, which avoids the conflict of dependencies with other applications.

This flexible tool based on Node.js using the service has led to a significant increase in the number of shared modules and to the fact that has become a repository not only for server-side Node.js, but also for client-side JavaScript modules.

In September 2015, the central npm.js repository crossed the line of 2 billion downloads.

At an early stage in the development of Node.js, companies such as Netflix, Walmart, PayPal, Dow Jones and Groupon started using it. They created internal teams that used Node, using the divide and conquer approach: breaking down what used to be a more “monolithic” approach to creating web services. This allowed them to quickly develop and update solutions for various business areas and immediately deploy microservices in production.

Node.js becomes mainstream

Node.js is especially suitable for companies with a web infrastructure and mobile applications, in the backend of which you need to promptly make innovations using an architecture built on microservices. This includes organizations that may seem conservative, but are faced with the need to develop applications that are responsive to the rapidly changing world of business, while maintaining the stability and security of existing systems.

These double demands made IT teams change their mindset. Almost all companies had to look for ways to quickly respond to requests for business software, while maintaining the current legacy code, which changes much less frequently. Node.js is one of the tools for teams developing interoperability systems, such as mobile solutions.

Node.js is often praised for responding to corporate needs and allows you to build applications with an API that can access the server side and large amounts of data in an easy and efficient manner. Indeed, focusing on the reusable RESTful API as a more flexible way to build large-scale software architecture has allowed Node.js to find its place.

Node.js can significantly reduce application development time, while maintaining the same functionality. John K. Ousterhout, who helped develop a meaningful scripting language and Tcl / Tk toolkit, back in the 1990s, argued that scripted programming languages ​​are inherently more productive than heavier ones like C or C ++.

Compared to heavier stacks, application development with Node.js is faster, and with the development of the ecosystem, Node is only accelerating. This is the case when you should spend time searching for what is already in the Node community and find out if any of the common modules can be reused.

Among developers, Node is very supportive and respected by experts in this technology. The cohesion of developers and their morale are enhanced if there is a team working with Node.js. in the organization’s IT structure. This is perceived as an interesting and truly cool opportunity.

Node.js is great for applications based on the microservice architecture, due to its low processor consumption, its computing power and efficient use of RAM. This advantage is especially evident for tasks related to I / O rather than CPU usage, as the implementation of the Node.js execution model allows the use of “easy” parallelism based on a single execution flow model that does not require complex techniques parallel programming.

Due to the combination of all this - the way of thinking of programmers and the various technical advantages of an easy approach - companies get a new approach to solving IT problems with a development team that is motivated to solve them and armed with a high-speed set of tools.

Future Node

Even the most conservative parts of the IT community now recognize that Node is growing rapidly. It has a stable kernel with support for backward compatibility for most versions and the ability to run real production solutions at major corporations.

Last month, NodeConf EU announced Node 4.0.0 and a rather tight release cycle. The first Node release with a long support period (LTS) was scheduled for October, with subsequent releases every 12 months. Each LTS release will be actively supported for 18 months and after that switch to support mode for another 12 months.
From a translator: Node.js is really developing very actively: since the publication of the article (and this was October 27), two more releases have been released - LTS release 4.2.2, followed by “not LTS” 5.1.0.

A long-term support plan gives enterprise developers a clear idea of ​​which version of Node is safe to use for experimentation and which version for deployment to production. It is also reassuring that the Node.js Foundation has an open management model.

Despite the fact that Node does not seek to supplant other programming languages, it will certainly take its place among the tools for developing corporate software for at least a decade. Node has already shown itself to be promising for the development of the Internet of Things. As for server solutions for web and mobile applications, Node is still strong.


Also popular now: