V8 ❤️ Node.js
Популярность Node.js неуклонно растет в последние годы, и мы работаем над тем, чтобы сделать Node.js лучше. Этот блог рассказывает о некоторых недавних усилиях в V8 и DevTools.
Отладка Node.js в DevTools
Теперь вы можете отладить приложения Node с помощью инструментов разработчика Chrome. Команда Chrome DevTools перенесла исходный код, который реализует протокол отладки, из Chromium в V8, что облегчает обновление узловых источников и зависимостей отладчика. Другие поставщики браузеров и IDE также используют протокол отладки Chrome, улучшая общий опыт разработки при работе с Node.
Ускорения ES2015
Мы усердно работаем над тем, чтобы сделать V8 быстрее, чем когда-либо. Большая часть нашей недавней работы по производительности сосредоточена на функциях ES6, включая обещания, генераторы, деструкторы и операторы rest/spread. Так как версии V8 в Node 6.2 и более поздних полностью поддерживают ES6, разработчики Node могут использовать новые языковые функции "нативно", без полифилов. Это означает, что разработчики Node часто первыми оценивают улучшение производительности ES6. Аналогично, они часто первыми замечают регрессии производительности. Благодаря внимательному сообществу Node мы обнаружили и исправили ряд регрессий, включая проблемы производительности с instanceof
, buffer.length
, длинными списками аргументов и let
/const
.
Исправления для модуля Node.js vm
и REPL в пути
Модуль vm
имеет некоторые давние ограничения. Чтобы должным образом устранить эти проблемы, мы расширили API V8 для реализации более интуитивного поведения. Мы рады сообщить, что улучшение модуля vm — один из проектов, которые мы поддерживаем как наставники в Outreachy для Node Foundation. Мы надеемся увидеть дальнейший прогресс в этом проекте и других в ближайшем будущем.
async
/await
С помощью асинхронных функций вы можете существенно упростить асинхронный код, переписывая поток программы, ожидая обещания последовательно. async
/await
будет добавлен в Node с следующим обновлением V8. Наша недавняя работа по улучшению производительности обещаний и генераторов помогает сделать асинхронные функции быстрыми. В дополнение, мы также работаем над предоставлением хуков для обещаний, набора API для интроспекции, необходимых для Node Async Hook API.
Хотите попробовать новейший Node.js?
Если вы хотите протестировать новейшие функции V8 в Node и вас не пугает использование передового, нестабильного программного обеспечения, вы можете попробовать нашу ветку интеграции здесь. V8 непрерывно интегрируется в Node до того, как V8 будет добавлен в Node.js, чтобы мы могли решать проблемы на ранних стадиях. Однако будьте осторожны, это более экспериментально, чем последняя версия Node.js.