📱

iPhoneで快適にプログラミングする開発環境について

2022/08/31に公開

最近、iPhoneと折りたたみBluetoothキーボードで快適に開発しています。小さなカバンに入れて持ち運べるので重宝しています。Twitterで紹介したら反響があったので、具体的な方法を紹介します。

https://twitter.com/kujirahand/status/1564114570738028549

iOSで快適に開発するカラクリ

ターミナルアプリとスクリーンエディタを利用することで、iOSでもかなり快適な開発が可能です。iPhone/iPad(iOS)には優秀なターミナルアプリがたくさんあります。SSH接続で契約しているサーバー(VPS)に接続して作業しています。

仕組み
iPhone(Termius)+折りたたみBluetoothキーボード → 開発サーバー(tmux) / vim

ターミナルアプリ - Termius

私がたまたま使っているのは、Termius というアプリです。iOSには他にも便利なターミナルアプリがいろいろあるので試してみると良さそうです。

TermiusのWebサイト

スクリーンエディタ - vim

ターミナルから利用できるエディタには、vim/emacs/nanoなどのエディタがあります。私は、Vim派なので、vimエディタで開発しています。日本語プログラミング言語「なでしこ」の開発は、そのときの気分で「vim」と「Visual Studio Code」とmacOSのテキストエディタの「CotEditor」で書いています。

vimは習熟までに少し時間がかかりますが、一度慣れてしまうと快適です。エンジニアを目指しているなら、時間のあるときに習得にチャレンジしてみると良いでしょう。vimやemacsが使えるだけでエンジニア人生の10%は開発満足度が向上することでしょう。

端末多重化ツール - tmux

そして、重要なのが、tmuxです。これは端末多重化ツールと呼ばれており、複数のターミナルを立ち上げたり、画面を分割したりできるツールです。

出先のカフェなどでiPhoneから開発用サーバーに接続して作業します。しかし、作業している途中でネットが不安定で切れたりします。そうなった時でも、tmuxで作業していれば、「tmux a」と入力することで、前回の作業の続きからそのまま作業できます。

例えば、トイレに行きたくて、突然iPhoneをオフにして退席しても、戻ってきてターミナルを開いてサーバーに再接続した際、前回の状態からすぐにはじめることができます。tmux aとタイプすると前回の続きから作業できます。

なお、vimと同様にカスタマイズ性が高いので、いろいろ設定を触る楽しみもあります。

開発サーバー - VPS仮想専用サーバー

私は、開発用に格安のVPS(仮想専用サーバー)を契約しています。月数百円で維持しているサーバーです。自宅のPCを起動しっぱなしにしておいて、出先から自宅に接続するのもありかなと思っていますが、電気代を考えると月数百円でレンタルした方が安いと思っています。VPSではOSがいろいろ選べるのですが、Ubuntuを選択しています。Windowsのサーバーも選べるので、作業に応じて短期で契約して活用しています。

国内にある格安VPSの提供業者は次の通りです。サクラのVPSはお試し期間があります。また、VPSよりも高くなりますが、Amazon EC2やGooogle Compute Engineなどのクラウドも同じように使うことができます。(無料期間があるので、その期間はクラウドを試してみると良いでしょう。)

提供者 最安プラン URL
KAGOYA VPS 1日20円/月550円 https://www.kagoya.jp/cloud/vps/
ConoHa VPS 1時間1.1円/月682円 https://www.conoha.jp/vps/
サクラのVPS 月643円 (最低2ヶ月契約) https://vps.sakura.ad.jp/

KGOYAは1日単位、ConoHa/Amazon EC2などは1時間単位で利用期間を指定できます。開発したい時だけ起動して使えば、かなりサーバー費用は節約できます。

折りたたみBluetoothキーボード

いろいろな種類のものが発売されています。iOSに対応しているものを選ぶと良さそうです。私は敢えてJIS配列の日本語キーボードのものを選びましたが、、、円記号が打てるのにバックスラッシュが打てない、ESCキーを使うのにFnキーを押さないといけないなど、ちょっと不満があります。(この点でTermiusには好きなキーのボタンを画面下に配置できるのでうまく対処できています。)

この開発環境が良い感じなので、今後よりよいキーボードはいろいろ試そうと思っています。と言うのも、Vimを使う上でESCが使えないのは致命的なんです。これが良いというのがあれば教えてください。

まとめ

以上、最近のモバイル開発環境をまとめました。ターミナルを利用する事で、iPhoneでも快適にプログラムの開発ができます。月数百円の格安VPSを利用しているのですが、JavaScriptやPHPの開発は全く問題ありません。作業に応じて高機能のインスタンスも選べるのも良いところです。

(告知) 今年はRustの本など書きました

今年はRustの本を書きました。Stack Overflowで何年も連続で好きな言語で1位に選ばれ続けているRustですが、学ぶのが難しいことでも有名です。Pythonを触ったことがある人を対象に、最初はPythonと比較しながらRustを学習していきます。

手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた

その少し前に、Python自動化の教科書も書きました。Pythonを使ってExcelなど身の回りの仕事を自動化する手法をまとめて本にしました。

シゴトがはかどる Python自動処理の教科書 単行本

Discussion