svaroxlabs
všechny články
Vývoj7 min čtení

Jak sdílíme kód a typy mezi vaší webovou a mobilní aplikací

Web v Next.js, mobil v React Native, backend v Nest.js, jeden jazyk napříč všemi třemi. Tady je, co to znamená v praxi a proč je díky tomu váš produkt levnější na stavbu a bezpečnější na změny.

Tým studia · Web & produktové studio · 21. dubna 2026

Většina digitálních produktů nakonec potřebuje tři věci: mobilní aplikaci, webovou aplikaci a backend, který obě krmí. Tradiční způsob, jak to postavit, jsou tři technologie, tři kódové základny a fakticky tři týmy, kde se každá funkce implementuje dvakrát a každá změna se koordinuje napříč vším. My stavíme všechny tři v jednom jazyce. Tenhle článek vysvětluje, co to konkrétně znamená a proč to není jen preference vývojářů, ale věc, která přímo ovlivňuje váš rozpočet, termín i to, jak bezpečně se dá produkt rozvíjet.

Stack v jednom odstavci

Webová aplikace v Next.js. Mobilní aplikace v React Native. Backend v Nest.js. Všechny tři v TypeScriptu, jeden jazyk od začátku do konce. Žijí v jednom repozitáři („monorepo“) a mezi nimi stojí sdílené balíčky: jeden na typy (definice vašich dat), jeden na byznysovou logiku (pravidla vašeho produktu), jeden na pomocné funkce. Web, mobil i server importují ze stejného sdíleného zdroje místo toho, aby si každý udržoval vlastní kopii.

Čemu „sdílené typy“ vlastně předcházejí

Tady je každodenní katastrofa projektů se třemi technologiemi: backendový tým přejmenuje pole, řekněme „price“ na „priceInCents“. Webový tým si svou kopii aktualizuje. Mobilní tým se to nedozví. Mobilní aplikace teď ukazuje všechny produkty stokrát levněji a nikdo si toho nevšimne, dokud si toho nevšimne zákazník. Tahle kategorie chyb existuje proto, že si každá kódová základna drží vlastní soukromý popis týchž dat a ty popisy se od sebe potichu vzdalují.

Se sdílenými typy existuje přesně jeden popis toho, jak vypadá „Produkt“, „Objednávka“ nebo „Uživatel“, a všechny tři aplikace ho importují. Když backend pole změní, web i mobil, které na něm závisí, se okamžitě odmítnou zkompilovat, na počítači vývojáře, s přesným seznamem všech dotčených míst. Nesoulad se odhalí během minut u stolu, ne v produkci vašimi zákazníky.

Sdílené typy mění „aplikace se rozbila, protože se změnil server“ z produkčního incidentu na červené podtržení v editoru.

Sdílená logika: vaše byznysová pravidla, napsaná jednou

Typy jsou základ; teprve sdílená logika je místo, kde to začne mít velkou hodnotu. Vezměte si něco obyčejného: jak se počítá celková cena objednávky, položky, slevová pravidla, doprava, DPH. V tradičním uspořádání se tahle logika píše třikrát a dřív nebo později web tvrdí 47,90 € a aplikace 48,20 € a někdo stráví den zjišťováním proč. U nás je to jedna funkce ve sdíleném balíčku, kterou používá web, mobil i server. Nemůže si odporovat sama se sebou. Totéž platí pro validační pravidla („co se počítá jako platná rezervace?“), formátování i oprávnění.

Co to znamená pro váš rozpočet a termín

  • Jeden tým místo tří: stejní vývojáři pracují na webu, mobilu i backendu, žádná režie koordinace, žádné „čekáme na backendový tým“
  • Funkce stojí míň: logická vrstva se píše jednou; pro každou platformu se staví jen obrazovky
  • Změny jsou bezpečnější: kompilátor sám najde každé místo, kterého se změna dotkne, napříč všemi třemi aplikacemi
  • Zaučení je rychlejší: nový vývojář se učí jeden jazyk a jeden repozitář, ne tři ekosystémy
  • Začít jednou platformou zůstává levné: spusťte nejdřív mobil, a až později přijde web, dostane typy i logiku hned první den

Poctivé hranice

Takže je sdílené všechno? Ne, a ani byste to nechtěli. Samotné obrazovky se staví zvlášť, protože dobré mobilní a dobré webové rozhraní se opravdu liší: jiná navigace, jiná gesta, jiné rozvržení. Sdílené je všechno pod povrchem, definice dat, pravidla, výpočty. V praxi to obvykle bývá 30–50 % veškerého kódu, a přesně ta část, kde jsou chyby nejdražší. Sdílíme základy, ne tapety.

Proč by to mělo zajímat netechnického zakladatele

Do kódu se možná nikdy nepodíváte, ale tuhle architekturu pocítíte ve třech věcech: nabídky jsou nižší, protože se funkce nestaví dvakrát; produkt jde ven rychleji, protože jeden tým jede bez předávek; a za dva roky máte pořád jeden soudržný systém místo tří, které se rozešly, což je přesně to, na co se podívá technický spoluzakladatel, due diligence investora nebo kupující firma. Pokud plánujete produkt, který jednou bude žít na webu i na mobilu, tohle je jedno z rozhodnutí s největší pákou, které uděláte ještě předtím, než se navrhne první obrazovka. Rádi vám projdeme, jak by to vypadalo u vašeho konkrétního produktu, bez žargonu, slibujeme.

ČTĚTE DÁL