{"id":120214,"date":"2024-10-17T13:09:19","date_gmt":"2024-10-17T11:09:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript"},"modified":"2026-02-15T22:30:50","modified_gmt":"2026-02-15T20:30:50","slug":"opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","title":{"rendered":"\u00c8 stata pubblicata la piattaforma Node.js 23.0 con supporto iniziale per il linguaggio TypeScript.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stato rilasciato Node.js 23.0.0, una piattaforma per l'esecuzione di applicazioni di rete in JavaScript. Node.js 23.0 \u00e8 classificato come una versione intermedia, il cui supporto durer\u00e0 7 mesi (fino a giugno 2025). Nei prossimi giorni verr\u00e0 completata la stabilizzazione della versione Node.js 22, che il 29 ottobre otterr\u00e0 lo status LTS e sar\u00e0 supportata fino ad aprile 2027. Il supporto per le versioni LTS precedenti Node.js 20.x e 18.x continuer\u00e0 fino ad aprile 2026 e 2025 rispettivamente.       <\/p>\n<p>Principali miglioramenti:  <\/p>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il supporto sperimentale per il linguaggio TypeScript, che consente una definizione esplicita dei tipi. Il supporto viene attivato tramite le opzioni &#171;&#8212;experimental-strip-types&#187; e &#171;&#8212;experimental-transform-types&#187;. Nel caso della prima opzione, il lavoro con TypeScript si limita alla rimozione delle definizioni di tipo specifiche per questo linguaggio (non viene eseguita alcuna verifica dei tipi, il codice viene semplicemente convertito in JavaScript senza tipi). La seconda opzione esegue la trasformazione in codice JavaScript di alcuni elementi della sintassi di TypeScript, come le enumerazioni (enum) e gli spazi dei nomi (namespace).\n<li class=\"l\"> \u00c8 abilitata di default la possibilit\u00e0 di utilizzare la chiamata &#171;require()&#187; per caricare i moduli JavaScript ESM (ECMAScript Modules) in modalit\u00e0 sincrona. I moduli ESM vengono utilizzati nei browser e sostituiscono i moduli CommonJS, specifici per Node.js. Per caricare tramite &#171;require()&#187;, un modulo ESM in Node.js deve essere eseguito in modalit\u00e0 sincrona (senza await a livello superiore).\n<li class=\"l\"> \u00c8 garantita l'individuazione automatica dei moduli ESM in file senza estensione o con estensione &#171;.js&#187;. In passato, tali file venivano trattati come moduli CommonJS, a meno che il loro tipo non fosse specificato esplicitamente nel file package.json situato nella stessa cartella (&#171;type&#187;: &#171;module&#187;). Nella nuova versione, per i file il cui tipo non \u00e8 stato definito in package.json, inizialmente si tenta di caricarli come moduli CommonJS; se ci\u00f2 fallisce, si tenta come moduli ESM.\n<li class=\"l\"> \u00c8 stata aggiunta un'implementazione sperimentale <a href=\"https:\/\/prohoster.info\/it\/ssl-sertifikat\/rapidssl-wildcard\/\"  data-wpil-monitor-id=\"3321\">compatibile con i browser<\/a> API Web Storage, destinata all'archiviazione permanente (classe localStorage) o temporanea (classe sessionStorage) dei dati in formato chiave\/valore. Per abilitare il supporto per Web Storage \u00e8 necessario avviare con il flag &#171;&#8212;experimental-webstorage&#187; e specificare il percorso al file di archiviazione tramite il flag &#171;&#8212;localstorage-file&#187;.\n<li class=\"l\"> \u00c8 stata aggiunta un'interfaccia API sperimentale SQLite per interagire con i database, utilizzando il linguaggio di query SQL e uno storage basato sulla libreria SQLite. Oltre a memorizzare il database in un file su disco, pu\u00f2 anche essere allocato in memoria specificando come nome file &#171;:memory:&#187;. L'API Web Storage sopra menzionata \u00e8 stata implementata sopra SQLite, il che ha portato all'aggiunta di SQLite tra le dipendenze per Node.js.\n<li class=\"l\"> \u00c8 stato dichiarato stabile il comando &#171;node &#8212;run&#187;, destinato all'esecuzione di script definiti nel file package.json.\n<li class=\"l\"> \u00c8 stata implementata un'opzione di supporto per la memorizzazione nella cache del codice compilato su disco per accelerare significativamente l'avvio dei moduli. L'attivazione della memorizzazione nella cache avviene tramite la variabile di ambiente NODE_COMPILE_CACHE. Per funzione, questa opzione ricorda il pacchetto v8-compile-cache, ma presenta prestazioni superiori e supporto per i moduli ESM.\n<li class=\"l\"> \u00c8 stata ottimizzata l'oggetto Buffer, consentendo un notevole incremento delle prestazioni dei metodi Buffer.copy() e Buffer.write().\n<li class=\"l\"> \u00c8 stata aumentata la prestazione del modulo node:fs, in cui \u00e8 stato anche ridotto il numero di chiamate al codice C++ durante l'esecuzione.\n<li class=\"l\"> Il motore V8 \u00e8 stato aggiornato alla versione 12.9, utilizzata in Chromium 129.\n<li class=\"l\"> \u00c8 stato rimosso il supporto per sistemi a 32 bit con il sistema operativo Windows.\n<li class=\"l\"> A causa dell'implementazione in Node.js e nel motore V8 delle funzionalit\u00e0 definite nello standard C++20, sono stati aumentati i requisiti per la versione del compilatore GCC. Per costruire Node.js ora \u00e8 richiesta almeno la versione GCC 12.      <\/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=\"1737\">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 la gestione di un gran numero di richieste parallele, Node.js utilizza un modello asincrono per l'esecuzione del codice, basato sul trattamento degli eventi in modalit\u00e0 non bloccante e sulla definizione di gestori di callback. Tra i 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 sulla libev nei sistemi Unix e su IOCP in Windows. Per la creazione di un pool di thread viene utilizzata la libreria libeio; per l'esecuzione di richieste DNS in modalit\u00e0 non bloccante viene integrata c-ares. Tutte le chiamate di sistema che comportano blocchi vengono eseguite all'interno del pool di thread e poi, come i gestori di segnali, restituiscono il risultato del loro lavoro tramite un canale non nominato (pipe).     <\/p>\n<p>L'esecuzione del codice JavaScript \u00e8 garantita attraverso l'uso del motore V8 sviluppato da Google (inoltre, Microsoft sviluppa una variante di Node.js con il motore Chakra-Core). Fondamentalmente, Node.js \u00e8 simile a framework come 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 agli sviluppatori e ricorda la gestione degli eventi in un'app web che funziona nel browser.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62066\">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 23.0.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. Node.js 23.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u043c \u0432\u0435\u0442\u043a\u0430\u043c, \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 7 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 (\u0434\u043e \u0438\u044e\u043d\u044f 2025 \u0433\u043e\u0434\u0430). \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 22, \u043a\u043e\u0442\u043e\u0440\u0430\u044f 29 \u043e\u043a\u0442\u044f\u0431\u0440\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 2027 \u0433\u043e\u0434\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 LTS-\u0432\u0435\u0442\u043e\u043a Node.js [&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-120214","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 23.0.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.\" \/>\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\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript\" \/>\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\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 23.0 \u0441 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 TypeScript | 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 23.0.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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript\" \/>\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=\"2024-10-17T11:09:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-15T20:30:50+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\udd47Pubblicata la piattaforma Node.js 23.0 con supporto iniziale per il linguaggio TypeScript | ProHoster","description":"\u00c8 stato rilasciato Node.js 23.0.0, una piattaforma per l'esecuzione di applicazioni di rete in JavaScript.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","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\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 23.0 \u0441 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 TypeScript | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 23.0.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.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","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":"2024-10-17T11:09:19+00:00","article:modified_time":"2026-02-15T20:30:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120214","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":"2026-02-15 20:31:56","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 07:21:39","updated":"2026-02-15 20:31:56","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\/120214","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=120214"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/120214\/revisions"}],"predecessor-version":[{"id":161185,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/120214\/revisions\/161185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=120214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=120214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=120214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}