はじめに
オープンロジのエンジニアで @ttaka と申します。
この記事は OPENLOGI Advent Calendar 2020 の18日目になります。
さて、先日 iSH という iOS 上で動作する Linux エミュレーターが App Store に公開され、なかなか面白そうだったので、手元の iPad mini でローカル開発環境が構築できるか試してみました。
iSH のインストールと設定
まずは App Store から iSH Shell をインストールします。そして、起動するとこのような root でログインした状態の画面が表示されます。
標準キーボードの左上に、Tab/Ctrl/Esc/カーソルキーのボタンが追加され、これがあれば大抵のコマンドライン操作は困らないのと、設定ボタンから他にもカスタマイズできるので、操作性は申し分ないですね。
また、ベースは Alpine Linux で、 apk コマンドも使えるため、パッケージ管理も楽チンです。
ちなみに、このあたりで Apple とひと悶着あり、あわや App Store から削除されかけたものの、何とか回避できたらしいです
それでは、何はなくとも Emacs をインストールしましょう。
- リポジトリの追加
echo "file:///ish/apk/community" >> /etc/apk/repositories
- リポジトリの更新
apk update
- Emacs のインストール
apk add emacs
無事 Emacs が起動しました!
ちなみに、この iSH のストレージですが、なんと iOS 側のファイルアプリからもアクセスできるので、 iOS 側のエディターで編集することもできます。便利!
あと、 /dev
を覗くと /dev/clipboard
, /dev/location
というデバイスがあり、 cat /dev/location
とすると、位置情報へのアクセス許可が求められ、許可すると緯度と経度が出力されます。
また、 echo "from iSH" > /dev/clipboard
とすれば、 iOS 側のクリップボードに送ることができ、 cat /dev/clipboard
とすれば、 iOS 側でクリップボードにコピーした文字列が表示されます。
こういったホスト側との連携がきちんと実装されてるのは、なかなか素敵ですねー
PHP のインストールと Laravel プロジェクトの作成
次は Laravel を動かしてみましょう。
- PHP と composer をインストール
apk add php7 composer unzip
apk add php7-dom php7-xml php7-xmlwriter php7-fileinfo php7-tokenizer php7-session
-
Laravel のドキュメント を参考にサンプルのプロジェクトを作成
composer create-project laravel/laravel example-app
- エミュレーターのためか、結構時間がかかるので、のんびり待つ
- 動作確認
cd example-app
php artisan serve
- ブラウザで http://127.0.0.1:8000 にアクセス
こちらも無事動作!あとは必要に応じて RDB などをインストールして環境を整えていけば、ローカルで開発できそうですね。
おわりに
エミュレーターのため、やはり速度がネックにはなりそうですが、ホスト側との連携も充実してますし、なかなか面白い環境ではないでしょうか。みなさんも機会があれば、ぜひお試しくださーい。