Состоялся релиз Node.js 26.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 26.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 26.x будет осуществляться до мая 2029 года. Сопровождение прошлой LTS-ветки Node.js 24.x будет осуществляться до 30 апреля 2028 года, а позапрошлой 22.x — до 30 апреля 2027 года. Сопровождение LTS-ветки 20.x прекращено 30 апреля 2026 года, а промежуточной ветки Node.js 25.x будет прекращено 1 июня 2026 года.
主要改進:
- Включён по умолчанию API Temporal, предлагающий альтернативный набор методов для работы с датами и временем. API позволяет манипулировать датами с учётом и без учёта часовых поясов, конвертировать время, форматировать вывод и выполнять арифметические операции со временем. Время может задаваться в независимом от часового пояса представлении (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), с привязкой к часовому поясу (Temporal.ZonedDateTime) и в эпохальном представлении (Temporal.Instant — число наносекунд с 1 января 1970 года).
- Движок V8 обновлён до версии 14.6, применяемой в Chromium 146. Из улучшений по сравнению с прошлым выпуском Node.js отмечена возможность объединять несколько итераторов в один с помощью метода Iterator.concat(), а также реализация спецификации «upsert» для упрощения работы с коллекциями пар ключ/значение в JavaScript-объектах Map и WeakMap.
- HTTP-клиент undici обновлён до ветки 8.x.
- Удалён метод http.Server.prototype.writeHeader(), вместо которого следует использовать http.Server.prototype.writeHead().
Node.js 平台既可用於 Web 應用程序的服務器維護,也可用於創建常規客戶端和服務器網絡程序。 為了擴展Node.js應用程序的功能,已經準備了一個大的模塊集合,您可以在其中找到實現HTTP、SMTP、XMPP、DNS、FTP、IMAP、POP3服務器和客戶端的模塊、用於集成的模塊具有各種 Web 框架、WebSocket 和 Ajax 處理程序、DBMS 連接器(MySQL、PostgreSQL、SQLite、MongoDB)、模板引擎、CSS 引擎、加密算法和授權系統(OAuth)的實現、XML 解析器。
為了處理大量並發請求,Node.js 使用基於非阻塞事件處理和定義回呼處理程序的非同步程式碼執行模型。支援的多路復用連接方法包括 epoll、kqueue、/dev/poll 和 select。為了多路復用連接,使用了 libuv 函式庫,它是 Unix 系統上的 libev 和 Windows 上 IOCP 的超集。使用libeio庫建立線程池,並整合c-ares以非阻塞模式執行DNS查詢。所有阻塞系統呼叫都在執行緒池內執行,然後像訊號處理程序一樣,透過未命名的管道將其工作結果傳回。
Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8. По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python asyncio и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.
來源: opennet.ru
