iPad でコードを書く Mid 2018 - Text Editor + SSH + SFTP を1アプリで

半年に1回ぐらい iPad でのコード書き環境を見直しております。外出先でコード書きたいけど MacBook は持って行きたくないというケースがちょいちょいあるので。

iPad と Cloud IDE の相性はイマイチ

Cloud IDE は iPad で常用するには時期尚早でした。物理キーボード使っても Ctrl キーが効かないとか、コンテキストメニューが出せないなどの制約が多いです。

blog.kondoumh.com

Chromebook で使うなら現実的だと思うのですが・・

blog.kondoumh.com

この記事では好意的な感じで書いてしまいましたが、今読むとちょっと先走った感があります。

あ、でも CodePen は iPad でも実用的に使えます。

blog.kondoumh.com

iOS マルチタスクも 9.7インチでは微妙

iPad でコーディングする上で便利に思える iOS の Split View も全然使わなくなりました。

blog.kondoumh.com

やはり 9.7 インチの iPad では作業領域が狭くなってしまうのが一番の理由だと思います。

iOS の SSH クライアント (Prompt など) を使う場合、バックグラウンドに回ってしまうとセッションが切れてしまい、接続し直しが面倒です。Split View に固定しておくことでセッション維持は可能ですが、それ以上に画面が 1/2 - 2/3 になってしまうところが厳しいです。12 インチの iPad Pro 向け機能と考えた方がよいでしょう。12 インチの iPad Pro 持ち歩くぐらいならラップトップ持ち歩くでしょうし。

フルスクリーンで、2つのアプリのタスクを固定できる方が 9.7 インチ iPad だと現実的だと思うのですが・・。9.7 インチでのマルチタスクはいざとなったら使えるオプションぐらいに考えるのがよい気がします。

テキストエディタアプリのオールインワン化

最近 Textastic が 7 にメジャーバージョンアップしてタブ対応し、ターミナルも内臓するようになりました。

Textastic Code Editor 9

Textastic Code Editor 9

  • Alexander Blach
  • 開発ツール
  • ¥1,220

左側のファイルリストを表示せずに編集中のファイルを切り替えられて、エディタ画面の横幅を確保できるし、iPad を縦置きするとかなりの長さを表示できるので快適です。

f:id:kondoumh:20180712232218j:plain

ターミナルもタブの一つとして、アプリのプロセスの中に生きつづけるので、コードを書いてるうちに切断されてしまうということはありません*1

blog.kondoumh.com

この記事で書いたように Coda for iOS でも同じことができるのですが、テキストエディタの完成度は Textastic の方が上ですし、サイト管理的な機能が余計です。

ということで、Textastic が進化して iPad コーディング環境がかなり改善された感があります。

matagotch.hatenablog.com

id:matagotch さんのこの記事を読んで、GoCoEdit が気になったので、App Store で購入してみました。

こちらも、従来からタブ機能があり、ターミナルも内蔵していて Textastic を凌駕する存在だったようです。

GoCoEdit - Code & Text Editor

GoCoEdit - Code & Text Editor

  • Christoph Gogolin
  • 仕事効率化
  • ¥1,100

Textastic と GoCoEdit

実際使ってみると GoCoEdit は非常に完成度の高いエディタです。コードハイライトのカスタマイズも可能ですし、スニペット登録も可能。モダンテキストエディタの要件を満たしている感じです。特にいいと思ったのは、Emacs ライクなキーバインドです。Textastic の Emacs ライクキーバインドは中途半端で使えないと思った方がいいです。

ターミナルの完成度は、今のところ Textastic の方が上です。

ファイル管理については、Textastic はローカルにダウンロードして編集が終わったらアップロードしてリモートと同期する方式、GoCoEdit はサーバのファイルを直接編集する方式です。

ワークフローとしては、GoCoEdit の直接編集方式が楽ですが、リモートファイルを取得・列挙するのでレイテンシーが気になります。Textastic はフォルダ単位でローカルにキャッシュできるの作業開始は素早くできます。

まとめ

iPad ではオールインワンなテキストエディタと ConoHa とか EC2 の t2.micro の VPS インスタンスに回帰してしまいました。Cloud IDE や マルチタスクで複数アプリを使うよりも快適なので仕方ありません。まあ、適材適所というところでしょうか。

ところで Surface Go なかなかよさそうです。軽量 10インチ 2in1 でデスクトップ環境が普通に使えるというのは iPad でコードを書こうと足掻いている自分のような危篤なタイプにとってはかなり魅力的に見えます*2

www.itmedia.co.jp

*1:もちろんエディタ自身がバックグランドに行くと一定時間後に切れちゃいます。長時間のセッション維持が必要な場合は tmux などのターミナルマルチプレクサを利用すべきです。

*2:LTE モデルでメモリ8GBにしてタイプカバー付けて・・とかすると iPad よりかなり高くなりそうですが・・