blog.tmp.tokyo

No Promises Await at Journey's End

iPhone で offline で処理系で

Coda の Playground で JavaScript の実行に手がかりを得たことで iPhone 上でコーディング + プログラムの実行をするという昔からの目標がまた再燃してきました。私が目指すのは「iPhone 上でコーディングを行い,どこかのサーバなどへソースを送ってコンパイルするのではなく,iPhone 内に抱え持った処理系でコンパイル・実行を行う環境」です。

これを体現するアプリがあります。

iOS用のPython 2.7

iOS用のPython 2.7

  • Jonathan Hosmer
  • 仕事効率化
  • ¥240

iOS用のPython 3.3

iOS用のPython 3.3

  • Jonathan Hosmer
  • 仕事効率化
  • ¥120

この辺は所持しております。デザインがイマイチ iOS8 とか iPhone6+ に対応していませんが,機内モードにしてちゃんとスクリプトが実行できるので求めるものはこんな感じです。ただ,個人的には Ruby がやりたいんです。で,

Ruby iOS

Ruby iOS

  • Open Merchant Account Ltd
  • 教育
  • ¥240

これを買ってみた。いけてない日本語の説明でサーバとかにアクセスすることはないようなことが書いてありますが,機内モードにすると実行できません。解除した途端に実行できるようになるので絶対これサーバにアクセスしてるわ。

CppCode - offline C/C++ IDE & Compiler

CppCode - offline C/C++ IDE & Compiler

  • Anton Smirnov
  • 仕事効率化
  • 無料

これは C/C++ のオフラインコンパイル + 実行環境。パーフェクト。こういうのがいいんですが,iPhone6+ に対応していないのと Premium 版に対して free 版の制限で,アプリを起動している間は 3 回のコンパイルと 5 回の実行のみしかできません。それ以上やるときは一度アプリを落とす*1必要があります。まあ無償で提供してもらっている以上,あまり偉そうなことは言えませんが。本格的に C/C++ やるなら買えばいいし。

もう仕方ないので,「自分で作るか!」と考えたわけです。そのきっかけがこの記事。

ramemiso.hateblo.jp

素晴らしい記事です。mruby という Ruby の軽量版の処理系があるのですが,

forum.mruby.org

これを iOS 向けにビルドしてアプリに組み込めば,iOS アプリ内で Ruby のプログラムが実行できるようになります。Ruby に対して標準の API など少ない部分もありますが,まずは当初の目的をクリアするためにはやってみる価値がありそうな方法です。

少し楽しくなってまいりました。

*1:単純に Home ボタンを押すのではなく,マルチタスキングで落とします。