MacOS s čipem M1 - nejlepší vývojové prostředí pro vývojáře?

Lubomír Blažek — 31. Květen 2021
Výběr operačního systému pro vývoj softwaru může být často pěkným oříškem. Na trhu nalezneme hned několik systémů, mezi kterými se lze rozhodovat. Linux a nespočet jeho distribucí, Windows a také nesmíme zapomenout na MacOS. Jenže jaký systém je pro vývojáře ten nejlepší?

Výběr operačního systému pro vývoj softwaru může být často pěkným oříškem. Na trhu nalezneme hned několik systémů, mezi kterými se lze rozhodovat. Linux a nespočet jeho distribucí, Windows a také nesmíme zapomenout na MacOS. Jenže jaký systém je pro vývojáře ten nejlepší?

Pokud se budeme bavit o vývoji počítačových her, tipovali bychom, že zde převládá operační systém Windows. V rámci testingu mezi jednotlivými platformami je ve vztahu počítač a konzole opravdu tou nejlepší volbou.

Pro webové vývojáře a vývojáře aplikací je to už poněkud složitější výběr. Já osobně jsem prostřídal všechny systémy a musím říct, že zde je prostě jasný vítěz MacOS. Ve chvíli, kdy totiž dojde na to, aby měl vývojář k dispozici úplně veškerý software nutný k vývoji webů a aplikací, tak opravdu jediná platforma, která mu toto nabídne je právě MacOS. Pojďme si srovnat jednotlivé platformy a říct proč tomu tak je.


Windows

Býval to opravdu nejhorší operační systém pro vývojáře, ale už tomu tak dávno není. S příchodem Windows 10, WSL2 a Windows Terminálu je to opravdu přívětivé prostředí. Osobně systém používám doma dodnes a to jak pro vývoj, tak i na hraní her.

Nástroje a aplikace - 2/5

Má to však své nevýhody. Existuje sice Linux pomocí WSL2, ale to je nutné doinstalovat. Následně pak také hledat, jak se co dělá a to může být často otravné. Pozor! Zde je nutné vše ukládat a pracovat se soubory výhradně v Linuxové souborové struktuře, protože načítání souborů přímo z Windowsové struktury je pomalé. Mnohých dalších vylepšení pro WSL2 bychom se měli však dočkat koncem roku 2021 v podzimní aktualizaci, např. zjednodušené instalace.

Čistá instalace Windows také přijde se spoustou bloatware, což je však stále lepší, než co to bývalo. Celkově lze řici, že než si člověk připraví dobré vývojové prostředí, tak to zkrátka chvilku trvá.

Takže s čím webový vývojáři mohou vyvíjet na tomto operačním systému? Git, Docker, XAMP, Composer, Java, Kotlin, Node.js, Python, PhpStorm, Visual Studio Code - vlastně všechno je víceméně možné, tady problém není. Teda pokud nejste frontendista a potřebujete testovat věci na Safari, oops.

Co takhle vývojáři mobilních aplikací? Android Studio a Xcode? Xcode bohužel pro Windows není, takže pokud chcete vyvíjet aplikace na MacOS a iOS, tak máte víceméně smůlu. Sice se dá MacOS virtualizovat přes VMWare, ale jde to čím dál hůře.

Vývojáři desktopových aplikací to mají obdobné, ale při tvorbě multiplatformních aplikací je možné používat jakýkoliv operační systém. Avšak ani tady Windows neexceluje právě kvůli složité virtualizaci MacOS.

Pokud někdo vyvíjí např. jen backend, tak mu to může stačit. S WSL2 a využitím Linuxových příkazů ve Windows Terminálu se pracuje dobře. Do toho přidáme virtualizace přes Docker nebo VMWare a docela to jde, ale není to prostě kompletní řešení.

Uživatelské prostředí - 4/5

Tady není co řešit, Windows 10 má dobré uživatelské prostředí a pracuje se s ním docela dobře a to včetně práce s více monitory. Na plné hodnocení to není, protože tu jsou stále některé nedostatky jako například části legacy systému jako Windows Explorer.

Linux

Je to prostě vývojářský systém, co si budeme namlouvat. Pro vývoj v práci jsem ho začal používat od konce roku 2019 a vydržel jsem na něm cca rok a půl. Avšak zkušenosti s Linuxem jsem měl už dlouho předtím.

Přechod z Windowsu na Linux byl opravdu osvěžující, v tom systému se opravdu dělá všechno tak jednoduše, všechno jde customizovat a žádný bloatware nehrozí. Jako distribuci jsem si vybral Ubuntu, a to kvůli stabilitě a zkušenostem se správcem balíčků. Každopádně mezi mé favority patří i Solus.

Pro backend vývojáře je to asi určitě lepší volba než Windows, ale furt to nemusí být pro všechny.

Nástroje a aplikace - 3/5

Tady je situace obdobná jako na Windows, dá se tu nainstalovat vše. Nástroje, virtualizace, aplikace - vlastně to samé jako na Windows, ale většina věcí už je v základu a jejich instalace je mnohem jednodušší.

Vládne tu ale stejný problém jako na Windows a to vývoj pro MacOS a iOS a mezi další obrovské nevýhody patří nedostupnost mnoha aplikací co jsou právě pro MacOS i Windows. Mezi ně patří například Adobe programy, Docker Desktop aplikace a mnoho dalších.

