{"id":111020,"date":"2023-10-21T15:10:15","date_gmt":"2023-10-21T13:10:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-servernaya-javascript-platforma-node-js-21-0"},"modified":"2026-02-15T22:30:51","modified_gmt":"2026-02-15T20:30:51","slug":"dostupna-servernaya-javascript-platforma-node-js-21-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-0","title":{"rendered":"Piattaforma server JavaScript Node.js 21.0 disponibile","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stato rilasciato Node.js 21.0, la piattaforma per l'esecuzione di applicazioni di rete in JavaScript. Il supporto per la versione Node.js 21.0 sar\u00e0 attivo per 6 mesi. Nei prossimi giorni sar\u00e0 completata la stabilizzazione della versione Node.js 20, che otterr\u00e0 lo status LTS e sar\u00e0 supportata fino ad aprile 2026. Il supporto per la precedente versione LTS Node.js 18.0 durer\u00e0 fino a settembre 2025, mentre per la versione LTS 16.0 fino ad aprile 2024.         <\/p>\n<p>Principali miglioramenti:  <\/p>\n<ul>\n<li class=\"l\"> \u00c8 stato dichiarato stabile l'API Fetch, progettato per caricare risorse tramite la rete e semplificare la scrittura di codice JavaScript universale, adatto per l'uso sia lato server che client. L'implementazione si basa sul codice del cliente HTTP\/1.1 undici e \u00e8 molto simile all'API fornita nei browser. L'API include il metodo fetch() e gli oggetti Headers, Request e Response, che rappresentano gli header HTTP, la richiesta e la risposta. const res = await fetch('https:\/\/nodejs.org\/api\/documentation.json'); if (res.ok) { const data = await res.json(); console.log(data); }\n<li class=\"l\"> \u00c8 stato stabilizzato il supporto per l'API WebStreams, che fornisce accesso a flussi di dati ricevuti tramite rete. L'API consente di aggiungere i propri handler, che lavorano con i dati man mano che arrivano dalla rete, senza attendere il caricamento dell'intero file. In Node.js sono disponibili oggetti come ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream e DecompressionStream.\n<li class=\"l\"> \u00c8 stata aggiunta un'implementazione sperimentale del client WebSocket, <a href=\"https:\/\/prohoster.info\/it\/ssl-sertifikat\/rapidssl-wildcard\/\"  data-wpil-monitor-id=\"3323\">compatibile con i browser.<\/a>. Per abilitare il supporto a WebSocket \u00e8 previsto il flag \u00ab--experimental-websocket\u00bb.\n<li class=\"l\"> \u00c8 stata aggiunta la modalit\u00e0 sperimentale di utilizzo predefinita dell'implementazione dei moduli JavaScript ESM (ECMAScript Modules, usata nei moduli per i browser) invece di CommonJS (specifico per Node.js). La modifica non influisce sui moduli il cui formato \u00e8 esplicitamente definito tramite il campo \u00abtype\u00bb in package.json, specificato tramite il flag \u00ab--input-type\u00bb o evidente in base all'estensione del file (.mjs per ESM, .cjs per CommonJS). I moduli che non sono esplicitamente definiti come CommonJS (ad esempio, hanno estensione \u00ab.js\u00bb) verranno percepiti come moduli ESM quando viene attivata la nuova modalit\u00e0. Per attivare le nuove impostazioni dei moduli \u00e8 stato proposto il flag \u00ab--experimental-default-type\u00bb.\n<li class=\"l\"> Il motore V8 \u00e8 stato aggiornato alla versione 11.8, utilizzata in Chromium 118, che ha aggiunto il supporto per il metodo ArrayBuffer.prototype.transfer, la possibilit\u00e0 di raggruppare array (metodo groupBy) e le istruzioni di WebAssembly per la gestione delle costanti (i32.add, i32.sub, i32.mul, i64.add, i64.sub e i64.mul).\n<li class=\"l\"> \u00c8 stata interrotta la supporto per il gestore globalPreload, al suo posto per la configurazione dei moduli occorre utilizzare le chiamate register e initialize.\n<li class=\"l\"> Nella funzione fs.writeFile \u00e8 stata aggiunta l'opzione \u00abflush\u00bb per forzare il salvataggio dei dati sull'unit\u00e0 dopo ogni operazione di scrittura.\n<li class=\"l\"> \u00c8 stata migliorata la prestazione del codice relativo all'analisi degli URL, all'API fetch, agli stream, a node:fs e all'HTTP.\n<li class=\"l\"> \u00c8 stato aggiunto l'oggetto globale navigator. Ad esempio, per ottenere dati sul numero di core della CPU si pu\u00f2 utilizzare la propriet\u00e0 navigator.hardwareConcurrency.\n<li class=\"l\"> Nel parametro \u00ab--test\u00bb \u00e8 stato aggiunto il supporto per i glob pattern per selezionare i test da eseguire (ad esempio, \u00e8 possibile specificare \u00ab--test **\/*.test.js\u00bb).\n<li class=\"l\"> Sono stati aggiornati il gestore pacchetti npm 10.2.0 e il parser llhttp 9.1.2.\n<li class=\"l\"> \u00c8 stata interrotta la supporto per Visual Studio 2019 e per le versioni di macOS precedenti a 11.0.         <\/ul>\n<p>La piattaforma Node.js pu\u00f2 essere utilizzata sia per il supporto server lato Web di applicazioni che per creare normali programmi client e server di rete. Per espandere la funzionalit\u00e0 delle applicazioni Node.js \u00e8 stata preparata una vasta collezione di moduli, in cui si possono trovare moduli con implementazione  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1675\">server<\/a> e client HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduli per integrazioni con diversi framework web, gestori WebSocket e Ajax, connettori a DBMS (MySQL, PostgreSQL, SQLite, MongoDB), motori di templating, motori CSS, implementazioni di algoritmi crittografici e sistemi di autorizzazione (OAuth), parser XML.    <\/p>\n<p> Per garantire l'elaborazione di un gran numero di richieste parallele, Node.js utilizza un modello di esecuzione del codice asincrono, basato sulla gestione degli eventi in modalit\u00e0 non bloccante e sulla definizione di gestori di callback. Come metodi di multiplexing delle connessioni, sono supportati metodi come epoll, kqueue, \\\/dev\\\/poll e select. Per il multiplexing delle connessioni viene utilizzata la libreria libuv, che \u00e8 un'astrazione sopra libev nei sistemi Unix e sopra IOCP in Windows. Per creare un pool di thread viene utilizzata la libreria libeio, mentre per eseguire richieste DNS in modalit\u00e0 non bloccante \u00e8 integrato c-ares. Tutti le chiamate di sistema che causano bloccaggi vengono eseguite all'interno del pool di thread e quindi, come i gestori di segnali, trasmettono il risultato del loro lavoro indietro attraverso un canale non nominato (pipe). L'esecuzione del codice JavaScript \u00e8 garantita dall'utilizzo del motore V8 sviluppato da Google (in aggiunta Microsoft sviluppa una variante di Node.js con il motore Chakra-Core).        <\/p>\n<p>Essenzialmente, Node.js \u00e8 simile ai framework Perl AnyEvent, Ruby Event Machine, Python Twisted e all'implementazione degli eventi in Tcl, ma il ciclo di elaborazione degli eventi (event loop) in Node.js \u00e8 nascosto allo sviluppatore e ricorda l'elaborazione degli eventi in un'applicazione web che funziona nel browser. Quando si scrivono applicazioni per node.js, \u00e8 necessario considerare la specificit\u00e0 della programmazione orientata agli eventi, ad esempio, invece di eseguire \u00abvar result = db.query('select..');\u00bb aspettando che l'operazione si completi e poi elaborando i risultati, in Node.js si utilizza il principio dell'esecuzione asincrona, cio\u00e8 il codice viene trasformato in \u00abdb.query('select..', function (result) {elaborazione del risultato});\u00bb, dove il controllo passer\u00e0 immediatamente al codice successivo e il risultato della query sar\u00e0 elaborato man mano che i dati arrivano.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59969\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 21.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u0412 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u0434\u043d\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0442\u043a\u0438 Node.js 20, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 LTS \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2026 \u0433\u043e\u0434\u0430. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 18.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-111020","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 21.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 21.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 21.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-10-21T13:10:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-15T20:30:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00c8 disponibile la piattaforma server JavaScript Node.js 21.0 | ProHoster","description":"\u00c8 stato rilasciato Node.js 21.0, la piattaforma per l'esecuzione di applicazioni web in JavaScript. Il supporto per la versione Node.js 21.0 sar\u00e0 fornito per 6 mesi.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 21.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 21.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-10-21T13:10:15+00:00","article:modified_time":"2026-02-15T20:30:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"111020","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 16:51:22","updated":"2026-02-15 20:30:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/111020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=111020"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/111020\/revisions"}],"predecessor-version":[{"id":161187,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/111020\/revisions\/161187"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=111020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=111020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=111020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}