15
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OPENLOGIAdvent Calendar 2020

Day 18

iSH を使って iOS 上で Laravel を動かす

Last updated at Posted at 2020-12-18

はじめに

オープンロジのエンジニアで @ttaka と申します。
この記事は OPENLOGI Advent Calendar 2020 の18日目になります。

さて、先日 iSH という iOS 上で動作する Linux エミュレーターが App Store に公開され、なかなか面白そうだったので、手元の iPad mini でローカル開発環境が構築できるか試してみました。

iSH のインストールと設定

まずは App Store から iSH Shell をインストールします。そして、起動するとこのような root でログインした状態の画面が表示されます。

iSHの起動画面

標準キーボードの左上に、Tab/Ctrl/Esc/カーソルキーのボタンが追加され、これがあれば大抵のコマンドライン操作は困らないのと、設定ボタンから他にもカスタマイズできるので、操作性は申し分ないですね。

また、ベースは Alpine Linux で、 apk コマンドも使えるため、パッケージ管理も楽チンです。

ちなみに、このあたりで Apple とひと悶着あり、あわや App Store から削除されかけたものの、何とか回避できたらしいです :sweat_drops:

それでは、何はなくとも Emacs をインストールしましょう。

  1. リポジトリの追加 echo "file:///ish/apk/community" >> /etc/apk/repositories
  2. リポジトリの更新 apk update
  3. Emacs のインストール apk add emacs
iSH上での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 を動かしてみましょう。

  1. PHP と composer をインストール
    • apk add php7 composer unzip
    • apk add php7-dom php7-xml php7-xmlwriter php7-fileinfo php7-tokenizer php7-session
  2. Laravel のドキュメント を参考にサンプルのプロジェクトを作成
    • composer create-project laravel/laravel example-app
    • エミュレーターのためか、結構時間がかかるので、のんびり待つ
  3. 動作確認
Laravelの動作画面

こちらも無事動作!あとは必要に応じて RDB などをインストールして環境を整えていけば、ローカルで開発できそうですね。

おわりに

エミュレーターのため、やはり速度がネックにはなりそうですが、ホスト側との連携も充実してますし、なかなか面白い環境ではないでしょうか。みなさんも機会があれば、ぜひお試しくださーい。

15
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?