最高の開発環境を求めての記事以降、様々なものを試してきた。
現時点で考え得る最高の開発環境は
Chromebook + Raspberry Pi 5になった。
エディタ関連はRaspberry Pi 5の方に入れることにし、構成はZ Shell(zsh) + tmux + Micro Editorになった。
ターミナル上でコードを書くためのMicroをインストールする - エディタ
何故こうなったか?を今年起こった出来事と合わせて見ていくことにする。
以前、プログラミング教育で注目すべきはARM + Debian + Pythonであるはずだの記事で私が参加しているプログラミング教室でChromebook縛りで乗り切ってみることにした。
この取り組みが功を奏したのか、Chromebookを使う人数が増えてきた。
ここで一つ問題が発生した。
アカウントに設定された年齢であったり、教室のWiFi環境によってはGo等の実際の開発で書かれている言語を書くためのターミナル(Crostini)が動作しない。
※厳密にはLinux開発環境を有効に出来ず、PCを家に持ち帰れば、Linux開発環境を有効にできるが持ち帰りたくない。
この問題を解決する為にRaspberry Piをサーバにして、ChromebookからSSH経由でRaspberry Pi上でコードを書くようにした。
※1台のRaspberry Piに複数人のChromebookからSSHでリモートアクセスする
ChromebookはSSHでの作業を強化する開発ポリシーでもあるのか?
SSH周りの機能がとてつもなく便利になっている。
クロームブックでFTP操作の代替のファイルアプリにマウントを利用する - クロームブック
ここで更に問題が発生した。
Crostiniが使えない環境では、VS Code等の高機能のエディタ(IDE)を使うことが出来ない。
この問題を解決する為に、Raspberry Pi側にエディタを入れれば良いが、候補がviとEmacsがあったけれども、これでは小中学生にとってハードルが高すぎる。
色々と探した結果、
Micro Editorというコマンドライン上で動作するエディタに行き着いた。
Micro EditorはWindowsのメモ帳のような操作感で使用できるエディタで、小学4年生に使ってもらったところ、難なくコードを書いて実行することが出来た。
プログラミング教室でChromebook + Raspberry Piの組み合わせてコードを書き始めたら、思った以上に快適に開発を進めることがわかり、自身の開発でもこの構成で進めたくなった。
前にメインの開発機をRaspberry Pi 4Bにしてみるの記事で、Raspberry Piをメインの開発機にしてみたことがある。
開発は出来はするのだが、動作がもっさりしていて、高ストレスだった為断念して、新たにパソコンを購入した。
この時、Raspberry Piをメインの開発機にしたかった理由は、パソコンが壊れた時に安価ですぐに復旧できるようにしたいという希望があったがそう上手くはいかない。
しかし、今回のChromebook + Raspberry Piの組み合わせは、両方安価で、高速に動きストレスがかからない。
Chromebookを使っている人であれば、それであればCrostiniで事足りないか?って思うかもしれないが、Chromebookで本気で開発をしようとすると、時々Powerwash(初期状態)やCrostiniのストレージの割当による初期化を実行しなければならないので、Chromebookはターミナル的な役割に留めておきたい。
次にRaspberry Piをメインの開発機にする場合、ストレージがマイクロSDカードで信用性がないのでは?と思うかもしれない。
この問題を解消する為に、
Raspberry Pi 5にNVMeを換装して回避した。
Raspberry Pi SSD Kit 256GB — スイッチサイエンス
Chromebook + Raspberry Piでの開発で調べたことは下記のページにまとめた。
2024年12月31日現在、私が使用しているChromebookは、
ASUS Chromebook CM30 Detachable(CM3001)になる。
ドッキングステーション 4in1 HDMI(R)+LAN - DST-C29SV - ELECOM等のドッキングステーションがあれば、Board in FS modeも使用できる。
クロームブックでMicroPython用のエディタをインストールする - クロームブック