Rubyist for iOSについて

この記事は SecHack365 Advent Calendar 2020 1日目の記事です。初日なので軽めに書いていきます。

まえがき

こんにちは、arataです。学校のテストが終わったのにタスクは増える一方です。怖いですね。

今日はとくに書くことがなかったので、最近知ったRubyistというアプリについてちょっと語ろうと思います。

Rubyistとは

https://rubyist.app/

iOSで動くRubyの開発環境です。現在(2020/12/1時点)はベータ版となっており、TestFlight経由で配布されています。

できること

Rubyのコードを書いて実行できます。内部でmrubyを使用しているため若干の制限がありますが、一般的な用途で困ることはないと思います。

さらにiOSのショートカットとの連携も可能で、ショートカットからRubyのコードを実行できます。

API

mrubyの標準ライブラリに加え、Rubyist独自のAPIも実装されています。以下にその一部を紹介します。

Browser

設定されているデフォルトブラウザで、指定されたURLを開きます。

Clipboard

クリップボードにアクセスできます。

Device

バイスについての情報を取得できます。バッテリー情報やシステム情報などが取得できるようです。

個人的には、デバイスがどの向きで置かれているかを取得できるのが好きです。

HttpRequest

HTTPリクエストを送ることができます。

あとがき

以前はRubyPicoというアプリを利用していたのですが、AppStoreから姿を消してしまったのでまたこのようなアプリが開発されているのはとても嬉しいです。将来的にはmrbgemsのインストールやAPIの実装を進めていくとのことなので、楽しみにしています。

ところで、私の愛用するiPhone SE(Gen 1)はそろそろサポートが切られるそうです。次は何にしようか、、、

補遺1

ちょっとだけRubyistをいじった記録を残しておきます。

  • Kernel#openを使ったファイルの書き込み・読み込みは可能だった。
  • TCPServerを使ってサーバは建てられなかった。IO#popenのエラーが発生する)
    • →v1.0(11)でuninitialized constant TCPServerのエラーに変わった