Web IDEなどが流行っていく中で必要になるのが、ユーザが開発したコードを安全に実行できる仕組みです。セキュリティ的な意味合いはもちろん、無限ループしてしまった時であったり、重たい処理を実行している時に途中で止められる仕組みが必要です。 今回はその一つ、Stopifyを紹介します。JavaScriptから安全な実行できるJavaScriptに変換します。

Stopifyの使い方

メイン画面です。左に書いたコードでの出力が右側に反映されます。デモではDartやPythonなど、JavaScriptへの変換をサポートしたライブラリを用いています。

例えばPython製。このコードは通常、確実にハマってハングアップしてしまいます。しかしStopifyを通して実行することで、止まることなく実行できます。また、ユーザのタイミングでいつでも自由に止められます。

こちらはScalaの例。

Stopifyを使うことで別プログラミング言語からJavaScriptに変換する類のライブラリであっても安全にWebブラウザ上で実行できるようになります。ただ、筆者環境ではデモのコードをちょっと編集するとうまく出力できなくなってしまった点が気になります。

StopifyはJavaScript製のオープンソース・ソフトウェア(BSD)です。

Stopify Technology Demo: a JS-to-JS compiler that makes it easier to build IDEs and compile to JS plasma-umass/Stopify: A JS-to-JS compiler that makes it easier to build Web IDEs and compile to JS.