{"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\/ro\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","title":{"rendered":"Platforma JavaScript Node.js 22.0.0 este disponibil\u0103","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A avut loc lansarea Node.js 22.0, o platform\u0103 pentru rularea aplica\u021biilor de re\u021bea \u00een JavaScript. Node.js 22.0 face parte din ramurile cu suport pe termen lung, dar acest statut va fi acordat abia \u00een octombrie, dup\u0103 stabilizarea sa. Suportul pentru Node.js 22.x va fi disponibil p\u00e2n\u0103 pe 30 aprilie 2027. \u00centre\u021binerea ramurii LTS anterioare Node.js 20.x va continua p\u00e2n\u0103 \u00een aprilie 2026, iar pentru ramura LTS anterioar\u0103 18.x, p\u00e2n\u0103 \u00een aprilie 2025. \u00centre\u021binerea ramurii intermediare Node.js 21.x se va \u00eencheia pe 1 iunie 2024.        <\/p>\n<p>\u00cembun\u0103t\u0103\u021biri principale:  <\/p>\n<ul>\n<li class=\"l\"> Motorul V8 a fost actualizat la versiunea 12.4, utilizat \u00een Chromium 124. Printre modific\u0103rile fa\u021b\u0103 de ramura Node.js 21, \u00een care era folosit motorul V8 11.8, se remarc\u0103:\n<ul>\n<li class=\"l\"> Suport pentru extensia WasmGC, care simplific\u0103 portarea programelor scrise \u00een limbaje de programare care folosesc colector de gunoi (Kotlin, PHP, Java etc.) \u00een WebAssembly. WasmGC adaug\u0103 noi tipuri de structuri \u0219i matrice, pentru care poate fi aplicat\u0103 alocarea de memorie non-liniar\u0103.\n<li class=\"l\"> Suport pentru metoda Array.fromAsync(), care returneaz\u0103 \u00een mod asincron o nou\u0103 instan\u021b\u0103 a obiectului Array, copiat din obiecte asem\u0103n\u0103toare cu matricea, enumerate (iterable) sau enumerate asincron (async iterable).\n<li class=\"l\"> Suport pentru metodele de lucru cu iteratori, cum ar fi .map, .filter, .find, .take, .drop, .forEach \u0219i .reduce.\n<li class=\"l\"> Suport pentru obiectul Set, care define\u0219te o colec\u021bie de valori \u0219i ofer\u0103 metode pentru implementarea opera\u021biunilor tipice de lucru cu mul\u021bimi, cum ar fi intersec\u021biile, uniunile, diferen\u021bele \u0219i complet\u0103rile.        <\/ul>\n<li class=\"l\"> Compilerul JIT optimizator Maglev este activat implicit, av\u00e2nd ca scop generarea rapid\u0103 a codului ma\u0219in\u0103 performant pentru codul JavaScript folosit frecvent. Activarea Maglev permite o accelerare semnificativ\u0103 a performan\u021bei aplica\u021biilor CLI cu o durat\u0103 de via\u021b\u0103 scurt\u0103, care nu efectueaz\u0103 opera\u021biuni lungi, de exemplu, timpul de execu\u021bie al testului Jetstream este redus cu 7,5%, iar testul Speedometer cu 5%.\n<li class=\"l\"> Accelerarea lucrului cu fluxuri prin cre\u0219terea valorii op\u021biunii highWaterMark de la 16 KB la 65 KB (stabile\u0219te limita p\u00e2n\u0103 la care se efectueaz\u0103 tamponarea scrierii). Aceast\u0103 modificare duce la o cre\u0219tere a consumului de memorie, a\u0219a c\u0103 aplica\u021biile care sunt proiectate s\u0103 func\u021bioneze cu capacitate limitat\u0103 de RAM ar putea necesita revenirea la vechea valoare prin apelul setDefaultHighWaterMark().\n<li class=\"l\"> Performan\u021ba API-ului fetch() \u0219i a rul\u0103rii testelor a fost \u00eembun\u0103t\u0103\u021bit\u0103 prin eficientizarea cre\u0103rii instan\u021belor AbortSignal. Performan\u021ba API-urilor legate de lucrul sincron cu sistemele de fi\u0219iere a fost de asemenea crescut\u0103.\n<li class=\"l\"> A fost oferit\u0103 o oportunitate experimental\u0103 de a utiliza apelul &#171;require()&#187; pentru a \u00eenc\u0103rca modulele JavaScript ESM (ECMAScript Modules) \u00een mod sincronic. Modulele ESM sunt utilizate \u00een browsere \u0219i \u00eenlocuiesc modulele CommonJS, specifice pentru Node.js. Pentru a fi \u00eenc\u0103rcat prin &#171;require()&#187;, un modul ESM trebuie s\u0103 fie executat \u00een mod sincronic (f\u0103r\u0103 await la nivel de baz\u0103). Suportul este activat prin flag-ul &#171;&#8212;experimental-require-module&#187;.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 o oportunitate experimental\u0103 de a rula scripturi definite \u00een fi\u0219ierul package.json, folosind comanda &#171;&#8212;run &lt;script-in-package-json&gt;&#187;.\n<li class=\"l\"> Comanda &#171;node &#8212;watch&#187; a fost trecut\u0103 \u00een categoria stabil\u0103, implement\u00e2nd un mod de observa\u021bie care permite repornirea procesului la modificarea fi\u0219ierului importat (de exemplu, \u00een cazul execu\u021biei &#171;node &#8212;watch index.js&#187;, procesul va fi repornit automat la modificarea index.js).\n<li class=\"l\"> Implementarea \u00eencorporat\u0103 a API-ului WebSocket a fost stabilizat\u0103, permi\u021b\u00e2nd utilizarea WebSocket-ului \u00een modul client f\u0103r\u0103 a instala dependen\u021be suplimentare.\n<li class=\"l\"> Suport par\u021bial pentru API-ul Navigator a fost ad\u0103ugat.\n<li class=\"l\"> \u00cen API-ul Webstreams a fost ad\u0103ugat suport pentru formatul de compresie deflate-raw.\n<li class=\"l\"> \u00cen modulul node:fsmodule au fost ad\u0103ugate func\u021biile glob \u0219i globSync pentru potrivirea c\u0103ilor fi\u0219ierelor pe baza unui model.\n<li class=\"l\"> Gestionarea stivelor IPv6 configurate incorect a fost \u00eembun\u0103t\u0103\u021bit\u0103. A fost implementat algoritmul Happy Eyeballs pentru a reveni rapid \u00een caz de probleme cu func\u021bionarea IPv6.\n<li class=\"l\"> API-ul util a fost declarat deprecated.\n<li class=\"l\"> Versiunile dependen\u021belor au fost actualizate: 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 3.8.0, ada 2.7.7 \u0219i undici 6.6.0.    <\/ul>\n<p>Platforma Node.js poate fi utilizat\u0103 at\u00e2t pentru suportul serverului \u00een func\u021bionarea aplica\u021biilor web, c\u00e2t \u0219i pentru crearea de aplica\u021bii client \u0219i server de re\u021bea obi\u0219nuite. Pentru a extinde func\u021bionalitatea aplica\u021biilor pentru Node.js a fost preg\u0103tit\u0103 o mare colec\u021bie de module, \u00een care se pot g\u0103si module cu implement\u0103ri  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"servere\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1550\">servere<\/a> \u0219i clien\u021bi HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, module pentru integrarea cu diverse framework-uri web, manejere WebSocket \u0219i Ajax, convertoare pentru baze de date (MySQL, PostgreSQL, SQLite, MongoDB), generatoare de \u0219abloane, motoare CSS, implement\u0103ri de algoritmi criptografici \u0219i sisteme de autorizare (OAuth), parsere XML.    <\/p>\n<p> Pentru a gestiona un num\u0103r mare de cereri paralele, Node.js utilizeaz\u0103 un model asincron de execu\u021bie a codului, bazat pe procesarea evenimentelor \u00een mod non-blocant \u0219i definirea callback-urilor. Ca metode de multiplexare a conexiunilor sunt sus\u021binute tehnici precum epoll, kqueue, \/dev\/poll \u0219i select. Pentru multiplexarea conexiunilor este utilizat\u0103 biblioteca libuv, care este o extensie a libev \u00een sistemele Unix \u0219i a IOCP \u00een Windows. Pentru a crea un pool de thread-uri este folosit\u0103 biblioteca libeio, iar pentru efectuarea cererilor DNS \u00een mod non-blocant este integrat c-ares. Toate apelurile de sistem care genereaz\u0103 blocaje sunt efectuate \u00een cadrul pool-ului de thread-uri \u0219i apoi, ca \u0219i handlerii de semnale, transmit rezultatul muncii lor \u00eenapoi printr-un canal anonim (pipe).     <\/p>\n<p>Executarea codului JavaScript este asigurat\u0103 prin utilizarea motorului V8 dezvoltat de Google (\u00een plus, Microsoft dezvolt\u0103 o variant\u0103 a Node.js cu motorul Chakra-Core). \u00cen esen\u021b\u0103, Node.js este similar cu framework-urile Perl AnyEvent, Ruby Event Machine, Python Twisted \u0219i implementarea evenimentelor \u00een Tcl, dar loop-ul de procesare a evenimentelor \u00een Node.js este ascuns de dezvoltator \u0219i se aseam\u0103n\u0103 cu procesarea evenimentelor \u00eentr-o aplica\u021bie web care ruleaz\u0103 \u00een browser.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61067\">opennet.ro<\/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.2.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 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\/ro\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Platforma JavaScript Node.js 22.0.0 este disponibil\u0103 | ProHoster","description":"A avut loc lansarea Node.js 22.0, platforma pentru executarea aplica\u021biilor de re\u021bea \u00een limbajul JavaScript.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/115312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=115312"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/115312\/revisions"}],"predecessor-version":[{"id":158794,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/115312\/revisions\/158794"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=115312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=115312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=115312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}