
Modulární monolit vs mikroslužby. Jak zvolit architekturu
Mikroslužby kupují nezávislost změn za skutečnou provozní cenu. Porovnejte hranice, vlastnictví, data, nasazování a signály pro oddělení služby.
Shopify 10. září 2026 oznámil, že jeho mobilní aplikace se po pěti letech na React Native vracejí do Swiftu a Kotlinu.
Důvod, který Mustafa Ali uvedl, stojí za to přečíst si dvakrát. Agenti podle něj dnes zvládnou dost z implementace, překladu mezi platformami, testování a review na to, aby sdílený kód přestal být tím rozhodujícím faktorem, jakým byl v roce 2020.
O výkonu v tom oznámení není ani slovo. Načasování přitom nebylo náhodné, tým tak jako tak stál před migrací na novou architekturu React Native a místo ní zkusil, co agenti zvládnou rovnou v SwiftUI a Jetpack Compose. Shopify si v roce 2020 koupil sdílený kód proto, aby neplatil dvakrát za stejnou obrazovku. Teď mu vyšlo, že ta druhá platba zlevnila natolik, že se za ni už nevyplatí držet vrstvu navíc.
Jeden inženýr strávil týden tím, že pouštěl kódovací agenty na React Native kód a nechal je vyrobit iOS verzi. To stačilo k rozhodnutí. Pak šest lidí postavilo základy a hlavní uživatelské cesty, produktové týmy se přidaly v polovině, a Shopify měl nativní aplikaci Shop v obou obchodech dvanáct týdnů po tom prototypu.
Čísla před přepisem a po něm vypadají takto.
Na menší obrazovce posuňte tabulku vodorovně.
| Metrika | React Native | Nativně |
|---|---|---|
| Studený start na iOS | 3200 ms | 2466 ms |
| Studený start na Androidu | 4433 ms | 2233 ms |
| Velikost appky na iOS | 67 MB | 68 MB |
| Velikost appky na Androidu | 293 MB | 184 MB |
Release build na Androidu se zkrátil zhruba o 75 %, na iOS zůstal stejný. Stabilita relací stoupla z 99,5 % na 99,95 %, což je desetkrát méně relací končících pádem. Feed na Androidu běží podle Shopify na Pixelu při 120 snímcích za sekundu.
Těžší je ta druhá aplikace, obchodnická. Přes 300 obrazovek, widgety na plochu i na zamčenou obrazovku, aplikace pro Apple Watch s komplikacemi, Siri Shortcuts. Přepisuje se právě teď a má přijít později letos.
Každá abstrakční vrstva je obchod. Platíte za ni režií, závislostí na cizím roadmapu a jednou vrstvou navíc mezi sebou a platformou. Dostáváte za to ušetřenou práci. Když cena té práce klesne, hodnota vrstvy klesne s ní, ale režie zůstane přesně tam, kde byla.
React Native se nezhoršil. Zlevnila druhá strana téže rovnice. Stejná úvaha stojí za každou volbou, kde se rozhodujete, kolik z výsledku chcete vlastnit a kolik odevzdáte frameworku. Psali jsme o ní u Next.js a htmx a tam vyšla jinak.
Tohle většina shrnutí přeskočila a je to užitečnější než samotné rozhodnutí.
Agenti měli předlohu. Shopify to píše otevřeně, dařilo se jim tam, kde mohli číst existující implementaci. Přenos obrazovky z React Native do SwiftUI je porovnávací úloha. Stavět na zelené louce bez předlohy je úplně jiná disciplína s úplně jinou úspěšností.
Zbytek je tooling a ten je tady vlastně hlavním produktem. Migrační workflow běží jako rozšíření kódovacího agenta Pi, kde specializovaní subagenti čtou React Native zdroj, zapíšou jeho chování, připraví plán pro konkrétní platformu, implementují ho a nakonec kontrolují paritu. Plán schvaluje člověk a to schválení je navázané na hash jeho obsahu, takže jakákoli změna plánu ruší předchozí souhlas. Systém Helix pak drží tempo po malých krocích, vývojář ho nasměruje na jednu obrazovku a zpětná vazba z každého review se pamatuje, takže čím dál migrace postoupí, tím méně dozoru potřebuje. Na ladění si postavili Tardis, který dá agentovi strukturovaný přístup k událostem, logům a stavu běžící aplikace i možnost posílat jí příkazy.
A pak je tady jedna věc, kterou si můžete vzít i bez jejich rozpočtu. Byznysovou logiku oddělili od UI tak, aby běžela headless na desktopu, a zpřístupnili ji agentům přes CLI. Iterace klesla z minut na milisekundy a simulátor do toho vůbec nevstupuje. Architektonicky je to stará známá věc. Přesně ta vlastnost, která dělá kód testovatelným, jen jí přibyl druhý odběratel.
Vygenerovaný kód u nich splnil zadání a vedle toho přinesl duplicitu, architektonický posun nebo výkonnostní problém. Nativní expertiza proto zůstala nezbytná a review, linting, statická analýza i výkonnostní kontroly zůstaly na lidech. Píše to Shopify, ne já.
Parita se přesunula. Dvě kódové báze znamenají, že iOS a Android musí být funkčně shodné pořád, a drží to proces vývoje a release namísto kompilátoru. Ta práce nikam nezmizela, jen ji teď platíte v koordinaci.
A měřítko není naše. Shop app je pětiletý produkt ve firmě, která má mobilní platformovou skupinu i tým na vlastní agentový tooling. Kdo to oznámení čte jako povolení přepsat svou aplikaci, čte ho špatně. Kdy se mobilní aplikace vůbec vyplatí, jsme rozebírali v samostatném článku.
U každé vrstvy, kterou v systému máte proto, abyste nemuseli psát kód, se zeptejte, kolik by stálo napsat to bez ní. Ne jestli je ta vrstva dobrá. Kolik stojí alternativa. To číslo se za poslední rok pohnulo a většina firem ho naposledy počítala v době, kdy platily jiné ceny. Stejnou otázku jsme rozepsali i pro low-code a krabicové systémy.
Druhá otázka je tvrdší. Pokud se v odpovědi spoléháte na agenta, máte z čeho vycházet a umíte v sekundách ověřit, že výstup sedí? Bez toho jste zpátky na lidské rychlosti, jen s větším objemem kódu na review.
U klienta bych proto nikdy nezačínal mobilní aplikací. Začal bych tam, kde se obě ty podmínky splní samy. Integrace proti dokumentovanému API. Generátor výkazů, jehož výstup umíte řádek po řádku porovnat se starým. Odchod z frameworku, který už nikdo neudržuje, kde staré chování je zadání. Tyhle tři věci tvoří většinu toho, co děláme při vývoji softwaru na míru.
Titulek o souboji frameworků je z celého oznámení to nejméně zajímavé. Shopify řekl něco přízemnějšího a užitečnějšího. Jedna položka v jejich rozpočtu zlevnila natolik, že se vyplatí přepočítat zbytek. Většina vrstev, které váš tým dnes používá, ten přepočet přežije. Jedna nebo dvě nepřežijí a právě ty stojí nejvíc.

Mikroslužby kupují nezávislost změn za skutečnou provozní cenu. Porovnejte hranice, vlastnictví, data, nasazování a signály pro oddělení služby.

Porovnejte Next.js s Axum, Askama a htmx podle stavu v prohlížeči, kontraktů, cache, nasazení, bezpečnosti, mobilních klientů a předání.
Tři odstavce vyrobily 55 000 řádků herního kódu a skóre 5,05 z 10. Metoda za tím funguje i na firemních výstupech a nejužitečnější jsou právě ta upřímná čísla.