Ryan Dahl, il creatore di Node.js, ha deciso di abbandonare Deno per diventare parte di un progetto open source presso Cloudflare. La notizia è stata confermata in seguito all’acquisizione da parte di Cloudflare della sua azienda Deno, che era focalizzata su un runtime JavaScript per server lato, concepito inizialmente per competere con Node.js stesso. Tuttavia, Deno non avrà futuro sotto l’egida di Cloudflare, che prevede di sostenere il runtime per un altro anno prima di interrompere lo sviluppo.
Dahl ha dichiarato: “Sono ora dell’opinione che se stai scegliendo Node.js per costruire server, stai commettendo un errore.” Con l’acquisizione, Cloudflare ha in sostanza ingaggiato Dahl e 12 dei suoi colleghi per lavorare sulla piattaforma Cloudflare Workers, ampliandola per un uso potenziale open source. Secondo Dahl, questa è la direzione giusta da seguire.
Node.js: una forza inarrestabile
Node.js, lanciato nel 2009, ha rivoluzionato l’architettura delle applicazioni web. Dahl era frustrato dall’uso eccessivo di risorse da parte del server web Apache e, sfruttando il motore JavaScript V8 di Google, Node.js ha dimostrato di poter eseguire codice JavaScript sul server e gestire migliaia di richieste al secondo utilizzando una frazione della memoria. Attualmente, Node.js alimenta circa 30 milioni di siti web a livello globale e conta 130 milioni di download, suggerendo un uso esteso anche in operazioni interne.
Dahl ha introdotto Deno nel 2018 come una riscrittura di Node. Il nome “Deno” è un anagramma di “Node” e rappresentava il tentativo di Dahl di correggere ciò che riteneva errato in Node.js, includendo funzionalità come un sistema di permessi e supporto nativo per TypeScript. Nonostante il supporto finanziario di Sequoia, Deno non è riuscito a guadagnare una quota di mercato sufficiente; Dahl ha infatti ammesso che “non puoi deviare troppo da Node.js”.
Da qui in avanti, Cloudflare fornirà a Deno correzioni di bug e patch di sicurezza per il prossimo anno, mentre Dahl cerca una nuova casa per il progetto open source con licenza MIT.
Una nuova era: micro-server distribuiti
Nel mese di agosto, Dahl ha lanciato un progetto completamente nuovo chiamato celld, che è un’implementazione open source degli oggetti durevoli di Cloudflare. Questi oggetti consentono agli sviluppatori di creare applicazioni distribuite e stateful in tempo reale, senza la necessità di un ambiente di runtime dedicato, poiché girano sul runtime serverless di Cloudflare.
Dahl ritiene che “Durable Objects sia l’astrazione perfetta per i sistemi distribuiti”. Tuttavia, l’unico limite di questo sistema era la sua necessità di essere ospitato sull’infrastruttura di Cloudflare. Per questo motivo, ha creato celld come un’alternativa che potrebbe funzionare ovunque. Cloudflare, dal canto suo, ha recentemente open-sourcato una versione del runtime Workers, chiamata workerd, ma questa era più orientata ai test per gli sviluppatori.
Il team di Dahl ha l’obiettivo di fondere il lavoro di celld con workerd per creare un runtime JavaScript/WebAssembly autonomo, integrato con Workers e Durable Objects. Questo tipo di tecnologia potrebbe rappresentare una svolta per JavaScript lato server, richiedendo solo 300 KB di memoria per istanza, rispetto ai centinaia di megabyte attualmente necessari per Node.js e Deno.
Tuttavia, finché non vedremo i risultati del lavoro di Dahl, il mercato per i runtime indipendenti rimarrà in tensione, specialmente con la crescente assenza di Deno e le recenti acquisizioni che hanno portato a una riscrittura di Bun. Per ora, il primo progetto di Dahl, Node.js, dovrà continuare il suo cammino da solo.



