{"id":103835,"date":"2022-04-21T15:36:45","date_gmt":"2022-04-21T13:36:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-servernaya-javascript-platforma-node-js-18-0"},"modified":"2022-04-21T15:36:45","modified_gmt":"2022-04-21T13:36:45","slug":"dostupna-servernaya-javascript-platforma-node-js-18-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-18-0","title":{"rendered":"Disponibile la piattaforma server JavaScript Node.js 18.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stato rilasciato Node.js 18.0, la piattaforma per l'esecuzione di applicazioni web in JavaScript. Node.js 18.0 \u00e8 classificato come una versione a lungo termine, ma questo status sar\u00e0 assegnato solo in ottobre, dopo il completamento della stabilizzazione. Il supporto per Node.js 18.x sar\u00e0 fornito fino ad aprile 2025. Il supporto per la precedente versione LTS Node.js 16.x continuer\u00e0 fino ad aprile 2024, mentre per la versione LTS 14.x fino ad aprile 2023. Il supporto per la versione LTS 12.x terminer\u00e0 il 30 aprile e per la versione intermedia Node.js 17.x il 1\u00b0 giugno.     <\/p>\n<p>Principali miglioramenti:  <\/p>\n<ul>\n<li class=\"l\"> Il motore V8 \u00e8 stato aggiornato alla versione 10.1, utilizzato in Chromium 101. Rispetto al rilascio di Node.js 17.9.0, \u00e8 stata introdotta la supportabilit\u00e0 per funzionalit\u00e0 come i metodi findLast e findLastIndex per la ricerca di elementi dal fondo dell'array, insieme alla funzione Intl.supportedValuesOf. L'API Intl.Locale \u00e8 stata migliorata. \u00c8 stata accelerata l'inizializzazione dei campi delle classi e dei metodi privati.\n<li class=\"l\"> \u00c8 stato abilitato per impostazione predefinita l'API sperimentale fetch(), progettato per il caricamento delle risorse dalla rete. L'implementazione si basa sul codice del client HTTP\/1.1 undici e si avvicina il pi\u00f9 possibile a un'API simile fornita nei browser. Sono inclusi il supporto per le interfacce FormData, Headers, Request e Response per la manipolazione degli header HTTP delle richieste e delle risposte. 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 stata aggiunta un'implementazione sperimentale dell'API Web Streams, che fornisce accesso ai flussi di dati ricevuti tramite rete. L'API consente di aggiungere gestori personalizzati per lavorare con i dati man mano che questi arrivano, senza dover attendere il caricamento dell'intero file. Ora sono disponibili in Node.js oggetti come ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream e DecompressionStream.\n<li class=\"l\"> L'API Blob \u00e8 stata convertita in stabile, consentendo l'incapsulamento di dati grezzi immutabili per un utilizzo sicuro attraverso vari flussi di lavoro.\n<li class=\"l\"> \u00c8 stata stabilizzata l'API BroadcastChannel che consente di organizzare lo scambio di messaggi in modalit\u00e0 asincrona nel formato \"un mittente - molti destinatari\".\n<li class=\"l\"> \u00c8 stato aggiunto un modulo sperimentale node:test per la creazione e l'esecuzione di test in JavaScript, restituendo i risultati nel formato TAP (Test Anything Protocol).\n<li class=\"l\"> \u00c8 stata garantita la creazione di build pronte per Red Hat Enterprise Linux (RHEL) 8 e altre distribuzioni basate su Glibc 2.28+, incluso Debian 10 e Ubuntu 20.04, cos\u00ec come per macOS 10.15+. A causa di problemi nella compilazione del motore V8, \u00e8 stata temporaneamente sospesa la creazione di build a 32 bit per Windows.\n<li class=\"l\"> \u00c8 stata fornita l'opportunit\u00e0 sperimentale di creare un file eseguibile Node.js con componenti scelti dall'utente, inizializzati all'avvio. Per definire i componenti di avvio, \u00e8 stata aggiunta nel framework di configurazione l'opzione \"--node-snapshot-main\", ad esempio, \".\/configure --node-snapshot-main=marked.js; name node\".          <\/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=\"1641\">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.      <\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57054\">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 18.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 18.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u0432\u0435\u0442\u043a\u0430\u043c \u0441 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Node.js 18.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2025 \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 16.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2024 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 14.x [&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-103835","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 18.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\/dostupna-servernaya-javascript-platforma-node-js-18-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 18.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 18.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\/dostupna-servernaya-javascript-platforma-node-js-18-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=\"2022-04-21T13:36:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-04-21T13:36:45+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 Disponibile la piattaforma server JavaScript Node.js 18.0 | ProHoster","description":"\u00c8 stata rilasciata la versione Node.js 18.0, la piattaforma per l'esecuzione di applicazioni di rete in JavaScript.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-18-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 18.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 18.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\/dostupna-servernaya-javascript-platforma-node-js-18-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":"2022-04-21T13:36:45+00:00","article:modified_time":"2022-04-21T13:36:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103835","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-09 18:12:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-04-21 13:37:16","updated":"2026-02-09 18:12:19","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\/103835","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=103835"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/103835\/revisions"}],"predecessor-version":[{"id":158885,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/103835\/revisions\/158885"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=103835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=103835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=103835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}