LINUX.ORG.RU

Опубликована платформа Node.js 26.0.0

 ,


0

2

Состоялся релиз 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 (github.com).
  • Удалён метод http.Server.prototype.writeHeader(), вместо которого следует использовать http.Server.prototype.writeHead().

Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Для обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe).

Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8 (google.com). По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python asyncio и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.

>>> Источник

★★

Проверено: hobbit ()
Последнее исправление: cetjs2 (всего исправлений: 3)

js

Господи! Спаси, укроти, примири!

seiken ★★★★★
()

Ant: создание среды выполнения JavaScript за один месяц:

Why Ant?

AntNodeBunDeno
Binary size~9 MB~120 MB~60 MB~90 MB
Cold start~5 ms~31 ms~13 ms~25 ms
EngineAnt SilverV8JSCV8
JIT
WinterTC conformantpartial

Cold start

RuntimeMeanMinMaxRelative
Ant5.7 ms5.0 ms7.3 ms1.00
Bun12.8 ms11.6 ms16.4 ms2.24× slower
Deno24.8 ms22.2 ms29.4 ms4.32× slower
Node31.1 ms27.1 ms151.7 ms5.41× slower
dataman ★★★★★
()
Ответ на: комментарий от dataman

Сразу с козырей зашел, надо было подождать пока срачь разгорится, а потом вкидывать)

ptah_alexs ★★★★★
()
Последнее исправление: ptah_alexs (всего исправлений: 1)
Ответ на: комментарий от dataman

Во-первых, кого вообще волнует cold start в жабаскрипте? Во-вторых, а где сравнение с just-js, если уж пытаться в писькомерство.

no-such-file ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.