ONOF
通勤時間コーディングの最適解はcodespace
2023/11/20

長年の課題

プライベートな時間の中でいかにwebアプリをコーディングの時間をするのか。子供がまだ小さいので、土日祝日の日中にガッツリと時間をとって好きなことができなくなってから、長いこと考えている私の課題であります。(もちろん子供と遊んでいる時間も楽しいんですが。)

必ず確保できる時間

固定で必ず確保できる時間帯はないか、と検討し真っ先に思い付いたのは通勤時間。1日の中でも2時間と非常に多い時間を占めているこの時間をもっと効率よく使うのが一番理想だと考えました。それに加えて、時間がとれれば土日祝日にも時間を作るというのが理想です。

電車コーディングの環境制約

ここまではわりとすんなりと答えが出ていましたが、電車コーディングの開発環境をどうするかという課題は私にとって難易度の高い課題でした。電車で座れなかった場合にも確実にコーディングができる、ノートパソコンという選択肢以外の方法について長いこと模索してきました。

vscode.dev

真っ先に候補として上がるのはvscode.dev。vscode をブラウザで扱えます。扱いにくいですが、スマホでも使えるのがよい点です。ネガティブな点は、実行環境はないというところ。私の場合、土日祝日に時間がとれたときだけ実行できる、という制約は少々厳しいので、実行環境は重要です。

仮想Linux

次に候補として上がったのはChromeOS上に実行環境を準備してしまう方法。ChromeOSは、設定をポチポチするだけでLinuxの仮想環境を用意することができます。Linux環境が用意出来てしまえば、Linux用VSCodeをインストールしてしまえばOK。端末も比較的安価に用意できるのでバッチリです。

chromeOSのソフトウェアキーボード仕様

仮想Linux上にインストールしたアプリには、ソフトウェアキーボードが使えないという問題があります。電車内で利用するにはタブレットで運用する必要があるので、Linux版VSCodeをインストールするのではなく、code-serverというVSCodeのWebサイトを立てることで回避しました。PWA化したり、サービスを自動起動すればより快適になりそうですね。

つまりLinux環境用意できれば何でも良い

つまり、仮想Linux環境を用意できればコーディング環境を用意できる、という観点で考えるとAndroidやiPadOSでも可能です。ただし、iPadの場合はChromeOSほどサクッと用意できるというわではないかもしれません(UTM)。Androidの場合はUserLAndでサクッといけるかも。別のアプローチだと、AWSやGCPに環境を用意するのもありですね。

Codespaceが最高

結局、現在どうしているかというと、2022年頃に一般提供されたGithubのCodespaceを使ってます。codespaceは、Githubが提供している統合開発環境でブラウザで利用できることが特徴です。Githubからのアクセスも容易なことに加え、CPUのcore数を選択できるなど、スケーラビリティに富んでおり、Githubの無料アカウントでも最大60時間無料で使用できます。設定ファイルにて構成を指定できるので組織利用等にも最適です。

無料枠で十分。やっぱり最高

通勤が片道1時間だと仮定して30日間は無料で使えるって考えると全然codespaceで問題ないです。ただ、画面サイズによって利用できるかどうかを判断しているみたいで、スマホなんかだと利用できないみたいでした。ただ、ローカルに環境がなくていいと考えると、ブラウザがあればどんなタブレットだって構わないわけで、やっぱり最高です。まだ始まったばかりなので料金プランなど変わる可能性が大いにありますが、現状だと電車用開発環境としてはこれ以上はなかなかなさそうです。