Specifika vývoje a integrace mobilních aplikací

21. 8. 2011

Sdílet

Vytváření mobilních aplikací přináší specifické problémy, jako jsou například nutnost detailního přizpůsobení mnoha platformám, vysoké nároky na energetickou efektivitu či rychlé morální zastarání provedeného řešení.

Dnešní technologický svět je velmi různorodý – je to svět, kde vše má ambici spolupracovat se vším. Současné informační systémy obsahují stále více nejrůznějších mobilních aplikací, jejichž význam postupně narůstá, což klade vyšší nároky na softwarový vývoj.

Mobilní aplikace fungují v celé řadě oblastí, například dokážou sledovat pohyb aut, osob, mobilních telefonů a dalších nejrůznějších přenosných zařízení. Dalším zajímavým směrem je např. rozvoj v oblasti různorodé techniky, která pořizuje jakákoliv data, které je nutné dostat do centrálních informačních systémů.

V těchto případech je často nejjednodušším způsobem připojení technologií a zařízení známých ze světa mobilních telefonů, která pak odesílají data „bezdrátově“. Příkladem pak mohou být například měřicí či odečítací zařízení, která jsou schopna zajistit odečty spotřeby energií, finanční informace z výherních automatů atd.

Výše uvedené podporuje silný zájem ze strany mobilních operátorů, jejichž trh s hlasovými službami je už dávno saturován, a které proto hledají nové zdroje příjmů. Expanze trhu B2B či mobilních M2M (Machine-to-Machine) řešení je v podstatě jediným směrem, kam se ještě mohou rozvíjet.

Moderní informační systémy se tak musí umět vyrovnat s narůstajícím objemem vstupních dat a především s různorodostí jednotlivých mobilních zařízení, jež tato data zasílají – ať již to jsou GPS jednotky, mobilní telefony, osobní lokátory s GPS čipy či jiná mobilní zařízení.

Princip všech mobilních řešení je jednoduchý – koncová mobilní zařízení posílají nejrůznější informace (typicky o čase a poloze) do informačního systému. Problém spočívá v tom, že tyto informace posílají pokaždé jiným způsobem, prostřednictvím jiného protokolu a jiné technologie.

Informační systém tedy musí být připraven na to, aby uměl přijímat data od různých periferií. Vývoj mobilních systémů spojených s nejrůznějšími mobilními a komunikačními zařízeními je tak odlišný od vývoje běžného počítačového softwaru.

Specifika vývoje mobilních aplikací
Softwarové společnosti a firmy dodávající systémy na zakázku jsou nuceny se tomuto trendu přizpůsobit a vyhovět nárokům zákazníků na integraci mobilních technologií do jejich systémů. Pro vývojáře to ale přináší řadu úskalí, jako například:

•    Programování v různých jazycích – každý mobilní firmware, např. pro iPhone, BlackBerry apod., je vytvořen v jiném jazyce.
•    Rozkódování funkce mobilních zařízení – před vlastním vývojem mobilní aplikace je nejdříve nutné zjistit, jak jednotlivá zařízení fungují, jaké mají možnosti a jak pracuje jejich firmware apod. Teprve pak je možné přistoupit k integraci do informačních systémů.
•    Výkon a výdrž baterií – obrovské omezení, které se musí brát v úvahu při vývoji mobilních aplikací, je omezený výkon a výdrž baterií u mobilních zařízení. I když se v oblasti výkonu i výdrže baterií v poslední době hodně změnilo, stále ještě nedosahují (a ze své podstaty ani nikdy dosahovat nebudou) parametrů klasických počítačových technologií.
Z tohoto pohledu nelze napsat mobilní aplikaci stejným způsobem jako aplikaci počítačovou. Je třeba se například soustředit na režimy snímání polohy, které vybíjejí baterie více než jiné módy, což je velké specifikum vývoje mobilních řešení.
•    Rychlé zastarávání mobilních technologií – morální životnost mobilních telefonů a obecně mobilních zařízení je zhruba rok, poté již funkčně a výkonově zaostávají. Následně se pak musejí aktualizovat i mobilní aplikace.

Nejlépe je vidět rychlý rozvoj v oblasti mobilních technologií na vývoji jednotlivých platforem. Existují totiž takové, které byly ještě před nedávnem považovány na velmi nadějné, a nyní to už tak není, naopak se objevují platformy nové, jež postupně začínají ovládat trh.

K těm prvním se řadí prostředí Windows Mobile, které je dnes pravděpodobně „mimo hru“, a to jak z pohledu technologického, tak z pohledu penetrace na trhu. Podobná budoucnost možná čeká i platformu Symbian, která se zatím drží na relativně dobré úrovni jen díky dosavadnímu evropskému trhu.

Naopak k těm druhým, rychle rostoucím platformám, se řadí například iPhone, BlackBerry (zejména v podnikové sféře) a především Android. Nicméně pro softwarové vývojáře to znamená nutnost nejen reagovat na nové platformy, ale také udržovat prostředí, která jsou považována za neperspektivní, protože i ta mají řadu svých uživatelů vzešlých z doby, kdy jejich atraktivita byla mnohem vyšší.

Příklad pokročilé mobilní aplikace
Jak takové mobilní aplikace mohou fungovat, lze ukázat například na aplikaci, která sleduje pohyb mobilních zařízení. Ta se totiž zpravidla skládá z informačního (serverového) systému, který přijímá data z různých (klientských) systémů generovaných odlišnými mobilními zařízeními.

Součástí takové aplikace mohou být systémy určené například pro sledování mobilních telefonů, osobních lokátorů a dalších zařízení s možností lokalizace polohy. Mobilní řešení tohoto typu fungují jako klasická aplikace klient – server, kdy klientem je prohlížeč a veškerá aplikační logika je na straně serveru.

Výše uvedené aplikace bývají založeny na určování polohy hlavně s využitím satelitního systému GPS. Pomocí čipu umístěného ve sledovaných zařízeních se zjišťuje aktuální poloha, která je odesílána na server.

Pro určování polohy mobilního zařízení ale mohou být využívány i další metody, a to určování polohy prostřednictvím BTS stanic, ke kterým je mobilní zařízení připojeno, a určování polohy prostřednictvím známosti o poloze Wi-Fi hotspotů, které se nacházejí v okolí mobilního přístroje. Tyto metody pak umožňují sledovat i zařízení, která GPS čip neobsahují.

Autor pracuje jako ředitel společnosti Kaktus Software.