M1 Mac をフロントエンドの開発で使えるのか?
いま、Macbook Pro を更新するなら Intel プロセッサ のマシンか、 M1 チップ のマシンか?
スペック
13 inch Macbook Pro / Apple M1 チップ / 16GB メモリ / 512GB SSD - @192,280円
13 inch Macbook Pro / Intel Core i7 プロセッサ / 32GB メモリ / 512GB SSD - @273,680円
パフォーマンス
上記スペックだと、M1 が Intel の倍くらいパフォーマンスが出ることもありそう
値段とパフォーマンスを見ると、 M1 チップ一択だと思う
ヒアリングしてみた
社内でM1チップのマシンを使ってる人(スマホチーム)に使ってみてどうか聞いてみた。
特に困ることはない
Rosetta 2 を使ってれば互換性で困ることはそんななさそう
フルビルドの時間はあんまり変わりないような気がする(Xcode)
Node 14.16.0 までのバージョンによっては動作しないケースがある
Python 使っている場合は気をつけたほうがいいかも
ビルドタイム
規模が小さいし、環境がぜんぜん違うので比較になるかわからないが、すっからかんのM1 Macのほうが軽快だった
Intel プロセッサ: 17.99s
Apple M1 チップ: 3.72s
疑問
Node 8.x はうごくのか?
案件のうち、Node 8.x でしか動かない案件の依存関係を参考にしてサンプルプロジェクトを作ってみた
普通に何も困らず動いた(iTerm × Node 8.17.0)
Rosetta 2 とかも特に有効にしてない
code:package.json
{
"devDependencies": {
"config": "1.26.1",
"express": "4.17.1",
"lodash": "4.17.4",
"ws": "3.0.0"
}
}
code:index.js
const WebSocket = require('ws');
const _ = require('lodash');
const wss = new WebSocket.Server({
port: 4000,
});
console.log('Connection started.');
wss.on('connection', (ws) => {
ws.id = _.uniqueId();
console.log('connected socket no.', ws.id);
ws.on('message', (message) => {
console.log('receive message', message, ws.id);
ws.send('Debug! Receive message');
})
})