Te taha-tūmau JavaScript Node.js 16.0 tuku

Состоялся релиз Node.js 16.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 16.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 16.0 будет осуществляться до апреля 2023 года. Сопровождение прошлой LTS-ветки Node.js 14.0 продлится до апреля 2023 года, а позапрошлой LTS-ветки 12.0 до апреля 2022 года. Сопровождение LTS-ветки 10.0 будет прекращено через 10 дней.

Nga whakapainga matua:

  • Движок V8 обновлён до версии 9.0 (в Node.js 15 использовался выпуск 8.6), что позволило реализовать в Node.js 16 такие возможности, как свойство «indices» для регулярных выражений (включает массив с начальными и конечными позициями групп совпадений), метод Atomics.waitAsync (асинхронная версия Atomics.wait), поддержка использования ключевого слова await в модулях на верхнем уровне. Ускорен вызов функций, в ситуации, когда число переданных аргументов не соответствует определённым в функции параметрам.
  • Стабилизирован API Timers Promises, предоставляющий альтернативный набор функций для работы с таймером, возвращающих на выходе объекты Promise, что позволяет обойтись без использования util.promisify(). import { setTimeout } from ‘timers/promises’; async function run() { await setTimeout(5000); console.log(‘Hello, World!’); } run();
  • Добавлена экспериментальная реализация API Web Crypto, предназначенного для выполнения базовых криптографических операций на стороне web-приложений, таких как манипуляции с криптографическими хэшами, генерация и проверка цифровых подписей, кодирование и декодирования данных с использованием различных методов шифрования, формирование криптографически надёжных случайных чисел. В API также предусмотрены функции для генерации ключей и управления ими.
  • N-API (API для разработки дополнений) обновлён до версии 8.
  • Осуществлён переход на новый выпуск пакетного менеджера NPM 7.10.
  • Стабилизирована реализация класса AbortController, основанного на Web API AbortController и позволяющего отменять сигналы в выбранных API на основе Promise.
  • Стабилизирована поддержка третьей версии формата Source Map, используемого для сопоставления сгенерированных, обработанных или упакованных модулей с оригинальным исходным кодом.
  • Для совместимости с устаревшими Web API добавлены методы buffer.atob(data) и buffer.btoa(data).
  • Началось формирование сборок для новых устройств Apple, оснащённых ARM-чипом M1.
  • На платформе Linux требования к версии компилятора подняты до GCC 8.3.

Kia maumahara tatou ka taea te whakamahi i te papaaho Node.js mo te tautoko taha-tumau mo nga tono Tukutuku me te hanga kaupapa whatunga kiritaki me te tūmau noa. Hei whakawhānui ake i te mahinga o nga tono mo te Node.js, he kohinga nui o nga waahanga kua rite, ka kitea e koe nga waahanga me te whakatinanatanga o te HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 tūmau me nga kiritaki, nga waahanga mo te whakauru. me nga momo angamahi tukutuku, WebSocket me Ajax kaihautu , hono ki te DBMS (MySQL, PostgreSQL, SQLite, MongoDB), nga miihini tauira, nga miihini CSS, te whakatinanatanga o nga algorithms cryptographic me nga punaha whakamana (OAuth), nga parser XML.

Hei whakarite i te tukatuka o te maha o nga tono whakarara, ka whakamahi a Node.js i tetahi tauira mahi waehere tukutahi i runga i te whakahaere takahanga kore-aukati me te whakamaramatanga o nga kaikawe waea. Ko nga tikanga e tautokohia ana mo nga hononga maha ko te epoll, kqueue, /dev/poll, me te kowhiri. Mo te hononga maha, ka whakamahia te whare pukapuka libuv, he taapiri mo te libev i runga i nga punaha Unix me te IOCP i Windows. Ka whakamahia te whare pukapuka libeio ki te hanga i tetahi puna miro, ka whakauruhia nga c-ares ki te mahi i nga patai DNS i roto i te aratau aukati-kore. Ko nga waea waea katoa e aukati ana ka mahia ki roto i te puna miro, katahi ano ka rite ki nga kaikawe tohu, ka whakahoki i te hua o a raatau mahi ma te paipa (paipa) kore ingoa. Ko te mahinga o te waehere JavaScript ka tukuna ma te whakamahi i te miihini V8 i whakawhanakehia e Google (i tua atu, kei te whakawhanake a Microsoft i tetahi putanga o Node.js me te miihini Chakra-Core).

I tona kaupapa, he rite te Node.js ki te Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, me te whakatinanatanga o te kaupapa Tcl, engari ko te takahanga takahanga i Node.js kei te huna mai i te kaiwhakawhanake me te rite ki te whakahaere kaupapa i roto i te tono tukutuku e rere ana. i roto i te pūtirotiro. I te wa e tuhi ana i nga tono mo te node.js, me whai whakaaro koe ki nga ahuatanga o te kaupapa-a-takahanga, hei tauira, kaua e mahi "var result = db.query("select..");" me te tatari mo te whakaotinga o te mahi me te tukatuka i muri mai o nga hua, ka whakamahia e Node.js te kaupapa o te mahi tukutahi, ara. ka huri te waehere ki te "db.query("twhiria..", mahi (hua) {tukatuka hua});", ka haere tonu te mana ki etahi atu waehere, ka tukatukahia te hua patai ka tae mai nga raraunga.

Дополнительно можно отметить, что компания Deno, основанная создателем Node.js для развития платформы нового поколения Deno, получила 4.9 млн долларов инвестиций. По своему назначению Deno напоминает Node.js, но пытается устранить концептуальные ошибки, допущенные в архитектуре Node.js, и предоставить пользователям более защищённое окружение. Отмечается, что бизнес-решения компании Deno будут строится на полностью открытых продуктах, а модель Open Core с выделением отдельной платной функциональности воспринимается как неприемлемая для платформы Deno.

Source: opennet.ru

Tāpiri i te kōrero