Node.js上でChakraCoreを使う「Node-ChakraCore」に、Node.js 8ベースの最新プレビュー版Node.jsがiOS上で利用可能になる!?

Microsoftは、Node.js 8をベースにしたクロスプラットフォームのオープンソースプロジェクト「Node-ChakraCore」の最新プレビュー版を公開した。

» 2017年07月31日 11時00分 公開
[@IT]

 Microsoftは2017年7月27日(米国時間)、オープンソースプロジェクト「Node-ChakraCore」の新たなプレビューリリース「node-chakracore-v8.2.1」を公開した。

 ChakraCoreは、同社のWebブラウザ「Microsoft Edge」で使われているMicrosoftのJavaScriptエンジン「Chakra」のオープンソース版。Node-ChakraCoreは、サーバサイドJavaScriptプラットフォームである「Node.js」上でこのChakraCoreを使えるようにするオープンソースプロジェクトとなる。

 今回のプレビューリリース node-chakracore-v8.2.1は、Node.js 8をベースにしており、Windows、macOS、Linuxのクロスプラットフォームに対応。パフォーマンス、N-API(Node.js Application Programming Interface)のサポート、Inspectorプロトコルのサポート、TTD(Time Travel Debugging)などが改善され、安定性を高めたという。

完全なクロスプラットフォーム対応

 ChakraCoreはWindowsで生まれたが、当初からクロスプラットフォーム化が進められてきた。Node-ChakraCoreは2017年7月現在、macOSとLinuxにも対応しており、主要な全てのデスクトップOSで利用できる。

 また、クロスプラットフォーム対応に続いて、クロスプラットフォームの国際化の取り組みも活発に行われている。

N-APIのサポート

 Node.jsのネイティブモジュールはC/C++で書かれており、V8やNAN APIに直接依存している。これらのモジュールは、Node.jsのメジャーアップデートごとに、ABI(Application Binary Interface)とAPIの変更に伴って更新や再コンパイルが必要になる可能性がある。

 このことはネイティブモジュール作者にとって、メンテナンスの負担が増える課題がある。また、モジュールの利用者にとっても、本番環境で使用しているNodeのアップグレードで障壁になる。この問題に対処するためのプロジェクトの1つとして進められているのがN-APIである。

 N-APIは、ネイティブモジュールのための安定したNode APIレイヤーで、Nodeのさまざまなバージョンやバリエーション間でのABI互換性を保証するもの。そのため、N-API対応のネイティブモジュールならば、Node.jsのバージョンやバリエーションにかかわらず、再コンパイルなしで動作する。

 Node-ChakraCoreの開発チームはN-APIのサポートとともに、Node.js 8における次世代N-APIの設計、開発のためのコミュニティーも参加する。

Demo showing N-API the Next generation Node.js APIs(YouTube/Arunesh Chandra)

「iOS上」のNode.js

 Janea Systemsは最近、Node-ChakraCoreを利用して、Node.jsをiOSに実験的に移植したと発表した。

 Node.jsが初めてiOS上で利用可能になる、ということだ。Node.jsのエコシステムが新しいデバイスカテゴリーに広がることにもなる。

Node.js with ChakraCore on iOS - React Native demo(YouTube/Janea Systemsチャンネル)

Time Travel Debugging

 Node-ChakraCoreは、全ての対応プラットフォーム上で「Time Travel Debugging」機能を提供する。この機能によって、Node.js開発者の頭痛の種であったデバッグを強力に支援できるようになる。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。