
Modulárny monolit vs mikroslužby. Ako si vybrať architektúru
Mikroslužby kupujú nezávislosť zmien za reálnu prevádzkovú cenu. Porovnajte hranice, vlastníctvo, dáta, nasadzovanie a signály na oddelenie služby.
Shopify 10. septembra 2026 oznámil, že jeho mobilné aplikácie sa po piatich rokoch na React Native vracajú do Swiftu a Kotlinu.
Dôvod, ktorý Mustafa Ali uviedol, stojí za prečítanie dvakrát. Agenti podľa neho dnes zvládnu dosť z implementácie, prekladu medzi platformami, testovania a review na to, aby zdieľaný kód prestal byť tým rozhodujúcim faktorom, akým bol v roku 2020.
O výkone v tom oznámení nie je ani slovo. Načasovanie pritom nebolo náhodné, tím aj tak stál pred migráciou na novú architektúru React Native a namiesto nej skúsil, čo agenti zvládnu priamo v SwiftUI a Jetpack Compose. Shopify si v roku 2020 kúpil zdieľaný kód preto, aby neplatil dvakrát za tú istú obrazovku. Teraz mu vyšlo, že tá druhá platba zlacnela natoľko, že sa za ňu už neoplatí držať vrstvu navyše.
Jeden inžinier strávil týždeň tým, že púšťal kódovacích agentov na React Native kód a nechal ich vyrobiť iOS verziu. To stačilo na rozhodnutie. Potom šesť ľudí postavilo základy a hlavné používateľské cesty, produktové tímy sa pridali v polovici, a Shopify mal natívnu Shop app v oboch obchodoch dvanásť týždňov po tom prototype.
Čísla pred prepisom a po ňom vyzerajú takto.
Na menšej obrazovke posuňte tabuľku vodorovne.
| Metrika | React Native | Natívne |
|---|---|---|
| Studený štart na iOS | 3200 ms | 2466 ms |
| Studený štart na Androide | 4433 ms | 2233 ms |
| Veľkosť appky na iOS | 67 MB | 68 MB |
| Veľkosť appky na Androide | 293 MB | 184 MB |
Release build na Androide sa skrátil zhruba o 75 %, na iOS zostal rovnaký. Stabilita relácií stúpla z 99,5 % na 99,95 %, čo je desaťkrát menej relácií končiacich pádom. Feed na Androide beží podľa Shopify na Pixeli pri 120 snímkach za sekundu.
Ťažšia je tá druhá aplikácia, obchodnícka. Vyše 300 obrazoviek, widgety na plochu aj na zamknutú obrazovku, appka pre Apple Watch s komplikáciami, Siri Shortcuts. Prepisuje sa práve teraz a má prísť neskôr tento rok.
Každá abstrakčná vrstva je obchod. Platíte za ňu réžiou, závislosťou na cudzom roadmape a jednou vrstvou navyše medzi sebou a platformou. Dostávate za to ušetrenú prácu. Keď cena tej práce klesne, hodnota vrstvy klesne s ňou, ale réžia zostane presne tam, kde bola.
React Native sa nezhoršil. Zlacnela druhá strana tej istej rovnice. Rovnaká úvaha stojí za každou voľbou, kde sa rozhodujete, koľko z výsledku chcete vlastniť a koľko odovzdáte frameworku. Písali sme o nej pri Next.js a htmx, a tam vyšla inak.
Toto väčšina zhrnutí preskočila a je to užitočnejšie než samotné rozhodnutie.
Agenti mali predlohu. Shopify to píše otvorene, darilo sa im tam, kde vedeli čítať existujúcu implementáciu. Prenos obrazovky z React Native do SwiftUI je porovnávacia úloha. Zelená lúka bez predlohy je iná robota s inou úspešnosťou.
Zvyšok je tooling a ten je tu vlastne tým hlavným produktom. Migračný workflow beží ako rozšírenie kódovacieho agenta Pi, kde špecializovaní subagenti čítajú React Native zdroj, zapíšu jeho správanie, pripravia plán pre konkrétnu platformu, implementujú ho a nakoniec kontrolujú paritu. Plán schvaľuje človek a to schválenie je naviazané na hash jeho obsahu, takže akákoľvek zmena plánu ruší predchádzajúci súhlas. Systém Helix potom drží tempo po malých krokoch, vývojár ho nasmeruje na jednu obrazovku a spätná väzba z každého review sa pamätá, takže čím ďalej migrácia postúpi, tým menej dozoru potrebuje. Na ladenie si postavili Tardis, ktorý dá agentovi štruktúrovaný prístup k udalostiam, logom a stavu bežiacej aplikácie aj možnosť posielať jej príkazy.
A potom je tu vec, ktorá sa dá prevziať aj bez ich rozpočtu. Biznis logiku oddelili od UI tak, aby bežala headless na desktope, a sprístupnili ju agentom cez CLI. Iterácia klesla z minút na milisekundy a simulátor do toho vôbec nevstupuje. Architektonicky je to stará známa vec. Presne tá vlastnosť, ktorá robí kód testovateľným, len jej pribudol druhý odberateľ.
Vygenerovaný kód u nich splnil zadanie a popri tom priniesol duplicitu, architektonický posun alebo výkonnostný problém. Natívna expertíza preto zostala nevyhnutná a review, linting, statická analýza aj výkonnostné kontroly zostali na ľuďoch. Píše to Shopify, nie ja.
Parita sa presunula. Dve kódové bázy znamenajú, že iOS a Android musia byť funkčne zhodné stále, a drží to proces vývoja a releasu namiesto kompilátora. Tá práca sa nestratila, len ju teraz platíte v koordinácii.
A meradlo nie je naše. Shop app je päťročný produkt vo firme, ktorá má mobilnú platformovú skupinu aj tím na vlastný agentový tooling. Kto to oznámenie číta ako povolenie prepísať svoju appku, číta ho zle. Kedy sa mobilná appka vôbec oplatí, sme rozoberali v samostatnom článku.
Pri každej vrstve, ktorú v systéme máte preto, aby ste nemuseli písať kód, sa spýtajte, koľko by stálo napísať to bez nej. Nie či je tá vrstva dobrá. Koľko stojí alternatíva. To číslo sa za posledný rok pohlo a väčšina firiem ho naposledy rátala v čase, keď platili iné ceny. Rovnakú otázku sme rozpísali aj pre low-code a krabicové systémy.
Druhá otázka je tvrdšia. Ak sa v odpovedi spoliehate na agenta, máte z čoho vychádzať a viete v sekundách overiť, že výstup sedí? Bez toho ste späť na ľudskej rýchlosti, len s väčším objemom kódu na review.
U klienta by som preto nikdy nezačínal mobilnou aplikáciou. Začal by som tam, kde sa obe tie podmienky splnia samy. Integrácia proti zdokumentovanému API. Generátor výkazov, ktorého výstup viete riadok po riadku porovnať so starým. Odchod z frameworku, ktorý už nikto neudržiava, kde staré správanie je zadanie. Tieto tri veci tvoria väčšinu toho, čo robíme pri vývoji softvéru na mieru.
Titulok o súboji frameworkov je z celého oznámenia to najmenej zaujímavé. Shopify povedal niečo prízemnejšie a užitočnejšie. Jedna položka v ich rozpočte zlacnela natoľko, že sa oplatí prerátať zvyšok. Väčšina vrstiev, ktoré Váš tím dnes používa, ten prepočet prežije. Jedna alebo dve neprežijú a práve tie stoja najviac.

Mikroslužby kupujú nezávislosť zmien za reálnu prevádzkovú cenu. Porovnajte hranice, vlastníctvo, dáta, nasadzovanie a signály na oddelenie služby.

Porovnajte Next.js s Axum, Askama a htmx podľa stavu v prehliadači, kontraktov, cache, nasadenia, bezpečnosti, mobilných klientov a odovzdania.
Tri odseky vyrobili 55 000 riadkov kódu hry a skóre 5,05 z 10. Metóda za tým funguje aj na firemných výstupoch a najužitočnejšie sú práve tie úprimné čísla.