Coda の Playground で JavaScript の実行に手がかりを得たことで iPhone 上でコーディング + プログラムの実行をするという昔からの目標がまた再燃してきました。私が目指すのは「iPhone 上でコーディングを行い,どこかのサーバなどへソースを送ってコンパイルするのではなく,iPhone 内に抱え持った処理系でコンパイル・実行を行う環境」です。
これを体現するアプリがあります。
この辺は所持しております。デザインがイマイチ iOS8 とか iPhone6+ に対応していませんが,機内モードにしてちゃんとスクリプトが実行できるので求めるものはこんな感じです。ただ,個人的には Ruby がやりたいんです。で,
これを買ってみた。いけてない日本語の説明でサーバとかにアクセスすることはないようなことが書いてありますが,機内モードにすると実行できません。解除した途端に実行できるようになるので絶対これサーバにアクセスしてるわ。
これは C/C++ のオフラインコンパイル + 実行環境。パーフェクト。こういうのがいいんですが,iPhone6+ に対応していないのと Premium 版に対して free 版の制限で,アプリを起動している間は 3 回のコンパイルと 5 回の実行のみしかできません。それ以上やるときは一度アプリを落とす*1必要があります。まあ無償で提供してもらっている以上,あまり偉そうなことは言えませんが。本格的に C/C++ やるなら買えばいいし。
もう仕方ないので,「自分で作るか!」と考えたわけです。そのきっかけがこの記事。
素晴らしい記事です。mruby という Ruby の軽量版の処理系があるのですが,
これを iOS 向けにビルドしてアプリに組み込めば,iOS アプリ内で Ruby のプログラムが実行できるようになります。Ruby に対して標準の API など少ない部分もありますが,まずは当初の目的をクリアするためにはやってみる価値がありそうな方法です。
少し楽しくなってまいりました。
*1:単純に Home ボタンを押すのではなく,マルチタスキングで落とします。