開発マシンとして Chromebook を利用する

私は５年前から Chromebook を愛用しています（手放していた期間もありますが）。

https://qiita.com/mitsuharu_e/items/3902a7f6e83ee10d72ba

Chromebook は名前のとおり Chrome しか動かないノートパソコンであり、学校などで教育目的として利用されることが多いです。なんだホビー向けか、と思うかもしれませんが、この Chromebook は Linux が動きます。そう、立派な開発マシンですね。

:::note info
初期設定では Chromebook の Linux は無効になっています（執筆時）。Linux を利用する場合は、手動で有効にします。Chromebook 自体の説明は省略します。
:::

## VS Code のインストール

開発にエディターは欠かせません。私は日頃 Visual Stduio Code（VS Code）を愛用しているので、Chromebook でも利用します。VS Code は公式サイトから deb ファイルをダウンロードできます。

https://code.visualstudio.com/download

そのダウンロードしたファイルを「ファイル」アプリからインストールします。

![install-vscode](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24345/af005689-747c-311a-9576-d03ca59b12b5.png)

または、コマンドからでもインストールできます。

```shell
sudo apt install ./<file>.deb
```

VS Code の他に、vi や emacs のインストールも出来ます。推しエディタを入れてください。

## anyenv

各種の開発環境構築に anyenv を利用しています。

https://github.com/anyenv/anyenv

これも簡単にインストールできます。

```shell
git clone https://github.com/anyenv/anyenv ~/.anyenv
```

忘れずに環境設定をしましょう。

```shell
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
```

初期コマンドを実行すれば、目の前の Chromebook はもう立派な開発マシンです。

```shell
~/.anyenv/bin/anyenv init
```

### ツールやプラグイン

Ruby と Node を利用したいので、それぞれの env をインストールしました。

```shell
anyenv install rbenv
anyenv install nodenv
```

細かいバージョン管理は面倒なので、便利なエイリアスもインストールしました。

```shell
git clone https://github.com/tpope/rbenv-aliases.git $(rbenv root)/plugins/rbenv-aliases
rbenv alias --auto
```

https://github.com/tpope/rbenv-aliases

```shell
git clone https://github.com/nodenv/nodenv-aliases.git $(nodenv root)/plugins/nodenv-aliases
nodenv alias --auto
```

https://github.com/nodenv/nodenv-aliases

エイリアスに関しては、記事を以前書きました。

https://qiita.com/mitsuharu_e/items/d7005c52c9910ca0d366

あと、プラグイン anyenv-update もインストールしました。最新バージョンをインストールするとき、それぞれの env を一括で更新できるので便利です。

https://github.com/znz/anyenv-update

```shell
mkdir -p ~/.anyenv/plugins
git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update
```

### Ruby をインストールする前に

rbenv を利用して Ruby をインストールしますが、必要なコマンドがないのでインストールで失敗します。

- gcc がない

```shell
sudo apt install build-essential -y
sudo apt install gdb -y
```

- zlib がない

```shell
sudo apt install libz-dev
sudo apt install libyaml-dev
```

- oppenssl がない

```
sudo apt install openssl
```

apt install でインストールされる oppenssl のバージョンは v1 と古いという記事を見ましたが、私の環境では 3 系がインストールできたので、問題ありませんでした。

```
$ apt show openssl
Package: openssl
Version: 3.0.15-1~deb12u1
```

## 開発マシンになった Chromebook

私がいま持っている Chromebook は [IdeaPad Flex 3i Chromebook Gen 8 (Intel)](https://www.lenovo.com/jp/ja/p/laptops/ideapad/ideapad-flex-3-series/ideapad-flex-3i-chromebook-gen-8-(12-inch-intel)/len101i0086) です。主なスペックはモニター 12 インチ、CPU Intel N100、ストレージ 64GB、メモリ 4 GB、Wi-Fi 6 です。日常的に使ってますが、ストレスなく動いています。私はあまり利用しませんが、モニターをそのまま開き切ると、タブレットとしても利用できます。

### 開発環境

現在、私の Chromebook の主な開発環境は次のとおりです。ちょっとしたコード検証や、モバイルアプリ開発を行っています。

![terminal](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24345/6feaef98-feac-2d3a-33f0-9413b049017b.png)

### モバイルアプリを開発する

CPU の Intel N100 は第 7, 8 世代の Core i5 相当の性能と言われてます。しかし、搭載されたメモリの量なども含めて、最近の一般的なモバイルアプリ開発マシンと比べるとスペックは不安です。いや、そもそもモバイルアプリ開発は Swift や macOS がないと iOS アプリが開発できないのでは？と思うでしょう。

その環境でも私はモバイルアプリを開発しています。なぜかというと React Native + Expo の開発をしているからです。プロジェクトは JavaScript / TypeScript のソースコード（テキストファイル）のみ、そしてビルドはクラウド上で行われるからです。Expo 便利やわ…

<iframe width="560" height="398" src="https://www.youtube.com/embed/MrjwcnAPepw?si=meSsphad6nGOe33c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

これは、2024/11/29(金) の [関西モバイルアプリ研究会A #6](https://kanmoba.connpass.com/event/335826/) で発表しました。

https://speakerdeck.com/mitsuharu/2024-11-29-make-ios-app-without-mac

### 閑話休題

ここ数年の MacBook は高額です。モバイルアプリの新卒エンジニアは減少傾向ですが、その MacBook の値段が原因の１つではないかと思っています。学生がモバイルアプリ開発に触れる機会が減ったからではないのか。

この安価な Chromebook はモバイルアプリの開発に興味を持つキッカケを与えるのではないかと期待します。ただし、あくまで RN + Expo なので、我々が欲するネイティブのモバイルアプリのエンジニアには成らない…かも。

## まとめ

MacBook の価格が気になる現在ですが、Chromebook は比較的安価で買えるの気軽に使えます。ベットの上や布団の中でゴロゴロしながら、旅行中の新幹線の中など、ちょっと気楽に使えるので、おすすめなノートパソコンです。

私が持っている機種はエントリーモデルですが、最近は Chromebook Plus といった上位モデルも販売されています。スペックが上がるので、開発の幅が広がります。ただ、一部の機種は 10 万円ぐらいするので、それなら、中古の Windows や MacBook を狙うのもよさそう。

ちなみに、Chromebook は開発だけじゃなく、本来の Chrome を動かすマシンとしても優秀です。私が持っている機種のコアは ARM 系ではなく Intel を採用していますが、バッテリーの持ちが良く、YouTube や YouTube Music の再生機器として重宝しています。

なお、Chromebook は開発マシンとして優秀ですが、実際の開発は MacBook と併用しています。もし開発会社で Chromebook がメインの開発業務マシンとして支給されたら、転職します。