タブレットでプログラミング
iPadでプログラミングをしたいと思ったとき、選択肢は主に3つあります。
まずはプログラミングできるアプリをダウンロードしてローカルで開発する方法。
自分がまだiPad Airしか持っていなかったとき、
これを実現する『DraftPad』というアプリを発見して感動した記憶がありますが、
これはあくまでもPHPを実行する「だけ」の機能しか備えていないため、
DockerやGitなどを駆使して開発している現状ではこれでは足りません。
しかし、Apple側の制約なのかその辺をクリアしたIDEアプリは存在しないため、
現段階でがっつりローカル開発をするのは無理と考えた方が良さそうです。
もうひとつは自宅に開発できるPCを起動しておいて、リモートデスクトップで開発する方法。
この場合はリモートデスクトップアプリを駆使することになります。
主な選択肢は『Googleリモートデスクトップ』『Splashtop』などがありますが、
一通り試してみたもののリモートはできてもマウス操作が絶望的でした。
絶望的、というか効かないので操作しようがない。トラックパッドではダメなのでしょうか?
そして残された最後の選択肢が、クラウドIDEを使うという方法です。
クラウドコンピューティングで開発上の処理を全部賄って、ブラウザから操作するというもの。
代表的なものにAmazonの『Cloud9』があり、今回はこれを試すことにしました。
Cloud9はワンボタンで構築でき、クラウド上にストレージも実行環境も用意してくれます。
管理者権限でコマンドラインを扱えるので、Dockerなどの必要アプリもインストール可能。
ただひとつ、プレビューする方法がわからずに苦戦していましたが、
これはどうやら固有のドメインが与えられていて、ポート8080〜8082ならプレビュー可能らしい。
なのでそれに合わせてdocker-composeの設定ファイルを書き換えればOK。
Cloud9は内部的にはAWSの仮想PCを使っていて、
これはAWSにデプロイ(本番リリース)しようとする場合にも使うことになるサービスです。
調べてみると、仮想PCは例えばセキュリティ設定やコンテナの構築など、
個々の機能が小さなサービスとして独立していて、
ユーザーはその中からビュッフェのように好きに選択して取っていく形式になっています。
そのため、カスタマイズは自由自在。いじっていると結構面白いです。
新ピクチャレ大会は年間契約しているVPSかAWSのどちらかにリリースする予定なのですが、
従量課金であるもののスペックをスケーリングできるAWSか、
スペックが固定されていて変えることができない代わりにリーズナブルなVPSか迷っています。
まあ、VPSはもう年間契約してしまっているので金銭的にはこちらを使うべきなのですが……。
ただ、こっちに構築して万が一動かなかったときが怖いんですよね。
インフラ構築は難しいですが、今後3ヶ月で必ず直面する課題なので、
どうにか怖気つかずに立ち向かっていきたいところです。