オランダのCodeSandboxは、Webブラウザ上でのコード実行を可能にするNode.jsランタイムであるSandpackの最新バージョンとなる、「Sandpack 2.0」を2月16日(現地時間)に発表した。
「Sandpack 2.0」では、アプリがサーバまたはクライアントのランタイム実行に依存しているかどうかに関係なく機能するようにすべく、ブラウザ内でNode.js独自の抽象化を実装するテクノロジであるNodeboxが導入され、ほぼすべてのJavaScriptアプリケーションを任意のブラウザで実行できるようになっている。
Nodeboxの導入によって、PC側に何もインストールしていない状態でも、ブラウザ上でNodeプロジェクトを実行可能であり、Sandpackのカスタマイズに対応したUI、低フットプリント、開発者エクスペリエンスなどをすべて1つのパッケージで得られる。
さらに、Nodeboxで従来はサーバ側で行っていた処理を実行できるので、ブラウザ上でのドキュメント作成をまったく新しいレベルにまで引き上げることが可能になったほか、テーマを設定できカスタマイズ可能なサーバプロジェクトを、フットプリントがほとんどなく、サーバ、登録、ソース管理、インストール、実行手順なしで、迅速かつ簡単に実行可能になる。
なお、ブラウザでNode.jsを実行できるようにするテクノロジとしては、他にもWebContainersが存在するが、WebContainersの場合はSharedArrayBufferなど最新のブラウザテクノロジを使用しているため、Safariでの実行に対応せず、ユーザーはサーバにCross-Origin-Isolationヘッダを追加設定する必要がある。
「Sandpack 2.0」では、最新のブラウザテクノロジを使用せずにNodeboxを実装することで、最小限の設定で任意のブラウザでの実行を可能にしている。
開発チームは現在、Sandpack上でマイクロVMを有効化する作業を進めており、マイクロVMの有効化によってブラウザの制限がなくなり、任意のプログラミング言語で複雑なプロジェクトを実行できるようになる。
また、さまざまな理由からNodeboxをオープンソース化していないが、Nodeboxが実現するテクノロジは今後のDX改善で重要な役割を担うと考えられることから、同社は今後もオープンソース化を検討していくという。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です