Řešení mobilní aplikace

Pro implementaci mobilní verze své webové aplikace máme v zásadě tři možnosti. Podívejme se podrobněji na jednotlivé možnosti a identifikujme jejich hlavní výhody a nevýhody …

Řešení mobilní aplikace

Mobilní aplikace pro webový projekt

Pokud chceme uživatelům pro svůj webový projekt nabídnout také mobilní alternativu, máme v zásadě tři možnosti - nativní mobilní aplikace, progresivní webová aplikace, nebo optimalizovat klasickou webovou aplikaci pro mobilní použití. Ani o jedné z možnosti nelze paušálně říct, že je ta nejlepší. Všechny tři jsou korektním řešením mobilní aplikace a výběr toho správného řešení závisí hlavně na povaze, požadavcích a možnostech projektu, který realizujeme.

Co je to nativní mobilní aplikace?

Nativní mobilní aplikace je taková mobilní aplikace, která se nainstaluje do mobilního zařízeni a po instalaci jde spustit a používat. Po vytvoření nativní mobilní aplikace její vývojáři připraví instalační soubory, ty následně poskytnou ke stažení (pomocí USB úložiště, na webu, nebo v obchodu s aplikacemi - Google Play, App Store, Microsoft Store, atd) a uživatel si je stáhne do mobilního zařízení a nainstaluje. V případě, že je později vydaná aktualizace aplikace, uživatel si musí na svém zařízení aplikaci aktualizovat, nebo nainstalovat novou verzi aplikace.

Nativní mobilní aplikace je závislá na cílové platformě a vyvíjí se přímo pro konkrétní platformu. Pro každou platformu (Android, iOS, Microsoft, …) je tedy nutné vyvíjet samostatní nativní mobilní aplikaci. Pokud budeme chtít nabídnout aplikaci alespoň pro uživatele Androidu a iOS, budeme muset vyvíjet dvě mobilní aplikace a web. Po spuštění nativní mobilní aplikace běží na mobilním zařízení a konzumuje jeho výkon. Nativní mobilní aplikace může být na mobilním zařízení spuštěna a běžet také bez připojení k internetu - offline (často pouze v omezené funkcionalitě).

  • plná kontrola nad HW zařízení (+)
  • možnost offline běhu (spíše +)
  • nutnost instalace (spíše -)
  • nároky na výkon zařízení (-)
  • řešení závislé na platformě (-)
  • aktualizace na zařízení (-)

Co je to progresivní webová aplikace?

Progresivní webová aplikace přináší alternativu kombinující některé vlastnosti nativních mobilních aplikací a klasických webových aplikací. Odbourává závislost na platformě a zjednodušuje proces instalace a aktualizace aplikace. Progresivní webová aplikace je umístěna na webovém serveru a uživatel ji může použít pomocí webového prohlížeče. Může si ji ale také nainstalovat do svého zařízení, kde se pak chová z jeho pohledu podobně jako nativní mobilní aplikace.

U progresivní webové aplikace tak stačí vyvíjet jednu aplikaci pro všechny platformy. Progresivní webová aplikace neklade žádné speciální požadavky na výkon zařízení a může také fungovat offline bez připojení k internetu (většinou pouze omezená funkcionalita). Webové technologie poskytují pouze omezenou kontrolu nad hardwarem zařízení. V závislosti na platformě lze ale používat fotoaparát, mikrofon, senzory, polohu, případně další.

  • nezávislé na platformě (+)
  • aktualizace na serveru (+)
  • možnost offline běhu (spíše +)
  • nemusí se instalovat (+)
  • omezené použití HW zařízení (-)

Optimalizace webové aplikace pro mobilní použití

Klasická webová aplikace se používá a funguje podobně jako jakékoliv webové stránky. Aplikace je umístěna na webovém serveru, kde se také spouští a uživatel ji používá pomocí webového prohlížeče. Podrobněji co je webová aplikace popisuji zde a jak funguje webová aplikace zde.

Webová aplikace tak typicky neklade žádné požadavky na výkon zařízení, používá se pomocí webového prohlížeče a nijak se neinstaluje. Aktualizace takové aplikace se také provádí pouze na serveru. Webová aplikace je nezávislá na platformě a typicky ji nelze používat offline. Webové technologie poskytují pouze omezenou kontrolu nad hardwarem zařízení. V závislosti na platformě lze ale používat fotoaparát, mikrofon, senzory, polohu, případně další.

  • nezávislé na platformě (+)
  • aktualizace na serveru (+)
  • bez nároku na výkon zařízení (+)
  • nemožnost běhu offline (spíše -)
  • omezené použití HW zařízení (-)
  • nelze instalovat do zařízení (-)

