{"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\/pt\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-18-0","title":{"rendered":"A plataforma de servidor JavaScript Node.js 18.0 est\u00e1 dispon\u00edvel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>O lan\u00e7amento do Node.js 18.0 ocorreu, uma plataforma para a execu\u00e7\u00e3o de aplica\u00e7\u00f5es de rede em JavaScript. O Node.js 18.0 foi classificado como uma vers\u00e3o com suporte a longo prazo, mas essa classifica\u00e7\u00e3o ser\u00e1 atribu\u00edda apenas em outubro, ap\u00f3s um processo de estabiliza\u00e7\u00e3o. O suporte para o Node.js 18.x ser\u00e1 mantido at\u00e9 abril de 2025. O suporte para a vers\u00e3o anterior LTS, Node.js 16.x, continuar\u00e1 at\u00e9 abril de 2024, e a vers\u00e3o anterior a essa, 14.x, at\u00e9 abril de 2023. O suporte para a vers\u00e3o LTS 12.x ser\u00e1 encerrado em 30 de abril, e para a vers\u00e3o intermedi\u00e1ria Node.js 17.x, em 1 de junho.     <\/p>\n<p>Principais melhorias:  <\/p>\n<ul>\n<li class=\"l\"> O motor V8 foi atualizado para a vers\u00e3o 10.1, utilizada no Chromium 101. Em compara\u00e7\u00e3o com a vers\u00e3o Node.js 17.9.0, agora h\u00e1 suporte para recursos como os m\u00e9todos findLast e findLastIndex para pesquisa de elementos a partir do final do array e a fun\u00e7\u00e3o Intl.supportedValuesOf. A API Intl.Locale foi aprimorada. A inicializa\u00e7\u00e3o de campos de classes e m\u00e9todos privados foi acelerada.\n<li class=\"l\"> A API experimental fetch() foi ativada por padr\u00e3o, destinada \u00e0 obten\u00e7\u00e3o de recursos pela rede. A implementa\u00e7\u00e3o \u00e9 baseada no c\u00f3digo do cliente HTTP\/1.1 undici e est\u00e1 o mais pr\u00f3ximo poss\u00edvel da API semelhante fornecida em navegadores. O suporte para as interfaces FormData, Headers, Request e Response foi garantido para a manipula\u00e7\u00e3o dos cabe\u00e7alhos HTTP de requisi\u00e7\u00f5es e respostas.         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\"> Foi adicionada uma implementa\u00e7\u00e3o experimental da API Web Streams, que fornece acesso a fluxos de dados recebidos pela rede. A API permite adicionar manipuladores para trabalhar com dados \u00e0 medida que as informa\u00e7\u00f5es chegam pela rede, sem precisar esperar o carregamento do arquivo completo. Agora, em Node.js, est\u00e3o dispon\u00edveis objetos como ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream e DecompressionStream.\n<li class=\"l\"> A API Blob, que permite encapsular dados brutos imut\u00e1veis para uso seguro em diferentes contextos de trabalho, foi tornada est\u00e1vel.\n<li class=\"l\"> O API BroadcastChannel foi traduzido para est\u00e1veis, permitindo a troca de mensagens de forma ass\u00edncrona no formato 'um remetente - muitos destinat\u00e1rios'.\n<li class=\"l\"> Um m\u00f3dulo experimental node:test foi adicionado para criar e executar testes em JavaScript, retornando resultados no formato TAP (Test Anything Protocol).\n<li class=\"l\"> Foi assegurada a forma\u00e7\u00e3o de compila\u00e7\u00f5es prontas para Red Hat Enterprise Linux (RHEL) 8 e outras distribui\u00e7\u00f5es baseadas em Glibc 2.28+, incluindo Debian 10 e Ubuntu 20.04, al\u00e9m de macOS 10.15+. Devido a problemas na constru\u00e7\u00e3o do mecanismo V8, a gera\u00e7\u00e3o de compila\u00e7\u00f5es de 32 bits para Windows foi temporariamente interrompida.\n<li class=\"l\"> Foi disponibilizada uma funcionalidade experimental para compilar o arquivo execut\u00e1vel do Node.js com componentes selecionados pelo usu\u00e1rio, que s\u00e3o inicializados no momento da execu\u00e7\u00e3o. Para determinar os componentes de inicializa\u00e7\u00e3o, uma op\u00e7\u00e3o foi adicionada ao script de configura\u00e7\u00e3o: '--node-snapshot-main', por exemplo, '.\/configure --node-snapshot-main=marked.js; name node'          <\/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=\"1641\">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 paralelas, 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 determina\u00e7\u00e3o de manipuladores de callback. Como m\u00e9todos de multiplexa\u00e7\u00e3o de conex\u00f5es, s\u00e3o suportados m\u00e9todos como epoll, kqueue, \/dev\/poll e select. Para a multiplexa\u00e7\u00e3o de conex\u00f5es, usa-se a biblioteca libuv, que \u00e9 uma camada de abstra\u00e7\u00e3o sobre libev em sistemas Unix e sobre IOCP no Windows. Para criar um pool de threads, a biblioteca libeio \u00e9 utilizada, e para a execu\u00e7\u00e3o de consultas DNS de maneira n\u00e3o bloqueante, o c-ares foi integrado. Todas as chamadas de sistema que causam bloqueio s\u00e3o executadas dentro do pool de threads e, assim como os manipuladores de sinais, transmitem o resultado de seu trabalho de volta atrav\u00e9s de um canal n\u00e3o nomeado (pipe). A execu\u00e7\u00e3o de c\u00f3digo JavaScript \u00e9 garantida pela utiliza\u00e7\u00e3o do mecanismo V8 desenvolvido pela Google (adicionalmente, a Microsoft desenvolve uma vers\u00e3o do Node.js com o mecanismo Chakra-Core).        <\/p>\n<p>Essencialmente, o Node.js \u00e9 semelhante a frameworks como Perl AnyEvent, Ruby Event Machine e Python Twisted, al\u00e9m da implementa\u00e7\u00e3o de eventos em Tcl, mas o ciclo de processamento de eventos (event loop) no Node.js \u00e9 oculto do desenvolvedor e se assemelha ao manuseio de eventos em uma aplica\u00e7\u00e3o web rodando em um navegador. Ao escrever aplica\u00e7\u00f5es para Node.js, deve-se considerar a especificidade da programa\u00e7\u00e3o orientada a eventos; por exemplo, em vez de executar &#171;var result = db.query(&#171;select..&#187;);&#187; com a expectativa de que a opera\u00e7\u00e3o seja conclu\u00edda antes de processar os resultados, no Node.js utiliza-se o princ\u00edpio de execu\u00e7\u00e3o ass\u00edncrona, ou seja, o c\u00f3digo \u00e9 transformado em &#171;db.query(&#171;select..&#187;, function (result) {processamento do resultado});&#187;, onde o controle \u00e9 imediatamente transferido para o c\u00f3digo posterior, enquanto o resultado da consulta \u00e9 processado \u00e0 medida que os dados chegam.      <\/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.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 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\/pt\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-18-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 \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\/pt\/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 Plataforma de servidor JavaScript Node.js 18.0 dispon\u00edvel | ProHoster","description":"Foi lan\u00e7ada a vers\u00e3o 18.0 do Node.js, a plataforma para execu\u00e7\u00e3o de aplica\u00e7\u00f5es de rede em JavaScript.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-18-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 \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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/103835","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=103835"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/103835\/revisions"}],"predecessor-version":[{"id":158885,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/103835\/revisions\/158885"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=103835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=103835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=103835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}