Desenvolupament d'Aplicacions

Què és Node.js i per a què serveix?

Node.js és un entorn JavaScript que ens permet executar en el servidor, de manera asíncrona, amb una arquitectura orientada a esdeveniments i basat en el motor V8 de Google. És una plataforma que avança molt ràpidament i cada cop està més present al mercat.

Què és Node.js i per a què serveix?
Judit Cabana
Judit Cabana

December 13, 2019

Com funciona Node.js?

El motor V8 compila Javascript en codi màquina natiu en comptes d'interpretar-lo al navegador, aconseguint així una velocitat molt més alta. Node és de codi obert i pot executar-se a Mac OS X, Windows i Linux.

JavaScript al costat del servidor

Tradicionalment JavaScript s'ha utilitzat únicament per a tasques menors al navegador, però actualment ja és un llenguatge de programació tan potent com qualsevol altre. A més a més JavaScript disposa d'un model d'esdeveniments excelent ideal per a la programació asíncrona.

JavaScript és un llenguatge conegut per millons de programadors, així que la dificultat d'aprenentatge de Node és reduïda, ja que no sol fer falta aprendre un nou llenguatge.

Programació asíncrona

A més a més de l'alta velocitat d'execució, Node.js disposa del Bucle d'Esdeveniments (Event Loop), que permetrà gestionar enormes quantitats de clients de forma asíncrona. Tradicionalment per a treballar de forma asíncrona les aplicacions es valíen de la programació basada en fils (programming threaded applications), però suposa la utilització (normalment ineficaç) d'un espai de memòria que va escalant a mesura que la quantitat de clients conectats a la nostra aplicació aumenten.

Generalment cada fil suposa la utilització de 2MB de memòria, cosa que en un sistema de 8GB de RAM suposa un màxim teòric de conexions de 4.000 usuaris. Per tant, si necessitem gestionar grans quantitats de conexions haurem d'ampliar el nombre de servidors.

La solució de Node

Node.js resol aquest problema canviant la manera de realitzar les conexions amb el servidor. En comptes de generar un nou fil E/S per a cada client, cada conexió dispara l'execució dun esdeveniment dins del procés del motors de Node. D'aquesta manera Node permet que un sol servidor que l'executi pugui soportar desenes de milers de conexions.

Gràcies a Node, LinkedIn va passar d'utilitzar 30 servidors a únicament 3!

Articles Relacionats