Uživatelské prostředí - 5/5

Tady Linux exceluje, Gnome jako prostředí je prostě nejlepší. Zejména s příchodem Gnome 40 ještě lepší. Plynulé ovládání, výbornej prohlížeč souborů s rychlým a intuitivním ovládáním, obrovská customizace prostředí jako takového, práce s okny a mnoho dalšího.

MacOS

Rovnou přiznávám že k MacOS jako operačnímu systému jsem měl vždy nejdál a chtěl jsem se mu vyhnout. Nicméně postupem času a s příchodem nových verzí to s ním začalo vypadat lépe a lépe. Navíc s příchodem M1 čipu je to pro vývojáře opravdu nejlepší platforma, a to bez debat.

M1 čip nabízí opravdu bezkonkurenční rychlost v poměru cena a výkon. Mac Mini se dá sehnat do 30 tisíc, což je za tu cenu upřímně hodně dobrý. Obdobnou konfiguraci v takové malé velikosti s klasickými procesory zkrátka nenajdete.

Někdo se bojí kompatibility softwaru s novým čipem, ale není k tomu důvod, všechno šlape krásně. Proč jsem teda vlastně přešel z Linuxu na MacOS? Kvůli kompletnímu řešení nástrojů a aplikací. Už na MacOS pracuju cca 3 měsíce a opravdu to za to stojí.

Nástroje a aplikace - 4/5

MacOS má všechno a vše navíc jednoduše instalovatelné přesně jako na Linuxu, stačí si nainstalovat Homebrew a přes terminál můžete prakticky nainstalovat cokoliv.

Git, Docker, XAMP, Composer, Java, Kotlin, Node.js, Python, PhpStorm, Visual Studio Code, Android Studio, Xcode, Windows a Linux přes Parallels, Spark, Safari, Chrome, Firefox, Avocode, iTerm, Adobe, Filezilla, Pages, Keynote, TextEdit, Atom.

Ať děláte webové aplikace, mobilní aplikace, desktopové aplikace, tak s ničím není problém. Všechno tu je, snadno instalovatelné a vše funguje a to i s čipem M1. Ještě k tomu neuvěřitelně rychle.

Je tu i snadná virtualizace všech možných operačních systémů - iOS, Android, Windows i Linux a běhá to všechno krásně rychle. Musím podotknout že u Androidu je virtualizace pro čip M1 ještě v Betě.

Tak proč zde není plné hodnocení? Vždyť to všechno zní tak skvěle. Protože Apple. V Linuxu jsou vývojáři na prvním místě. Microsoft se poslední dobou o vývojáře také stará výborně a dává jim snadnou integraci přes Windows Terminal až po WSL2. Apple v tomhle ohledu někde zaspal. A po přechodu z těchto dvou systémů mě to docela mrzí, tak blízko k perfektnosti.

  • Zastaralý terminál - sice tu je alternativa přes výborný iTerm, ale proč by to člověk nemohl mít skvělé už v základu, navíc absolutně chybí integrace ve Finderu, nejdou v něm spouštět aplikace a tak dále.
  • Finder - prohlížeč souborů v MacOS, nemá integraci terminálu a s vyhledáváním a práci v průzkumníku na Linuxu v Gnome prostředí se to nedá srovnávat.
  • Klávesnice - jsem zvyklý programovat s českou klávesnicí a to je na MacOS fakt problém, protože prostě to není jak na Linuxu a Windows. Tady vhodné rozložení chybí. Sice to lze doinstalovat přes appku jménem Ukulele, ale je to docela otravné a další věc jsou klávesy home a end, ty fungují hodně pochybně a jen v některých aplikacích.

Uživatelské prostředí - 4/5

Hodně srovnatelné s Gnome na MacOS, avšak má své nedostatky.

Práce s okny je strašná, pokud si nenainstalujete aplikaci třetí strany, tak nemůžete přichytávat okna. To by snad měla být v dnešní době samozřejmost a MacOS tohle nemá v základu. Musíte si nainstalovat aplikaci třetí strany, např. Rectangle.

Práce s více monitory je taky nic moc. Dock nelze nastavit aby se zobrazoval na obou obrazovkách a jeho skrývání není obzvlášť chytré. Toto funguje v Gnome mnohem lépe.

Zvětšování oken je taky docela nešťastné, chápu funkcionalitu fullscreenu, ale když mám na jednom okně fullscreen aplikaci a na druhém okně malou kalkulačku a nemůžu ji přetáhnout přes tu fullscreen aplikaci tak to je opravdu hloupé.

Snad se na tyto nedostatky Apple v budoucnu zaměří, protože nebýt těhto drobností, tak jde opravdu o nejlepší systém na práci pro vývojáře. A pokud někdo chce řešení, kde je jednoduše všechno, tak můžu jedině doporučit.

Další operační systémy

A co takhle další operační systémy? Chrome OS nebo iPad OS?

Pro vývoj opravdu ne. V Chrome OS lze sice integrovat Linux, ale plnohodnotný operační systém to zatím není.

Lubomír Blažek
Technical Director

Má rád aplikace, má rád aplikování nových technologií, má rád cukr a kvalitní zadání. Luboš rád přispívá o novinkách a věcech, které každý druhý nemá.