Language: EN

historia-de-nodejs

Brief history and evolution of Node.js

The history of Node.js begins in 2009 when its author, Ryan Dahl, first presented this platform at the JSConf EU conference.

Dahl was looking for a way to create highly scalable real-time web servers. They had the problem that the servers of the time, such as Apache HTTP Server, had trouble handling a large number of simultaneous connections.

On May 27, 2009, Dahl officially introduced Node.js as an open-source JavaScript runtime environment on the server side. It worked exclusively on Linux and Mac OS X.

Node.js ran on the V8 engine of Google Chrome, which had been released on September 2, 2008. It stood out for its speed, as it did not simply interpret JavaScript, but compiled it to machine code.

Additionally, it combined this with a non-blocking event loop and a low-level I/O API, allowing Node.js to efficiently handle thousands of simultaneous connections, marking a significant difference compared to existing technologies at the time.

This marked the beginning of a new era in web development, where developers could use JavaScript on both the client and server sides, making it easier to create fast and scalable web applications.

Growth and Popularization

In January 2010, NPM, the package manager for Node.js, was introduced. NPM allowed programmers to manage projects in Node.js, and easily install, share, and publish reusable code packages.

This was a huge boost for Node.js. Undoubtedly, NPM is one of the major pillars and reasons for the success of Node.js, due to its ability to foster collaboration and reuse of libraries and modules.

By June 2011, Microsoft and Joyent had implemented a native version of Node.js for Windows. This greatly expanded the reach and audience of the tool. After all, Windows has a 90% share of the desktop market.

Node.js quickly became a popular and everyday tool. It was the “hype” technology of the moment. Everyone was talking about Node.js. For better or worse, but they were talking about it.

This expansion was followed by changes in the leadership of the project, with Ryan Dahl handing over management to Isaac Schlueter in January 2012, and subsequently to Timothy J. Fontaine in 2014. It became maintained by the company Joyent, which hired Ryan Dahl as an employee.

In 2014, tensions arose regarding the governance of Node.js, leading Fedor Indutny to create a fork called io.js, which aimed to be an alternative with a more open and community-responsive governance.

Subsequently, the Node.js Foundation was formed in February 2015, aiming to unify Node.js and io.js again. This was achieved in September 2015 with the release of Node.js version 4.0.

Later, the JS Foundation and the Node.js Foundation merged into the OpenJS Foundation, which is currently in charge of Node.js development.

In short, a bit of “drama” that usually happens in all projects that end up becoming large. And we mention it to have a bit of industry culture and history of computing.

Versions and Improvements

Node.js, as a tool, has continued to evolve with improvements in performance, security, and functionality. Like many other developments, in 2015 Node.js adopted the form of LTS and non-LTS versions.

LTS (Long-Term Support) versions provide stability and long-term support for production applications, while non-LTS versions contain the latest changes and improvements but are not intended for use in production.

Since 2013, Node.js has changed a lot. Improvements have been included in the performance of the V8 engine, and optimization for multi-core architectures.

In 2018, native support for HTTP2 was included. In 2019, native support for ECMAScript was added. In 2023, support for .env files, improvements in the module API, and experimental support for the cppgc garbage collection library for C++ plugins were included.

That is, as we can see, Node.js is a tool that continues to evolve with each version, adding new features and improvements.

Of course, various alternatives and competitors have emerged. But, to this day, it is the leading representative of its kind and is a tool with a long life ahead.