Co ovlivňuje výběr správného řešení?

Cena
Mezi jednotlivými variantami je hlavně výrazný rozdíl v ceně realizace. Ta souvisí se závislostí jednotlivých řešení na platformě. Vyvíjet pro každou platformu samostatnou nativní mobilní aplikaci plus webové řešení totiž bude mnohonásobně dražší než udělat jednu klasickou nebo progresivní webovou aplikaci, která pokryje (případně i při ústupcích v požadavcích) všechny platformy.

Možnost práce offline
Nativní mobilní a progresivní webová aplikace slibují možnost práce offline, co je často atraktivním důvodem proč saháme po tomto řešení. Je nutné si ale uvědomit, že některé funkce nelze používat offline z jejich podstaty. Tak například, pokud má aplikace implementovat aukci nějakých předmětů přes mobil, tak těžko by mohl uživatel dražit a přebíjet cenu s jinými uživateli v offline režimu. V offline režimu může mít maximálně předem stažen seznam nadcházejících aukcí s draženými předměty a datem konání, ale pro provedení samotné aukce již bude muset být uživatel online na internetu. Je proto nutné dobře promyslet jaké funkce očekáváme, že budou dostupné offline a jestli je vůbec možné je takto implementovat. Také množství dat, které lze do zařízení uložit pro offline práci je vždy omezen. Často se může stát, že možnost práce offline nebude mít pro naše řešení reálný přínos.

Požadavky na hardware
U některých řešení může být požadavek na použití nějakého speciálního hardwaru. Například mobilní aplikace pro tisk jízdenek a daňových dokladů na mobilní tiskárně. Zde je jediným řešením nativní mobilní aplikace, používající SDK pro Android od výrobce mobilní tiskárny. Výhodou je, že se v takovém případě bude nejspíš jednat o interní aplikaci a bude možné omezit cílovou platformu pouze na jednu vybranou a vyvíjet tak pouze jednu aplikaci.

Závěr

Obecně nelze říct, které řešení je nejlepší. Pokud bychom měli dostatečný rozpočet, je rozumným řešením vyvíjet pro každou platformu vlastní nativní aplikaci. Někdy to ale není možné ještě kvůli dalším požadavkům. Na závěr je nutno připomenout, že bychom hlavně neměli zapomínat na náš byznys. Někdy nás totiž technické pro a proti pohltí natolik, že nám unikne původní záměr našeho projektu.

Potřebujete mobilní verzi webové aplikace?

Pokud potřebujete progresivní webovou aplikaci nebo webovou aplikaci optimalizovanou pro použití na mobilech, dejte mi vědět. Rád s Vámi proberu Váš projekt, a pokud to bude možné, nabídnu Vám vývoj Vašeho řešení na míru …

Michal Strelec

Ing. Michal Strelec |
michal@strelec.pro |
+420 608 407 544

Poslat zprávu Reference

Jsem softwarový inženýr na volné noze a zkušený vývojář informačních systémů a webových aplikací na míru. Nabízím dlouhodobé a spolehlivé partnerství při vývoji, provozu, rozšiřování a podpoře softwarového řešení. Mám přes 15 let zkušeností a úspěšně jsem realizoval více než 35 projektů webových aplikací a informačních systémů. Kancelář mám v hlavním městě Praha, své služby ale poskytuji také na dálku po celé České republice.

Zajímá Vás více informací?

Přečtěte si podrobněji, jak budeme postupovat při vývoji softwaru na míru, nebo si stáhněte moji vizitku s podrobnými informacemi v PDF. Pokud Vás blíže zajímá moje práce, prohlédněte si moje reference, nebo mě kontaktujte a zeptejte se na více informací …

Další podobné články

Co je to webová aplikace?

Co je to webová aplikace?

Pro realizaci informačních systémů na míru se ve většině případů velmi dobře hodí webová aplikace. Zjistěte, co je to webová aplikace, jak funguje, a kdy a proč je vhodné ji použít pro implementaci informačního systému …

Jak funguje webová aplikace?

Jak funguje webová aplikace?

Při vývoji nového informačního systému do firmy často stojíme před rozhodnutím, jestli pro řešení systému použít webovou aplikaci. Abychom se uměli správně rozhodnout, musíme vědět, jak webová aplikace funguje …

Porovnání webové a desktopové aplikace pro realizaci informačního systému

Porovnání webové a desktopové aplikace pro realizaci informačního systému

Pro implementaci každého informačního systému se může lépe hodit jiný typ aplikace. Porovnejme proto z různých pohledů použití webové aplikace a její náhradu v podobě desktopového řešení …