見出し画像

【2021年3月現在】M1 macはWeb開発現場で使えるものになってるの?

HITO-Link CRM 開発チームのhidakaです!最近すっかり春の陽気で温かく、開発しやすい日々を過ごしております。さてそんな、HITO-Link CRM 開発チームですが念願だったこいつが支給されました。

画像1

やったぜM1 macbook pro!
よく調教されたApple信者の僕にとって最高にテンションの上がる支給をいただきました。

ただ、このM1 mac、Web上では「Intel製のチップじゃなくなったから、対応ツールが少なくてまだ使えない。もうちょっと待ったほうが良い」という意見が多く、支給されるまでドキドキしてました。
(いろいろ調べましたが、ほしいと言った手前動かなかったらどうしようかと。

一旦、開発環境を構築して一週間使ってみたので、今回M1チップ対応macはWeb開発現場において耐えうるものになっているのかについて、記事にしたいと思います。

TL;DR

・M1チップ対応のmacはいろいろ爆速
・環境構築はmac経験がない人にはゲキムズになってる気がする
・Rosetta 2があるから比較的安心
・Spring(java)+Vue.jsの環境だと全然戦える
・M1対応済みのchromeを導入したが、スクロール時に度々プチフリする

もろもろ導入

Homebrew

macといったらHomebrewっすよね。こいつを使いたいがためにmacにするといっても過言ではないくらい、カナメとなるツールだと思ってます。
以下の記事を参考に導入してみました。
[参考]


[x86_64]
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
[arm64]
arch -arm64e /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

現状、macを取り巻くツールには「M1チップ対応のツール」と「Intelチップしか対応していないツール」の2パターンあります。
この方法でインストールすることで、M1チップ対応のツールは「=brewコマンド」。Intelチップしか対応しておらずRosetta2上で動かすツールは「brewコマンド」で対応することが可能になります。

$ =brew install ~~ //このコマンドでM1チップ対応ツールを導入
$ brew install ~~ //このコマンドでRosetta2上で動かすツールを導入

homebrew結論

昔は1コマンドで導入できましたが、それとくらべるとM1になっていろいろ導入がめんどくさくなりましたが余裕で戦えます。

Node.js

=brew install nodebrew

brewからnodebrewをインストールしてnode.jsを利用します。
Node.jsが今回の開発環境構築時の一番の鬼門でした。
nodebrew自体はM1チップ対応しているので「=brew」でインストールできます。しかし、node自体はnode v15以降はM1チップ対応済みなのですが、v14以前はM1チップに対応していないので、Rosseta2上で動かす必要があります。

そして、HITO-Link CRMはNode v10を利用しているので、NodeはRosseta2上で動かす必要がありました。

mkdir -p  ~/.nodebrew/src/v10.13.0
arch -x86_64 nodebrew install-binary v10.13.0 # v10 nodeはarm対応していないので(v15からM1対応とのこと。
nodebrew use v10.13.0

なので、こんな感じで導入。
arch -x86_64はRosseta2上で動かすよ〜ってコマンドになります。arch -x86_64はインストール時につければ良いだけみたいで、利用時に「arch -x86_64 npm -v」や「arch -x86_64 node -v」とする必要がなく、いつもどおり「npm -v」「node -v」で利用することが可能です。

Node.js結論

Node.jsは古いバージョンを使ってると導入は少々面倒です(入れ方が理解できれば簡単。
Rosseta2が優秀なので、Intelチップエミュレータ上で動いている感じがしないです。全然爆速。(以前の環境ではvueの起動に3分くらいかかってましたが、30秒切ってくる感じ。
余裕で戦える。

JDK

なにも考える必要ないです。

=brew tap homebrew/cask-versions
=brew install --cask adoptopenjdk11

M1チップ対応のbrewコマンドで上記コマンドを叩けば動きます。

JDK結論

余裕で戦える。

docker

dockerは現状M1チップ対応済みのものはpreview版しかないため、以下の公式サイトからダウンロードして使いました。


docker結論

docker-composeでpostgresを動かしてみた程度ですが、普通に使えます。k8sとか利用するとどうなるかは不明。最近対応したとか書いていた気がします。メジャーバージョンリリースに期待ですね。

IntelliJ

IntelliJ公式サイトからダウンロードしてきました。(IntelliJはbrewでインストールしない方が良いとどっかで聞いた記憶があるので。

画像2

現状、IntelチップとApple Siliconチップ用の2種類ありますが、「Apple Silicon」を迷わず選択しましょう。(間違ってIntelチップ用のをインストールしてしまうと、フリーズ地獄になるので注意です[経験済み]

IntelliJ結論

余裕で戦える。

Chrome

公式サイトからダウンロードします。これもIntelチップとApple Siliconチップ用の2種類あるの迷わずM1チップ版を導入します。

Chrome結論

動く!
が、1分に一回くらいスクロール時に引っかかる感覚があります。気になるっちゃ気になる。でも、問題になるってほどでもない。そんな感じ。開発者ではなくChromeメインで仕事する人はM1 mac購入は現状ちょっと考えてもいいかも。
バージョンアップに期待!って感じです。

その他

VSCode入れたり、SourceTree入れたり、Office入れたり。開発に必要な諸々ツールを入れましたがどれも完璧に動きました。CRMのSpring+vue.jsの開発環境では問題は何一つなくオールクリアです。

まとめ

無事開発環境も整い、1週間M1 mac使ってましたが、「爆速」の2文字につきます。今までspringの起動に3分~4分かかっていたところが30秒満たないようになったり、ものすごく時間がかかるので、今まであんまりやってこなかったローカルでのall test実行とかもストレスフリーに実行できるので、ガンガン実行したり。

☆最高です☆
(思考の速度でコードが書ける環境です!

プライベート開発環境は1年ほど前のモデルのCPUi7、メモリ16Gカスタマイズ済みmacbook pro(当時30万)使ってるのですが、それより早いんじゃね?と思わせてくれる爆速っぷり。そして爆速かつ発熱も全然ない印象です。
(以前のmacは発熱やばく。ターボブート切らないと、なんかいつもファンが回っている印象でしたが、M1 macは何もしなくても全然Hotにならない。

以上です。
この記事を読んでいただいて、「M1ちゃんと動くかわかんね。怖いからもうちょっと待とう」と思っていた方が少しでもM1 mac購入に踏ん切りがつけるようになれば幸いです。

▽HITO-Link CRMについて

▽弊社コミュニティのエントリーフォームです


この記事が気に入ったらサポートをしてみませんか?