始めに
Chromebook愛用者向けの記事です。
Chromebook大好き。WindowsよりもUbuntuよりもArchよりもMacよりも好き。
シンプルで使いやすくてすごくいい。
そう思ってやまないのですが、プログラミングに関しては色々と悩むことが多く困ってました。
Chromebookのプログラミング環境について
とりあえず現状とりうる手段と感じたメリット、デメリットを挙げてみます。
-
Cloud9
等のクラウドIDEを使う- メリット:特にローカルにインストールはいらない。(Chromebookらしい!!)
- デメリット;対応した言語以外を使うのがきつい。スペックが低い。スペック上げると案外値段が高い。
-
crouton
でローカルにUbuntuをインストール- メリット:Cloud IDEでは対応していないような言語にも対応できる(Elixirとか)
- デメリット:ローカルの管理が面倒くさい。Ubuntuが起動しなくなることもある。本体であるChromeOSと別に設定しないといけない。ディスク領域が足りない。
- 開発者モードでないとならない。(ブート時の開発者モードの表示が嫌だ。ChromebookはなるべくImmutableにしたい。)
-
chromebrew
でローカルにコマンドを色々インストール- メリット:ChromeOSのまま開発ができる。
- 色々動かないものがある。動かすのに苦労するものもある。ディスク領域が足りない。
- 開発者モードでないとならない。(ブート時の開発者モードの表示が嫌だ。ChromebookはなるべくImmutableにしたい。)
-
SecureShell
でVPS等につなげる- メリット:VPSなので、マシンの構成やスペック、インストールするものに関して自由にできる。
- デメリット:SecureShellが使いづらい。暗号鍵の管理が面倒。
それではGoogle Compute Engineはどうなの?
Chromebookでのプログラミングでとれる手段を色々挙げてみましたが、Google Compute Engineを使うとどうなるのか。
そもそもGoogle Compute Engine(以下GCE)は__IaaS__の一種です。(AWS EC2と同じ)
そのため、GCEを使用する方法は、上述の「SecureShellでVPS等に繋げる」の代替にあたります。
ただ、メリットを挙げると以下のものが挙げられます。
- 料金が安い。
- 無料インスタンスもあるし、プリエンプティブVMが安い(https://cloud.google.com/preemptible-vms/?hl=ja)
- プリエンプティブVMなら24時間でシャットダウンするので、うっかりマシンを起動しっぱなしというのも防げる。
- 使わないときにマシンをシャットダウンしておけば安く済む。
- 接続がお手軽
- ブラウザのGCE管理コンソールから、ボタンひとつで、SecureShellみたいなターミナルを開いてSSH接続できる。
- ボタン一つでアクセスできるので、暗号鍵の管理に悩まずに住む
- ターミナルが使いやすい
- SecureShellより設定が使いやすく感じた。
- Ctrl + Wで単語を消そうとしてうっかりブラウザを閉じる問題も、Google公式で出しているChrome拡張を入れれば単語が消えるようになる。(設定に拡張へのリンクが載ってる)
- その他のGoogle Cloud Platformとかのサービスと連携できる
-
gcloud
コマンドを打てる無料の専用VMが用意されている。それを使ってGoogle Cloud Storage
にアクセスできたりする。
-
結論
とりあえずCloud IDEで済む分にはそっちを使って、色々柔軟にやりたいときはGCEを使うようにしました。
実際に使用する際は用途ごとにマシンを作って、共通のdotfilesをCloud Source Repositories
(Google Cloud Platformにあるgitのプライベートリポジトリ)に入れて管理してます。
みんなGoogleで統一したいって気持ちもあるしね。
ただ、これだ!!と思って記事を書いてみたものの、まだあまり長く使ってないのでもう少し使い込んだら改めて記事にしようかなと思っています。