うーん... 開発者の皆さん、チャクラを整えてください、と Microsoft がささやきます。Google の V8 は必要ありません...

Table of Contents

うーん... 開発者の皆さん、チャクラを整えてください、と Microsoft がささやきます。Google の V8 は必要ありません...

Microsoft は、7 月の Node Summit で Linux 向けに同様のリリースを行ったのに続き、macOS 向けの Node-ChakraCore の初期バージョンをリリースしました。

なぜこれが重要なのでしょうか? Node-ChakraCore は、Microsoft のオープンソースの接着剤であり、Node.js を Edge Web ブラウザー内の MIT ライセンスの JavaScript エンジンである ChakraCore に接続します。

これはすべて、開発者、特にAppleとLinuxを使用する開発者にとって、Chakra上でNode.jsアプリケーションを実行できる手段を提供することで、開発者にとって重要な存在であり続けるというMicrosoftの計画の一環です。これにより、プログラマーがGoogleのV8のような競合エンジンにソフトウェアを依存させるのを避けることができるようになるでしょう。あるいは、Microsoftにとってさらに良いことに、開発者が組み込みデバイスにChakraCoreを選ぶようになるでしょう。

開発者が JavaScript を使用してサーバー アプリケーションとクライアント アプリケーションの両方を作成できるようにする Node.js は最近著しい成長を遂げており、Microsoft をはじめとする企業は、このプラットフォームが Google の V8 JavaScript エンジンに過度に依存していることを懸念している。

昨年、Microsoft は、クラシック Windows または Windows 10 のユニバーサル アプリを実行するデバイスで開発者が Node.js を使用できるようにするために、Microsoft の JavaScript エンジンである Chakra が提供する JSRT ホスティング API と、Node.js が提供する V8 ホスティング API を接続するラッパーを作成しました。

Windows の巨人である同社は当時、Node Foundation およびコミュニティと協力して、あらゆる JavaScript エンジンで動作する Node.js のホスティング API を開発する予定であると述べていた。

Google の V8 以外にも、Java 仮想マシン (JVM) と DynJS Javascript ランタイムを利用する Node.js 互換フレームワークの Nodyn や、マイクロコントローラなどのリソースが制限されたデバイス向けの小型 JavaScript エンジンの JerryScript など、JS 仮想マシンの選択肢はすでに存在します。

Microsoftは、Node.jsをChakraとそのEdgeブラウザで動作させることで、デスクトップPC、タブレット、スマートフォン、Xbox、HoloLens、IoTデバイスなど、あらゆるWindowsデバイスでNodeアプリケーションを効率的に実行できるようにします。また、macOSとLinux向けの試験的なNode-ChakraCoreサポートにより、これらのOSで作業する開発者はMicrosoftのテクノロジーを使用してNode.jsアプリを構築できます。

macOS上のMicrosoftのNode-ChakraCoreのスクリーンショット

マイクロソフトは、火曜日にテキサス州オースティンで開催されるNode Interactive North America 2016でのプレゼンテーションで、Node-ChakraCoreプロジェクトの最新情報を発表する予定です。Chakraのシニアプログラムマネージャーであるアルネシュ・チャンドラ氏はブログ投稿で、このイベントでNode.JS APIの進捗状況を紹介する予定だと述べています。

Node.JS API (NAPI) は、さまざまな Node バージョンが異なる Node VM で動作することを保証するために、アプリケーション バイナリ インターフェイス (ABI) の互換性を提供することを目的としたコミュニティ主導のプロジェクトです。

「NAPIはVM中立性への足がかりです」とチャンドラ氏は述べた。「NAPIがネイティブモジュールで正式に利用可能になれば、Node.jsコア内で使用することでVM中立性を実現し、Node.jsが複数のJavaScriptエンジンをシームレスにサポートできるようになります。」

チャンドラ氏はまた、マイクロソフトが今年初めにプレビュー版を公開したタイムトラベルデバッグ機能をWindows版VS Codeでベータ版として提供すると述べた。「この機能により、開発者は実行中のNode.jsプロセスのトレースを取得し、時間を遡ることでVS Code内でコード実行を視覚化できるようになります」とチャンドラ氏は述べた。

歴史のこの特定の時点で、過去に戻ることはある種の魅力を持っています。®

Discover More