K dispozici je JavaScriptová platforma na straně serveru Node.js 18.0

Byl vydán Node.js 18.0, platforma pro spouštění síťových aplikací v JavaScriptu. Node.js 18.0 je klasifikován jako dlouhodobá podpůrná větev, ale tento status bude přidělen až v říjnu, po stabilizaci. Node.js 18.x bude podporován do dubna 2025. Údržba předchozí LTS větve Node.js 16.x potrvá do dubna 2024 a předloni LTS větve 14.x do dubna 2023. Větev 12.x LTS bude ukončena 30. dubna a větev Node.js 17.x bude ukončena 1. června.

Hlavní vylepšení:

  • Motor V8 byl aktualizován na verzi 10.1, která se používá v Chromiu 101. Ve srovnání s verzí Node.js 17.9.0 je nyní podporována funkce, jako jsou metody findLast a findLastIndex pro hledání prvků vzhledem ke konci pole a funkce Intl.supportedValuesOf. Vylepšené rozhraní Intl.Locale API. Inicializace polí tříd a soukromých metod byla urychlena.
  • Experimentální rozhraní fetch() API je ve výchozím nastavení povoleno a je navrženo pro načítání zdrojů přes síť. Implementace je založena na kódu z HTTP/1.1 undici klienta a je co nejblíže podobnému API poskytovanému v prohlížečích. To zahrnuje podporu rozhraní FormData, Headers, Request a Response pro manipulaci s HTTP hlavičkami požadavků a odpovědí. const res = wait fetch('https://nodejs.org/api/documentation.json'); if (res.ok) { const data = wait res.json(); console.log(data); }
  • Byla přidána experimentální implementace rozhraní Web Streams API, která poskytuje přístup k datovým tokům přijímaným přes síť. Rozhraní API umožňuje přidávat vlastní obslužné nástroje pro práci s daty, když informace přicházejí přes síť, bez čekání na stažení celého souboru. Mezi objekty nyní dostupné v Node.js patří ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream a DecompressionStream.
  • Rozhraní Blob API bylo přesunuto do stabilní verze, což vám umožňuje zapouzdřit neměnná nezpracovaná data pro bezpečné použití v různých pracovních vláknech.
  • Rozhraní BroadcastChannel API bylo stabilní a umožňuje vám organizovat výměnu zpráv v asynchronním režimu ve formátu „jeden odesílatel – mnoho příjemců“.
  • Přidán experimentální modul node:test pro vytváření a spouštění testů v JavaScriptu, které vracejí výsledky ve formátu TAP (Test Anything Protocol).
  • Vytváření sestavení připravených k použití pro Red Hat Enterprise je nyní možné. Linux (RHEL) 8 a další distribuce založené na Glibc 2.28+, včetně Debian 10 a Ubuntu 20.04 a také pro macOS 10.15+. Kvůli problémům s motorem V8 jsou k dispozici 32bitové sestavení pro Windows.
  • Poskytuje experimentální možnost sestavení spustitelného souboru Node.js s uživatelsky vybranými komponentami inicializovanými při spuštění. Pro definování počátečních komponent byla do konfiguračního sestavení skriptu přidána možnost „--node-snapshot-main“, například „./configure —node-snapshot-main=marked.js; název uzel"

Platformu Node.js lze použít jak pro podporu webových aplikací na straně serveru, tak pro tvorbu standardních síťových programů na straně klienta a serveru. Pro rozšíření funkcionality aplikací Node.js byla připravena rozsáhlá kolekce modulů, včetně těch, které implementují servery a klienty HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduly pro integraci s různými webovými frameworky, obslužné rutiny WebSocket a Ajax, konektory k DBMS (MySQL, PostgreSQL, SQLite, MongoDB), šablonovací enginy, CSS enginy, implementace kryptografických algoritmů a autorizačních systémů (OAuth), XML parsery.

Pro zpracování velkého počtu paralelních požadavků používá Node.js asynchronní model spouštění kódu založený na neblokujícím zpracování událostí a obslužných rutinách zpětných volání. Mezi podporované metody multiplexování připojení patří epoll, kqueue, /dev/poll a select. Pro multiplexování připojení se používá knihovna libuv, která je nadmnožinou knihovny libev na unixových systémech a IOCP na IOCP. WindowsKnihovna libeio se používá k vytvoření poolu vláken a c-ares je integrován pro provádění DNS dotazů v neblokujícím režimu. Všechna blokující systémová volání jsou prováděna v rámci poolu vláken a poté, stejně jako obslužné rutiny signálů, vracejí své výsledky prostřednictvím nepojmenovaného kanálu. Spouštění JavaScriptu zajišťuje engine V8 od Googlu (Microsoft také vyvíjí variantu Node.js s enginem Chakra-Core).

Ve svém jádru je Node.js podobný Perl AnyEvent, Ruby Event Machine, Python Twisted frameworkům a implementaci událostí Tcl, ale smyčka událostí v Node.js je před vývojářem skrytá a připomíná zpracování událostí ve spuštěné webové aplikaci. v prohlížeči. Při psaní aplikací pro node.js musíte vzít v úvahu specifika programování řízeného událostmi, například místo toho, abyste dělali "var result = db.query("select..");" s čekáním na dokončení práce a následným zpracováním výsledků využívá Node.js princip asynchronního provádění, tzn. kód se transformuje na "db.query("select..", funkce (výsledek) {zpracování výsledku});", ve kterém řízení okamžitě přejde na další kód a výsledek dotazu bude zpracován, jakmile data dorazí.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster