{"id":115312,"date":"2024-04-25T09:22:49","date_gmt":"2024-04-25T07:22:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-javascript-platforma-node-js-22-0-0"},"modified":"2024-04-25T09:22:49","modified_gmt":"2024-04-25T07:22:49","slug":"dostupna-javascript-platforma-node-js-22-0-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","title":{"rendered":"A plataforma JavaScript Node.js 22.0.0 est\u00e1 dispon\u00edvel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Foi lan\u00e7ado o Node.js 22.0, uma plataforma para execu\u00e7\u00e3o de aplica\u00e7\u00f5es de rede em JavaScript. O Node.js 22.0 \u00e9 classificado como uma vers\u00e3o de suporte a longo prazo, mas esse status s\u00f3 ser\u00e1 atribu\u00eddo em outubro, ap\u00f3s a estabiliza\u00e7\u00e3o. O suporte ao Node.js 22.x ser\u00e1 mantido at\u00e9 30 de abril de 2027. O suporte \u00e0 vers\u00e3o anterior LTS Node.js 20.x continuar\u00e1 at\u00e9 abril de 2026, e \u00e0 vers\u00e3o anterior \u00e0 anterior LTS 18.x at\u00e9 abril de 2025. O suporte \u00e0 vers\u00e3o intermedi\u00e1ria Node.js 21.x ser\u00e1 encerrado em 1\u00ba de junho de 2024.        <\/p>\n<p>Principais melhorias:  <\/p>\n<ul>\n<li class=\"l\"> O motor V8 foi atualizado para a vers\u00e3o 12.4, usada no Chromium 124. Em compara\u00e7\u00e3o com a vers\u00e3o Node.js 21, que utilizava o motor V8 11.8, as seguintes mudan\u00e7as foram observadas:\n<ul>\n<li class=\"l\"> Suporte \u00e0 extens\u00e3o WasmGC, que facilita a portabilidade de programas escritos em linguagens de programa\u00e7\u00e3o que utilizam coletor de lixo (como Kotlin, PHP, Java etc.) para WebAssembly. O WasmGC adiciona novos tipos de estruturas e arrays, para os quais pode ser aplicada aloca\u00e7\u00e3o de mem\u00f3ria n\u00e3o linear.\n<li class=\"l\"> Suporte ao m\u00e9todo Array.fromAsync(), que retorna de forma ass\u00edncrona uma nova inst\u00e2ncia do objeto Array, copiada a partir de objetos semelhantes a arrays, que podem ser enumer\u00e1veis (iter\u00e1veis) ou enumer\u00e1veis de forma ass\u00edncrona (async iterables).\n<li class=\"l\"> Suporte a m\u00e9todos para trabalhar com iteradores, como .map, .filter, .find, .take, .drop, .forEach e .reduce.\n<li class=\"l\"> Suporte ao objeto Set, que define uma cole\u00e7\u00e3o de valores e oferece m\u00e9todos com a implementa\u00e7\u00e3o de opera\u00e7\u00f5es t\u00edpicas de conjuntos, como intersec\u00e7\u00f5es, uni\u00f5es, diferen\u00e7as e complemento.        <\/ul>\n<li class=\"l\"> Inclu\u00eddo por padr\u00e3o o compilador JIT otimizado Maglev, que visa a gera\u00e7\u00e3o r\u00e1pida de c\u00f3digo de m\u00e1quina de alto desempenho para c\u00f3digo JavaScript utilizado ativamente. A ativa\u00e7\u00e3o do Maglev permite acelerar significativamente a execu\u00e7\u00e3o de aplicativos CLI de curta dura\u00e7\u00e3o, que n\u00e3o realizam opera\u00e7\u00f5es longas, por exemplo, o tempo de execu\u00e7\u00e3o do teste Jetstream \u00e9 reduzido em 7,5%, e o teste Speedometer em 5%.\n<li class=\"l\"> O desempenho com fluxos foi acelerado pela altera\u00e7\u00e3o do valor da op\u00e7\u00e3o highWaterMark de 16 KB para 65 KB (que define o limite at\u00e9 o qual a grava\u00e7\u00e3o \u00e9 bufferizada). Essa mudan\u00e7a resulta em um aumento no consumo de mem\u00f3ria, portanto, aplicativos que dependem de um volume limitado de RAM podem precisar reverter para o valor anterior chamando setDefaultHighWaterMark().\n<li class=\"l\"> A performance do API fetch() e do test runner foi aumentada pela efici\u00eancia na cria\u00e7\u00e3o de inst\u00e2ncias de AbortSignal. Aumentou a efici\u00eancia dos APIs relacionados ao trabalho s\u00edncrono com sistemas de arquivos.\n<li class=\"l\"> Foi disponibilizada uma funcionalidade experimental que permite o uso da chamada &#171;require()&#187; para carregar m\u00f3dulos JavaScript ESM (ECMAScript Modules) de forma s\u00edncrona. Os m\u00f3dulos ESM s\u00e3o usados em navegadores e substituem os m\u00f3dulos CommonJS, espec\u00edficos para Node.js. Para carregar via &#171;require()&#187;, o m\u00f3dulo ESM deve ser executado em modo s\u00edncrono (sem await no n\u00edvel superior). O suporte \u00e9 ativado atrav\u00e9s da flag &#171;&#8212;experimental-require-module&#187;.\n<li class=\"l\"> Adicionada uma funcionalidade experimental para executar scripts definidos no arquivo package.json, utilizando o comando &#171;&#8212;run &lt;script-in-package-json&gt;&#187;.\n<li class=\"l\"> O comando &#171;node &#8212;watch&#187; foi movido para a categoria est\u00e1vel com a implementa\u00e7\u00e3o do modo de observa\u00e7\u00e3o, que reinicia o processo ao alterar o arquivo importado (por exemplo, ao executar &#171;node &#8212;watch index.js&#187;, o processo ser\u00e1 reiniciado automaticamente ao alterar index.js).\n<li class=\"l\"> A implementa\u00e7\u00e3o interna do API WebSocket foi estabilizada, permitindo usar WebSocket no modo cliente sem a necessidade de instalar depend\u00eancias adicionais.\n<li class=\"l\"> Foi adicionada suporte parcial ao API Navigator.\n<li class=\"l\"> Foi adicionada suporte ao formato de compress\u00e3o deflate-raw no API Webstreams.\n<li class=\"l\"> Adicionadas as fun\u00e7\u00f5es glob e globSync ao m\u00f3dulo node:fsmodule para correspond\u00eancia de caminhos de arquivos por padr\u00e3o.\n<li class=\"l\"> Foi melhorado o tratamento de pilhas IPv6 mal configuradas. Foi implementado o algoritmo Happy Eyeballs para uma revers\u00e3o r\u00e1pida em caso de problemas com o IPv6.\n<li class=\"l\"> O API util foi declarado obsoleto.\n<li class=\"l\"> As vers\u00f5es das depend\u00eancias foram atualizadas: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson para 3.8.0, ada 2.7.7 e undici 6.6.0.    <\/ul>\n<p>A plataforma Node.js pode ser utilizada tanto para suporte do lado do servidor de aplica\u00e7\u00f5es web quanto para criar programas de rede comuns tanto do lado do cliente quanto do servidor. Para expandir a funcionalidade das aplica\u00e7\u00f5es Node.js, foi preparada uma grande cole\u00e7\u00e3o de m\u00f3dulos, onde \u00e9 poss\u00edvel encontrar m\u00f3dulos com implementa\u00e7\u00f5es  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1550\">servidores<\/a> e clientes HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, m\u00f3dulos para integra\u00e7\u00e3o com diversos frameworks web, manipuladores WebSocket e Ajax, conectores a bancos de dados (MySQL, PostgreSQL, SQLite, MongoDB), motores de template, motores CSS, implementa\u00e7\u00f5es de algoritmos de criptografia e sistemas de autoriza\u00e7\u00e3o (OAuth), parsers XML.    <\/p>\n<p> Para garantir o processamento de um grande n\u00famero de solicita\u00e7\u00f5es simult\u00e2neas, o Node.js utiliza um modelo ass\u00edncrono de execu\u00e7\u00e3o de c\u00f3digo, baseado em processamento de eventos em modo n\u00e3o bloqueante e na defini\u00e7\u00e3o de manipuladores de callback. M\u00e9todos como epoll, kqueue, \/dev\/poll e select s\u00e3o suportados para multiplexa\u00e7\u00e3o de conex\u00f5es. A biblioteca libuv \u00e9 utilizada para multiplexar conex\u00f5es, sendo uma camada sobre a libev em sistemas Unix e sobre IOCP no Windows. A biblioteca libeio \u00e9 utilizada para criar um pool de threads (thread pool), enquanto que o c-ares \u00e9 integrado para realizar consultas DNS em modo n\u00e3o bloqueante. Todas as chamadas de sistema que causam bloqueio s\u00e3o executadas dentro do pool de threads e, assim como os manipuladores de sinal, transmitem o resultado de seu trabalho de volta atrav\u00e9s de um canal an\u00f4nimo (pipe).     <\/p>\n<p>A execu\u00e7\u00e3o de c\u00f3digo JavaScript \u00e9 garantida atrav\u00e9s do uso do motor V8 desenvolvido pela Google (al\u00e9m disso, a Microsoft desenvolve uma vers\u00e3o do Node.js com o motor Chakra-Core). Essencialmente, o Node.js \u00e9 semelhante a frameworks como Perl AnyEvent, Ruby Event Machine, Python Twisted e a implementa\u00e7\u00e3o de eventos em Tcl, mas o loop de eventos no Node.js \u00e9 oculto do desenvolvedor e se assemelha ao processamento de eventos em uma aplica\u00e7\u00e3o web que roda no navegador.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61067\">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 22.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 22.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 22.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e 30 \u0430\u043f\u0440\u0435\u043b\u044f 2027 \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 20.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2026 \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-115312","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.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\/pt\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 22.0.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 22.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\/pt\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-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=\"2024-04-25T07:22:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-25T07:22:49+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\udd47A plataforma JavaScript Node.js 22.0.0 est\u00e1 dispon\u00edvel | ProHoster","description":"Foi lan\u00e7ado o Node.js 22.0, uma plataforma para a execu\u00e7\u00e3o de aplica\u00e7\u00f5es de rede em JavaScript.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 22.0.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.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\/pt\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-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":"2024-04-25T07:22:49+00:00","article:modified_time":"2024-04-25T07:22:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115312","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 17:21:17","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-22 23:06:19","updated":"2026-02-09 17:21:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/115312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=115312"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/115312\/revisions"}],"predecessor-version":[{"id":158794,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/115312\/revisions\/158794"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=115312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=115312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=115312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}