Vývoj multiplatformních mobilních a webových aplikací
20.04.2022
Vývoj multiplatformních mobilních a webových aplikací

​​​​​​Chcete vlastní mobilní aplikaci? Všem je jasné, že je třeba myslet jak na platformu Android tak i na iOS, nestačí jedna z nich. A často se neobejdeme ani bez webového rozhraní​. Ovšem prakticky od příchodu mobilních zařízení na trh se proslýchá, že vyvíjet separátně pro jednotlivé platformy je nákladné. Proto se různé společnosti pokoušely přinést alternativy v podobě multiplatformních řešení, ovšem žádné z nich se výrazněji neujalo. Měla svá úskalí, byla zbytečně složitá​ a firmu, která chce vyvíjet své mobilní aplikace flexibilně, drží v pomyslné "kleci" omezených možností. Proto je u B2C aplikací velmi často preferován nativní vývoj, protože nejsou omezeny UX, možnostmi animací a dalšími detaily, které jsou pro tuto cílovou skupinu velmi důležité.​

V posledních letech se však objevují podnikové mobilní aplikace, u nichž není prioritou dokonalé uživatelské rozhraní a design, ale funkčnost, užitečnost, a především rychlost dodání a flexibilita úprav. A právě tady se ukázal prostor pro používání vybraných technologií, které nabízejí multiplatformní využití. Samozřejmě za dodržení určitých pravidel.

V Cleverlance se nám osvědčily tři způsoby implementace. Když to velmi zjednodušíme, hned na začátku se musíme rozhodnout, jak robustní back-end s MOA (Microservice Oriented Architecture) je k dispozici, nebo zda ho budeme potřebovat vytvořit a dále pak, jestli aplikace nebude mít příliš mnoho business logiky, ale bude spíše jen prezentační vrstvou. V tomto případě je vhodné použít Flutter. Pokud potřebujeme v aplikaci fronty pro synchronizaci, business logiku a zavádíme určitou komplexitu mimo formuláře, osvědčil se nám Kotlin Multiplatform. Nebo je tu ještě třetí hráč = PWA (Progressive Web Applications), který využívá silný základ moderních prohlížečů.

Fl​​​utter

Flutter považujeme za skutečně mnohakanálovou zobrazovací vrstvu, která nám umožňuje vytvářet jak mobilní, tak i webové a desktopové aplikace. Jedná se o flexibilní řešení, se kterým lze efektivně navrhnout B2B, a za určitých podmínek i B2C aplikaci. Příkladem budiž mobilní aplikace pro společnost BMW. Jestliže ale nechcete řešit problémy, je lepší se spolehnout na back-end a nechat na něm veškeré „přemýšlení“.

Kotlin Multipl​atform

Další možností je multiplatformní jazyk Kotlin. Výhodou je, že programujete "nativní aplikaci" pro Android, jejíž část se použije i pro iOS. Většinou je řeč o business logice a integrační vrstvě, která nám později ve fázi QA ušetří spoustu času. Vizualizační vrstva se pro systémy iOS a Android programuje nativně, a tak je možné dosáhnout „look & feel“ vzhledu platformy a přepoužít „one code base“ pro uživatelsky neviditelné části aplikace. U některých projektů lze takto využít až 70-80 % kódu.

P​​WA

Progressive Web Applications patří k nejnovějším trendům v oblasti tvorby webových aplikací. Do jisté míry stírají hranice mezi webovou a nativní mobilní aplikací díky možnosti práce offline, přístupu k hardwaru zařízení a to včetně možnosti příjmu push notifikací. Kombinují tak v sobě to nejlepší z obou světů, omezují nás pouze limity internetového prohlížeče. Otevírá se tak pestrá škála funkcionalit, například již v základu může využívat fotoaparát nebo čtečku otisku prstu. Požadavek na použití hlubších funkcí zařízení lze efektivně vyřešit pomocí nativní „obálky“, která je zpřístupní. PWA aplikace lze umístit do všech běžných aplikačních obchodů (Google Play, Apple Store, Huawei AppGallery i Microsoft Store) a mohou běžet na zařízeních s OS Android, iOS i Windows.

​Kde to funguje?

Jako dodavatel chceme samozřejmě kromě standardních technologií vývoje nabízet i ty „nové“ a o to více nás těší, že za námi chodí i naši zákazníci, kteří už na začátku požadují Kotlin Multiplatform. Jako příklad můžeme uvést americkou společnost Globstar, pro kterou ve skupině Aricoma dodáváme mobilní aplikaci na konfiguraci a správu satelitních modemů pro připojení k internetu. Využití Kotlin Multiplatform se v tomto případě skutečně osvědčilo, protože se jednalo o aplikaci náročnou na integraci i přenos dat. Integrace navíc probíhá pomocí BLE (Bluetooth Low Energy), která dokáže obsluhovat desítky zařízení najednou a aktualizovat jim například firmware. Technologie přesvědčila jak zákazníka, tak nás jako dodavatele a při vývoji aplikace se tak podařilo vytvořit fungující pracovní partnerství.

Technologii PWA jsme úspěšně využili například v online samoobsluze pro zákazníky SAZKAmobilu. Její hlavní výhodou je extrémní zkrácení Time-To-Market (času potřebného pro uvedení nových funkcí „na trh“) a velká základna vývojářů, kteří tuto technologii ovládají. Kromě toho se PWA nejlépe uplatní tam, kde není velký důraz na využití komponent samotného zařízení, například v interních firemních aplikacích využívaných pracovníky v terénu či ve výrobě.

Pokud by vás zajímaly technické detaily, přečtěte si na našem blogu mobile it tento článek, ve kterém se také dozvíte, na co si při výběru technologie pro vývoj mobilní aplikace dát pozor.


Milan Mitošinka​