Co sądzicie o nowym M1 w MacBooku.
Czy Platforma Railsowa nie będzie miała żadnych problemów w działaniu w nowej architekturze.
Zastanawiam się nad wyborem - stary Intel czy tez nowy M1
Największą niewiadomą na M1 jest Docker.
Jednak jeśli nie zamierzasz go używać, wygląda na to, że wszystko działa w porządku:
Do Facebooka będzie się nadawał, z emulacją x86 już wiele ludzi pisze że są mega problemy
Pod Rosettą wszystko działa bez problemów (V8, node, OpenJDK, libxml, etc). Udało mi się skomplikować cały stack, którego używam, łącznie z GEMami, które korzystają z binarnych zależności. Wszystkie testy aplikacji, z których korzystam przechodzą w 100%, łącznie z Selenium (chromedriver). Mimo emulacji wszystko działa szybciej niż na 2 letnim Pro z i7. W całym setupie, z którego korzystam (Ruby/Rails, Clojure) nie trafiłem na nic, co by sprawiło jakiekolwiek problemy.
Mam też drugie Homebrew + rbenv kompilowane bezpośrednio na arm64 i tu niestety jest nadal sporo ostrych krawędzi. Udało mi skomplikować Ruby (2.7.2 i 3.0.0-preview1), Postgresa, spora część binarnych zależności również przeszła. Niestety są pewne elementy, których nie udało mi się na razie ruszyć (np. Redis, tu problemu dużego nie ma, bo to usługa - można używać wersji x86). Z blokerów - nie działa mi nadal libsodium i kilka innych drobiazgów. Ogólnie nie wygląda to źle, ale na natywne środowisko trzeba będzie jeszcze trochę poczekać. Na szczęście do tego czasu można normalnie pracować w emulacji.
Co do samego rozwiązania - gorąco polecam nie pakować się już w Intela. Jakiekolwiek problemy są minimalne i pewnie chwilowe. Komputer działa cicho, szybko, nie grzeje się, godzinami trzyma na baterii.
Lista kompatybilności Homebrew: https://github.com/Homebrew/brew/issues/7857
Tu jest też ciekawy wątek na temat grania na M1: https://www.reddit.com/r/macgaming/comments/jwi8wt/apple_m1_gaming_spreadsheet/
W ramach podsumowania tego jak dobrze została zrobiona ta emulacja wrzucam wypowiedź developera CrossOver:
I can’t tell you how cool that is; there is so much emulation going on under the covers. Imagine - a 32-bit Windows Intel binary, running in a 32-to-64 bridge in Wine / CrossOver on top of macOS, on an ARM CPU that is emulating x86 - and it works! This is just so cool.
Zamówiłem sobie macbook pro z M1, natomiast to nie będzie dla mnie maszyna “produkcyjna” do programowania. IMHO jak komuś się nie pali, to warto poczekać na kolejne komputery z M1 (prawdopodobnie inna buda + mocniejsze procki + wincej RAMu).
Kupiłem z dwóch powodów:
- pracuję na air, który już jest za słaby nawet do pracy biurowej (mocno obciążony chrome)
- traktuję pro z m1 jako kompa testowego, żeby ewentualnie wprowadzić te sprzęty w firmie
- nie ma sensu już inwestować w intela, Apple to nie Microsoft, migracja na nowe procki będzie raczej szybka
Polecam obejrzeć https://www.driftingruby.com/episodes/a-rubyist-s-apple-m1-review, ziomek pokazuje jak zrobił setup RoR na M1.