プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

エンジニアはApple M1搭載のmacを買うべきか?困ることはないか

  • 2021年6月16日
  • 2021年6月16日
  • mac
  • 795view
  • 0件
mac

はじめに

2021年現在、Apple M1 chipを搭載したmacと従来のIntel製のmacがどちらも存在しており、今後はM1へ統一されていくと予想されるが、現時点で購入を検討している方は大変迷いどころだと思います。

現時点はでM1搭載macのメモリは16GBがMax。ただM1は恐ろしく優れているのでそもそも大量のメモリを必要としないなど言われています。エンジニアとしてはどの程度サクサク動くのかは気になる部分です。youtubeで比較動画などが上がっているので検討材料にはなるものの、正直使ってみないとわからない部分も多いと思います。

上記は個人的には比較してまで早いねと実感したいわけではなく、体感で速さを感じることができれば全然問題ないです。しかし、一部のソフトウェアなどがM1チップの場合使うことができないといった場合もあるらしいです。

そこで今回は、実際にM1搭載のmacを使う機会がありましたので、普段使っているようなソフトウェアが問題なく動くかどうかといった部分を試してみました。

エンジニアが使いそうな基本的なソフトウェアでの動作確認

Google Chrome

疑ってすらいませんでしたが念のため。問題ないです。インストール時はIntel chipかApple chipかを選択できるようになっています。

docker

こちらも問題ないです。ちょっと前は使えなかった様子ですが、Chrome同様Intel chipかApple chipかを選択できるようになっています。
対応版じゃないほうのdockerを起動しようとした際にはDocker Desktop for Apple siliconをインストールしてくださいと表示されます。
さらにRosetta2のインストールが必要らしく、そちらをインストールし実行すると起動しました。

softwareupdate --install-rosetta

※ちなみにdocker-compose upをしたらMySqlのimageにて

no matching manifest for linux/arm64/v8 in the manifest list entries

とエラーが表示された。泣

docker-composeに以下を追記することで解決

db:
    platform: linux/x86_64

さらに、rubyのimageを使う際に以下のエラーが出現

Failed to initialize inotify (Errno::ENOSYS)

Apple M1でlinux/amd64 platformを使う場合に起こりえるエラーらしい。
対処法としてconfig/environments/development.rbの以下を変更

config.file_watcher = ActiveSupport::EventedFileUpdateChecker
↓↓↓↓
config.file_watcher = ActiveSupport::FileUpdateChecker

git

当然使えます

VScode

当然使えます。

Slack(ブラウザじゃなくアプリ版)

問題なく使えます

Xcode

もちろん使えるんですが、外部ライブラリの関係などによってはシュミレータの起動でエラーになることがあるみたいです。arm64のアーキテクチャとXCode12の互換性がないから?詳細はわかりませんが。

一応回避策としてはExcluded ArchitecturesのDebug,Release部分のAny iOS Simulator SDKに「arm64」を追加してあげればいいようす。

あとがき

ひとまず個人的な結論としては、一癖あるが使える。
自分がいま必要なものを書いてみましたがこれだけしかなかった…
今後なにかあれば追加していこうと思います

話はそれますがいまのairとproってほとんど違いを感じないので
何となくproのほうがいいだろって感じでわざわざ4~5万?くらいでproにする理由はないのかも。
逆にたった4~5万でproにできるならするって考えもあると思いますが。
個人的にはproはproらしく居て欲しいので、もうちょっと差別化してほしいなんて思ったり。