Huawei Mate 10 Proでのローカル開発環境
Mate 10 ProのデスクトップモードでTermuxを利用すると日本語が入力できないという問題。その後色々試してはみたけど結局今の所解決策はなさそうな感じ。
日本語入力以外ではそれなりの開発環境は構築できそうなので、Termux内のVimエディタを利用するのはやめて、他のエディタアプリを利用してみることに。TermuxはMate 10 Proのストレージにもアクセスできるので、エディタアプリで編集した上でTermuxから読み取るというやり方で。
アプリの選定にあたっての条件は以下の通り。
1)Mate 10 Proのデスクトップモードで起動すること
2)外付けキーボードで日本語が入力でき、キーボードショートカットやコピペができること
3)シンタックスハイライトされること
4)Mate 10 Proのストレージの任意のディレクトリにファイルが保存できること
5)フォントサイズ、テーマが選べること
とりあえず使ってみたのは、Google Playでも評判の良かったQuickEditというアプリ。無料版と有料版があるけど、まずは無料版で試してみる。
デスクトップモードでの起動
全画面モードでの起動も、任意のウィンドウサイズへの変更もできる。タブも利用できるので、いくつかファイルを開きながらエディットするという使い方もできる。
無料版と有料版との差分は広告が表示されることだけで、機能的な差分は見つけられなかった。デスクトップモードで利用すると広告が表示されるのはファイルを保存した時だけとなっていて、入力している分には有料版なのか無料版なのかを意識することはなさそう。
ファイルを自動保存に設定すると、広告は表示されず、明示的にファイルを保存する時以外は広告を目にすることはない。頻繁にControl+sで保存する癖があると毎回ポップアップ広告が出てきくるので、自動保存にしておいたほうがストレスは少ない。
外付けキーボードの利用
アプリケーション内での文字のコピー&ペーストや、他のアプリでコピーした文字列もペーストできる。もちろんキーボードだけで文字の選択や選択した文字列に対してキーボードショートカットも利用できるので、マウスを利用するシーンは減りそうな印象。HHKBを使ってざっと試したところ、Control+a、Control+c、Control+v、Control+x、Control+zなど頻繁に利用するショートカットは使える様子。日本語の入力に加えてメニュー関係も日本語になっているのも直感的に操作する上でのメリット。
シンタックスハイライト
シンタックスハイライト可能な言語は数多くあって代表的な言語はほぼ網羅されている様子。
プログラミング言語だけではなくMarkdownやHTMLにも対応しているので、ブログの下書きやメモに使ってもよさそう。エディタのアプリない設定で改行コードはAndroid/Linux/macOS、文字コードはUTF-8に指定すると変なエラーは起きずに済むので事前に設定しておくといい。
ファイルの保存場所
DropboxやOneDrive、GoogleDriveなど一般的なクラウドストレージサービスの他、今回の目的だった本体ストレージの任意のディレクトリにもファイルを保存することができ、クラウドを介さなくてもMate 10 Proで書いたコードをMate 10 Proで実行できるようになる。
フォントサイズとテーマ
テーマは明るいテーマ、暗いテーマ、ブラックテーマの3種類から選択することができる。このなかで最も眼に優しそうな暗いテーマが長時間使っいても疲れにくそうな印象。
フォントサイズは8-56の間で選択できるので実用にあたっての過不足は感じられない。
その他文字列の検索、置換、指定行番号へのジャンプ、Markdown、HTMプレビューなどエディタとしては必要十分といったところ。入力した文字数が確認できないのは残念な点だけど、文書作成を目的としているわけではなく、コードエディタと割り切れば、行数が常時確認できるだけでいいのかも。
ということで、エディタは良さそうなので、適当にコードを書いてみてMate 10 Proでコードが動くことを確認してみる。
シェルスクリプトと、Python、RubyでやってみたがQucikEditで作成したコードを保存してTermuxで実行すると期待したとおりに出力される様子。
まとめ
MacやWindowsに比べて色々と制限はありそうだけどMate 10 Proでローカルでそれなりの開発環境を整えることはできそう。NginxやRuby on Railsもインストールして利用できそうなので、それは追々試していく。プログラミングを始めるにあたって、いちばんの難関である環境構築がAndroidを使えばアプリをインストールするだけで、整ってしまうというのは素晴らしい。
家やホテル、コワーキングスペースでは外部ディスプレイ、キーボード、マウスと接続し、移動中にはスマートフォンの画面でと、全く同じ環境で作業できるのはiOSと比べてAndroidの大きなメリットではないかと感じる。まだまだ技術的に超えるべき課題はあるけど、CPUもストレージも、メモリもラップトップの性能をに追いている状況ということもあり、スマートフォンだけで仕事をするという時代もそろそろ現実的になってきたのではないだろうか。