В выпуск новой версии Node.js 20.0, который представляет собой структуру для запуска сетевых приложений в JavaScript. Этот новый выпуск Node.js 20.0 был назначен на ветку длительной поддержки, но этот статус не будет присвоен до октября, после стабилизации.
Для тех из вас, кто плохо знаком с платформой Node.js, следует знать, что ее можно использовать как для обслуживания серверов веб-приложений, так и для создания обычных клиентских и серверных сетевых программ.
Для расширения функционала приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов.
Основные новые возможности Node.js 20.0
В этом новом выпуске Node.js 20.0 движок V8 был обновлен до версии 11.3, используемой в Chromium 113, которая включает в себя несколько изменений по сравнению с веткой, в которой использовался движок Chromium 107, функции String.prototype.isWellFormed и toWellFormed, Array.prototype и TypedArray.prototype они имеют методы работы с копированием при изменении объектов Array и TypedArray, флаг v в RegExp, поддержка изменения размера ArrayBuffer и увеличения размера SharedArrayBuffer, окончательный вызов в WebAssembly.
Еще одно изменение, которое выделяется в новой версии, заключается в том, что предложен механизм экспериментальной модели разрешений что позволяет ограничить доступ к определенным ресурсам во время выполнения. Поддержка модели разрешений включается указанием флага «—экспериментальное-разрешение» когда вы бежите.
В дополнение к этому в Node.js 20.0 подчеркивается, что драйверы для модулей ECMAScript Внешний (ESM) оплачивается опционально «—экспериментальный-загрузчик» теперь запустите в отдельном потоке, изолированном от основного потока, что исключает пересечение кода приложения и загруженных модулей ESM. Как и в браузерах, метод import.meta.resolve() теперь выполняется синхронно при вызове из приложения. В одной из будущих веток Node.js поддержку нагрузки ESM планируется перевести в категорию стабильных функций.
Также подчеркивается, что был сформирован творческий коллектив отдельно чем, в рамках подготовки к новой ветке, так как он работал над ускорением различных компонентов среды выполнения, включая синтаксический анализ URL, fetch() и EventTarget. Например, накладные расходы на инициализацию EventTarget были сокращены вдвое, производительность метода URL.canParse() была значительно улучшена, а эффективность таймеров была повышена. Кроме того, в пакет включен выпуск высокопроизводительного анализатора URL: Ada 2.0, написанного на C++.
С другой стороны, подчеркивается, что продолжалась разработка экспериментальной функции для доставки приложений в виде одного исполняемого файла (МОРЕ, Одиночные исполняемые приложения). Для создания исполняемого файла теперь требуется заменить большой двоичный объект, созданный из файла конфигурации JSON (вместо замены файла JavaScript).
Из другие изменения которые выделяются из новой версии:
- В начальной реализации предлагались варианты ограничения доступа на запись (—allow-fs-write) и чтение (—allow-fs-read) к определенным частям ФС, дочерним процессам (—allow-child-process), дополнениям ( — -no-addons) и треды (–allow-worker).
- Модуль node:test (test_runner), предназначенный для создания и запуска тестов JavaScript, которые возвращают результаты в формате Test Anything Protocol (TAP), был перемещен в стабильную версию .
Улучшена совместимость Web Crypto API с реализациями из других проектов.
Добавлена официальная поддержка Windows на системах ARM64. - Продолжается поддержка расширений системного интерфейса WebAssembly (WASI) для создания автономных приложений WebAssembly. Убрана необходимость указывать специальный флаг командной строки для включения поддержки WASI.
Наконец сЕсли вам интересно узнать об этом больше, вы можете проверить подробности в по следующей ссылке.
Node.js 20.x будет поддерживаться до 30 апреля 2026 г. Старая ветка Node.js LTS 18.x будет поддерживаться до апреля 2025 г., а старая ветка LTS 16.x — до сентября 2023 г.
Как установить Node.JS в Linux?
Для тех, кто заинтересован в возможности установить эту новую версию Node.JS, они должны знать, что процесс довольно прост, просто Они должны открыть терминал в системе и ввести в нем одну из следующих команд, в зависимости от вашего дистрибутива.
В случае пользователей Debian, Ubuntu и производные, им просто нужно ввести следующее:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
А для тех, кто пользуется Arch Linux, Manjaro, Arco Linux или любая другая производная от Arch:
sudo pacman -S nodejs npm
Для тех, кто использует Fedora, RHEL, Centos и производные:
sudo dnf -i nodejs npm
Наконец, еще один из способов установки Node.js — из пакетов Snap, и для этого достаточно выполнить следующую команду:
sudo snap install node --classic