見出し画像

現時点でM1 Macはモバイルアプリ開発に使えるのか?

M1 MacBook Proを入手したので、現時点(2020/11/21)でモバイルアプリ開発に使えるのか確認してみました。

まだ数時間しか触れていない為、何かあれば都度更新していきます。

iOS/Android共通

- Fork

Rosetta上で問題なく動作しました。

- Karabiner-Elements

ユニバーサルアプリ対応済みで問題なく動作しました。

iOSアプリ

- Homebrew

Rosettaを使用してターミナルを起動することで問題なくインストールできました。

- rbenv, fastlane, cocoapods

Rosetta上のターミナルで問題なく動作しました。

(carthageはまだ試していません)

- Xcode 12

Apple Siliconネイティブでも動作はするが、iOSシミュレーターは、まだARM64のiOSシミュレーターに対応していないサードパーティーライブラリが多く、これを含めてビルドするとビルドエラーとなりました。

この問題はRosettaを使用してXcodeを起動することで回避できました。

また、Rosetta上のiOSシミュレーターも問題なく動作しました。

Androidアプリ

- Android Studio

Rosetta上で問題なく起動、ビルドできました。

- adb

Rosetta上のターミナルで問題なく動作しました。

Android 11以降で利用できるワイヤレスデバッグも問題なく動作しました。

- Android エミュレーター

CPUのアーキテクチャーが異なるため、Intel HAXMがインストールできず、エミュレーターの起動もできませんでした。

そのため、当面のデバッグは実機が必要になります。

ビルド時間

iOS/Androidのそれぞれで、同一プロジェクトのクリーンビルド時間を計測しました。

- iOS

- M1 MacBook Pro (Rosettaなし): 87.4 seconds

- M1 MacBook Pro (Rosettaあり): 157.4 seconds

- 13インチ MacBook Pro 2018 (2.7GHz Quad-Core Intel Core i7, 16GB RAM): 208.6 seconds

- 27インチ iMac 2017 (4.2GHz Quad-Core Intel Core i7, 16GB RAM): 197.1 seconds

- Android

- M1 MacBook Pro (Rosettaあり): 240.611 seconds

- 13インチ MacBook Pro 2018 (2.7GHz Quad-Core Intel Core i7, 16GB RAM): 145.45 seconds

- 27インチ iMac 2017 (4.2GHz Quad-Core Intel Core i7, 16GB RAM): 128.635 seconds

まとめ

今のところAndroidアプリの開発に関しては実機が必要ですが、それ以外は特に問題なく動作したので、日常の開発マシンとして使えそうです。

また何よりも、Intel Macよりもビルドが早く、多少の負荷を掛けてもファンが全く回らないのに驚きました。

いいなと思ったら応援しよう!