Node.js 8 включает npm 5


Последняя версия Node.js поставляется с новым клиентом npm, поддержкой будущих версий среды выполнения JavaScript и экспериментальным API Node.js.

Node.js — это среда выполнения JavaScript, управляемая асинхронными событиями, построенная на движке JavaScript V8 в Chrome. Он использует управляемую событиями неблокирующую модель ввода-вывода. В новом выпуске есть ряд улучшений и дополнений, и он поставляется с версией 5.0 клиента пакета npm.

Важным моментом в новом выпуске является то, с какой средой выполнения JavaScript он поставляется. Node.js 8.0.0 поставляется с V8 5.8. Несмотря на то, что это серьезное обновление среды выполнения JavaScript, более важным для долгосрочного будущего является тот факт, что она гарантированно будет иметь прямую совместимость ABI с V8 5.9 и грядущей V8 6.0.

Причина, по которой это необходимо, заключается в том, что выпуск V8 5.9 JIT-компилятора запланирован на начало июня. Если бы у текущего компилятора не было совместимости с ABI, Node.js 8 почти мгновенно устарел бы с точки зрения времени выполнения. Необходимость долгосрочной совместимости была причиной задержки с выпуском Node.js 8.

Новый двоичный интерфейс приложений (ABI), не зависящий от виртуальной машины, означает, что собственные надстройки будут работать не только с несколькими версиями среды выполнения JavaScript V8, но и с средой выполнения Microsoft Chakra-Core. В этом выпуске N-API является экспериментальным, поэтому разработчики говорят, что следует ожидать значительных изменений в реализации и API.

Новый экспериментальный Node.js API (N-API) означает, что разработчики, которые используют или создают собственные надстройки, смогут скомпилировать свои собственные надстройки один раз в системе, а затем использовать их в нескольких версиях Node.js.

Ранее экспериментальный API парсера URL-адресов WHATWG теперь полностью поддерживается и не является экспериментальным.

Новая реализация URL совпадает с реализацией URL и API, доступными в современных веб-браузерах, таких как Chrome, Firefox, Edge и Safari, что позволяет совместно использовать код, использующий URL-адреса, в разных средах.

Модуль Async_wrap был обновлен и переименован в async hooks. API предоставляет диагностику, которую можно использовать для отслеживания работы цикла событий Node.js, отслеживания асинхронных запросов и обработки на протяжении всего их жизненного цикла.

Другие элементы, которые необходимо обновить, включают API-интерфейс Buffer, который имеет новые методы построения и улучшенную обработку конструктора Buffer (num). Улучшена поддержка промисов и начата поддержка статических кодов ошибок.

Stream API был улучшен, и есть экспериментальный инспектор JavaScript API.


Добавить комментарий