Mwepụta nke ikpo okwu JavaScript n'akụkụ sava Node.js 16.0

Состоялся релиз 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 дней.

Isi nkwalite:

  • Движок 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.

Ka anyị cheta na enwere ike iji ikpo okwu Node.js ma maka nkwado nkesa nke ngwa Weebụ yana maka ịmepụta mmemme netwọk nke ndị ahịa na nkesa. Iji gbasaa ọrụ ngwa maka Node.js, a kwadebere nnukwu nchịkọta modul, nke ị nwere ike ịchọta modul na mmejuputa HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sava na ndị ahịa, modul maka ntinye. dị iche iche web frameworks, WebSocket na Ajax handlers , njikọ na DBMS (MySQL, PostgreSQL, SQLite, MongoDB), template engines, CSS engines, mmejuputa iwu nke cryptographic algọridim na ikike usoro (OAuth), XML parsers.

Iji hụ na nhazi nke ọnụ ọgụgụ dị ukwuu nke arịrịọ ndị yiri ya, Node.js na-eji ụdị mmebe koodu asynchronous dabere na njikwa mmemme anaghị egbochi yana nkọwa nke ndị na-ahụ maka oku. Ụzọ ndị akwadoro maka njikọta multiplexing bụ epoll, kqueue, /dev/poll, wee họrọ. Maka njikọta multiplexing, a na-eji ọbaakwụkwọ libuv, nke bụ mgbakwunye maka libev na sistemụ Unix yana IOCP na Windows. A na-eji ọba akwụkwọ libeio mepụta ọdọ mmiri eri, yana c-ares jikọtara ya iji mee ajụjụ DNS na ọnọdụ anaghị egbochi. A na-egbu oku sistemu niile na-akpata igbochi n'ime ọdọ mmiri eri ahụ wee, dị ka ndị na-ahụ maka mgbaàmà, nyefee nsonaazụ nke ọrụ ha site na ọkpọkọ akpọghị aha. A na-enye mmezu nke koodu Javascript site na iji igwe V8 nke Google mepụtara (na mgbakwunye, Microsoft na-emepụta ụdị Node.js na Chakra-Core engine).

Na isi ya, Node.js yiri Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, na mmejuputa mmemme Tcl, ma ihe omume ahụ na Node.js zoro ezo site na onye mmepụta ma yiri njikwa ihe omume na ngwa weebụ na-agba ọsọ. na ihe nchọgharị. Mgbe ị na-ede ngwa maka node.js, ịkwesịrị ịtụle nkọwa nke mmemme na-eme ihe omume, dịka ọmụmaatụ, kama ime "var result = db.query("họrọ .");" na ichere maka mmecha ọrụ na nhazi nke nsonaazụ, Node.js na-eji ụkpụrụ nke mkpochapụ asynchronous, ya bụ. A na-agbanwe koodu ahụ ka ọ bụrụ "db.query ("họrọ ..", ọrụ (nsonaazụ) {nhazi nsonaazụ});", nke njikwa ga-agafe ngwa ngwa gaa na koodu ọzọ, a ga-ahazi nsonaazụ ajụjụ ka data rutere.

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

isi: opennet.ru

Tinye a comment