Node.js — это способ запуска JavaScript на сервере, и до сих пор он был привязан к движку JavaScript V8. Теперь Microsoft создала форк Node.js, чтобы заставить его работать на своем движке Chakra JavaScript, чтобы Node.js был доступен в ядре Windows 10 IoT.
Но он также делает его доступным в Windows 10 в целом и потенциально освобождает Node.js от привязки к какому-либо конкретному движку JavaScript.
Node.js — это, по сути, свободный набор библиотек, предназначенных для обеспечения возможностей, необходимых при запуске JavaScript на сервере или, в более общем смысле, вне браузера под ОС. Таким образом, движок JavaScript, который используется для его запуска, должен быть расширен, и это делается через API хостинга. API хостинга движка JavaScript позволяет использовать его в другой программе для запуска пользовательских сценариев. В случае с Node.js выбор был сделан на раннем этапе реализации системы с использованием движка V8, но его можно было заставить работать с любым движком JavaScript.
Теперь Microsoft анонсировала временный форк Node.js, работающий под управлением движка Chakra JavaScript. Причина необходимости в этом странная. Windows 10 IoT Core, которой Microsoft, похоже, очень увлечена, имеет интересное ограничение. При работе на оборудовании ARM он ограничивает возможность создания других исполняемых файлов библиотеками DLL из белого списка, что по сути означает, что единственными разрешенными JIT-компиляторами являются CLR и Chakra. Это также относится к iOS, и именно так Apple останавливает установку альтернативных движков сценариев.
Под Windows 10 на оборудовании Intel вы можете просто загрузить V8 и Node.js и начать работу. В Windows 10 IoT Core или Windows 10 на ARM этого сделать нельзя; отсюда и необходимость использовать существующий движок Chakra.
Конечно, вилка работает во всех версиях Windows 10, и может быть достаточно причин для того, чтобы всегда использовать Node.js на основе Chakra под Windows 10. Обратите внимание, однако, что вам нужно использовать только Node на основе Chakra. js под Windows 10 на оборудовании ARM.
Оболочка, соединяющая Node.js с движком Chakra, также привносит в вилку Node.js некоторые новые функции, которые позволяют:
Node.js для запуска как классического приложения Windows на любом устройстве под управлением Windows 10
Node.js будет размещен внутри универсального приложения Windows, которое может работать на всех устройствах Windows10.
Полный доступ к API универсальной платформы Windows из приложений Node.js
Отладка приложений Node.js в Visual Studio в Windows 10
Идея состоит в том, что, когда разработка будет завершена, разветвленный Node.js будет предложен обратно проекту Node.js, и планируется изменить Node.js, чтобы он мог работать с любым движком JavaScript.
На данный момент, хотя вилку Chakra можно использовать для написания консольных приложений Win32 через собственный надстройку, выполняющую системные вызовы, основной упор делается на создание универсальных приложений и приложений IoT. Доступен модуль npm под названием uwp, который дает доступ к средствам Интернета вещей, чтобы вы могли читать или устанавливать линию GPIO.
На данный момент доступно очень мало документации, и это не для новичков.
Идея о том, что Microsoft помогает в разработке Node.js, очень странна, учитывая ее историю. Возможность запускать Node.js с любым движком JavaScript, как правило, может быть полезной. Благодаря тому, что Microsoft создает библиотеки npm для обеспечения доступа к ОС и аппаратным функциям, все версии Windows 10 выглядят более привлекательно.