HotRuby.js を公開しているこの Web ページで実行されているRuby と Javascript の相互作用を理解したい
HotRuby が単なる VM であることは明確に理解しています。
しかし、YARV にコンパイルされた Ruby コードはどこにあるのでしょうか?
このようなサイトを拡張して、ブラウザで独自のコードを記述し、それを HotRuby で実行するのは簡単でしょうか? (信じられないほどのAmber Smalltalkに少し似ています)
HotRuby.js を公開しているこの Web ページで実行されているRuby と Javascript の相互作用を理解したい
HotRuby が単なる VM であることは明確に理解しています。
しかし、YARV にコンパイルされた Ruby コードはどこにあるのでしょうか?
このようなサイトを拡張して、ブラウザで独自のコードを記述し、それを HotRuby で実行するのは簡単でしょうか? (信じられないほどのAmber Smalltalkに少し似ています)
John Resig のブログ(最後に訪れたのは 2013 年 10 月 1 日)で回答を得ました。
これは、トリックの内容を伝える著者のメモのコピーです。
スクリプトはタグを見つけて、そこからインライン Ruby コードを抽出します。Ruby コードは、XMLHttpRequest 経由でサーバーに送信されます。サーバー側の CGI スクリプト (Ruby で、Ruby 1.9 を使用) は、受信した Ruby を関連するオペコードにコンパイルし、JSON データ構造にシリアル化します。ブラウザはオペコードを消費し、JavaScript に変換して実行します。