Vyvíjať tú istú aplikáciu dvakrát môže firmu vyjsť poriadne draho. Mnohé firmy pritom po dvoch samostatných verziách siahnu automaticky, bez porovnania možností.
Zvyčajne sa to začne automaticky. Niekto povie „potrebujeme mobilnú aplikáciu“. Firma prijme vývojára pre iOS a ďalšieho pre Android. Vzniknú dva samostatné kódy, dva zoznamy úloh a dve sady chýb. Postupne sa rozídu aj termíny vydávania, až vo verzii pre Android chýbajú funkcie, ktoré sú na iOS dostupné už tri týždne.
S časom navyše na koordináciu dvoch tímov pritom nikto nepočítal.
Výpočet, ktorý väčšina firiem preskočí
Rozdiel v nákladoch vyplýva zo samotného spôsobu vývoja. Pri dvoch natívnych aplikáciách sa veľká časť práce opakuje.
Dve natívne aplikácie znamenajú dva samostatné tímy alebo aspoň dvoch špecializovaných vývojárov, dve kontroly kódu každej funkcie, dve sady platformových chýb a projektového manažéra, ktorý veľkú časť času stráži súlad oboch verzií. To nie je 10 % réžia. V praxi ide skôr o 60–80 % vyššie celkové náklady oproti jednému multiplatformovému kódu.
Flutter toto zdvojovanie odstraňuje. Jeden tím píše jeden kód v Darte, ktorý sa kompiluje do natívneho ARM kódu pre iOS aj Android. Rovnaká obchodná logika. Rovnaké UI. Rovnaký cyklus vydávania. Funkcie sa dodávajú raz, nie dvakrát.
Pre startup s financovaním a prvým produktom to môže znamenať spustenie za štyri mesiace namiesto siedmich. Pre veľkú firmu, ktorá digitalizuje interný proces, zase jedného dodávateľa, jednu zmluvu a jeden tím, s ktorým sa treba dohodnúť. Úspory vidno na faktúrach, pri vyhodnotení šprintov aj pri riešení požiadaviek podpory.
Takto vyzerá bežný stredne zložitý produkt v praxi. Ide o orientačné rozpätia podľa našich projektov a situácie na trhu. Vaše čísla sa budú líšiť, no pomer zostáva podobný.
Dve natívne aplikácie (iOS + Android)
- Cena vývoja: 120–220 tis. €
- Čas do verzie 1.0: 6–10 mesiacov
- Veľkosť tímu: 4–6 ľudí (2 vývojári na platformu + dizajn + projektový manažér)
- Mesačná údržba: 8–15 tis. €
- Riziko rozdielnych funkcií: Vysoké (platformy sa časom rozchádzajú)
- Zapracovanie nového vývojára: 2–4 týždne na platformu
- Rozšírenie na web a desktop: Samostatný projekt, samostatný rozpočet
Jedna aplikácia vo Flutteri
- Cena vývoja: 70–130 tis. €
- Čas do verzie 1.0: 4–6 mesiacov
- Veľkosť tímu: 2–4 ľudia (spoločný vývojový tím + dizajn + projektový manažér)
- Mesačná údržba: 4–9 tis. €
- Riziko rozdielnych funkcií: Žiadne (jeden spoločný kód)
- Zapracovanie nového vývojára: 1–2 týždne celkovo
- Rozšírenie na web a desktop: Rozšírenie existujúceho kódu
Odhady vychádzajú zo stredne zložitého produktu s 15–25 obrazovkami, API integráciami, autentifikáciou a funkciami v reálnom čase. Sadzby zodpovedajú cenám európskych agentúr.
Výkon už nie je argumentom proti
Pred tromi rokmi bol hlavnou výhradou voči multiplatformovým frameworkom výkon. „Nikdy to nebude pôsobiť natívne.“ Vtedy to bola oprávnená obava.
Dnes už nie. Flutter vykresľuje vlastné UI rýchlosťou 60 snímok za sekundu, na podporovaných zariadeniach 120, pomocou vlastného vykresľovacieho jadra. Neprekladá widgety na natívne komponenty a neprechádza cez JavaScriptový most. Kreslí pixely priamo, podobne ako herný engine.
Výsledok: používatelia rozdiel nerozoznajú. Flutter aplikácie sme dodali státisícom používateľov. Nikto nám nenapísal „toto pôsobí ako multiplatformová aplikácia“. Píšu o funkciách, chybách a o tom, čo by chceli pridať. Framework je pre nich neviditeľný, presne ako má byť.
Existujú okrajové prípady, kde natívny vývoj stále vyhráva. Intenzívne využívanie platformových API, ako ARKit, niektoré Bluetooth protokoly či hlboké integrácie operačného systému, môže byť natívne plynulejšie. Pre 90 % podnikových aplikácií od SaaS cez interné nástroje po zákaznícke aplikácie však Flutter dodá rovnaký zážitok za zlomok ceny.
Jeden tím sa koordinuje jednoduchšie než dva
Najviac podceňovanou výhodou Flutteru nie je spoločný kód. Je ňou jednoduchšia organizácia práce v tíme.
Pri natívnom vývoji potrebujete špecialistov na iOS a Android. Sú to odlišné zručnosti, jazyky Swift a Kotlin, nástroje aj testovacie frameworky. Nájsť seniorov pre obe platformy je ťažké. Udržať obe roly obsadené počas vývoja produktu ešte ťažšie.
Pri Flutteri hľadáte vývojárov s rovnakou špecializáciou. Pri nábore overujete rovnaké zručnosti a celý tím zodpovedá za jeden mobilný produkt.
Tento prínos sa časom násobí. Znalosti zostávajú spolu. Architektonické rozhodnutia netreba robiť dvakrát. Keď niekto odíde, jeho prácu prevezme jeden človek, nie dvaja v dvoch kódoch. Znižuje sa závislosť od konkrétnych ľudí a skracuje zapracovanie nových vývojárov.
Pre firmy rastúce z troch na tridsať ľudí je to skutočná prevádzková výhoda. Menej koordinácie, duplicít a priestoru na nenápadné rozchádzanie platforiem.
Aj mimo mobilu: web a desktop z rovnakého kódu
Flutter sa kompiluje aj pre web, macOS, Windows a Linux. Vyspelosť sa líši podľa platformy: mobil je pripravený na produkciu, web je silný a zlepšuje sa, desktop je použiteľný na interné nástroje. Smer je však jasný: jeden kód, každá obrazovka.
Použili sme to v praxi. Klient potrebuje mobilnú aplikáciu pre koncových používateľov a webový dashboard pre internú prevádzku. Namiesto dvoch samostatných produktov s dvoma frontendmi vytvoríme oba zo spoločného Flutter kódu. Obchodná logika je rovnaká, UI sa prispôsobí zariadeniu a vývoj stojí zlomok ceny oddelených technológií.
Nie je to trik na konferenčné ukážky. Je to praktický spôsob, ako s menším tímom dodať viac rozhraní.
Kedy Flutter nie je správna voľba
Nepomohli by sme vám, keby sme predstierali, že Flutter je odpoveď na všetko. Nie je.
Ak je aplikácia hlboko previazaná s ekosystémom jednej platformy, napríklad s komplikáciami watchOS, množstvom widgetov na ploche Androidu či hlbokou integráciou Siri a Shortcuts, natívny vývoj dáva lepší prístup s menším počtom obchádzok.
Ak je produkt jednoduchá obsahová aplikácia alebo len tenká vrstva nad webom, Flutter možno vôbec nepotrebujete. Progresívna webová aplikácia môže byť lacnejšia a rýchlejšia na dodanie.
Ak už máte zrelý natívny iOS a Android tím, ktorý dobre spolupracuje, prechod na Flutter počas vývoja znamená prepis. A ten nesie reálne riziko. Náklady migrácie musí odôvodniť jasný dlhodobý prínos.
Ak produkt potrebuje úplne nové platformové API už pár týždňov po vydaní, natívny vývoj bude mať vždy náskok. Podpora nových funkcií operačných systémov vo Flutteri zvyčajne mešká o niekoľko mesiacov.
Vedieť, kedy Flutter použiť a kedy nie, patrí k správnemu technologickému rozhodnutiu. Kto tvrdí, že je správny vždy, vám niečo predáva.
Na čo sa pýtať technického partnera
Ak vyberáte agentúru alebo CTO pre mobilný produkt, týmito otázkami si overíte, či odporúčanie vychádza z potrieb vášho projektu:
„Prečo Flutter a nie natívny vývoj?“ Odpoveď má vychádzať z vášho projektu. Ak nevedia vysvetliť kompromisy, len siahajú po predvolenej možnosti, nerozhodujú sa.
„Čo by ste radšej vytvorili natívne?“ Dobrý partner pozná hranice svojho odporúčania. Ak odpovie „nič“, nie je úprimný.
„Ako riešite funkcie špecifické pre platformu?“ Flutter podporuje platformové kanály pre natívny kód. Odpoveď má byť konkrétna, nie neurčitá.
„Čo sa stane, keď budeme potrebovať rozšíriť tím?“ Dobrá Flutter architektúra umožní každému schopnému Flutter vývojárovi rýchlo sa zapracovať. Spýtajte sa, ako to zabezpečia.
Technologické rozhodnutie je dôležité. Ešte viac však záleží na kvalite tímu, ktorý ho robí.
Ako k tomu pristupujeme v Outloud
Flutter produkty tvoríme pre rastúce startupy aj korporácie už roky. Aplikácie so státisícmi používateľov vo fintechu, zdravotníctve, SaaS, IoT aj spotrebiteľských produktoch.
Každý projekt sa začína úprimným rozhovorom o tom, či sa Flutter hodí. Niekedy ho odporučíme, inokedy niečo úplne iné. Radšej prídeme o zákazku úprimnosťou, než ju získame prehnanými sľubmi.
Keď je Flutter správna voľba, náš tím pokryje celý produkt: stratégiu, UX, dizajn aj vývoj pod jednou strechou. Malý seniorný tím. Bez odovzdávania juniorom. Bez samostatných dodávateľov dizajnu a kódu. Jeden tím zodpovedný za výsledok od prvého náčrtu po vydanie v obchode.
Ak zvažujete mobilný produkt a chcete priamu odpoveď na cenu a čas, radi sa porozprávame. Bez predajnej prezentácie. Stačí problém, ktorý chcete vyriešiť. hello@outloud.co
Čo si z toho vziať
Flutter nie je všeliek. Pri vhodnom projekte však šetrí peniaze, zrýchľuje vývoj a uľahčuje spoluprácu tímu. Tieto výhody sa s ďalším rozvojom aplikácie ešte znásobujú.
Najviac získajú firmy, ktoré si ho vyberú vedome a rozumejú prínosom aj nákladom. Nie tie, ktoré ho zvolia pre popularitu alebo odmietnu pre zastarané predstavy o kvalite multiplatformového vývoja.
Jeden kód pre dve platformy znamená menej času na zosúlaďovanie verzií a viac času na samotný produkt.
Výber technológie tak ovplyvňuje aj náklady a fungovanie firmy.




