Pod pokličkou: vývoj mobilních aplikací

Bude to náročné čtení, ale když vydržíte, dozvíte se věci, o kterých jste dosud něměli ani tušení. Kdo, co, jak dlouho a za kolik?
Kapitoly článku

Nejen „železo“ na pozadí

Softwarové a hardwarové vybavení pro vývoj a následný běh aplikací zahrnuje patřičně nakonfigurovaný počítač pro rychlý běh vývojových nástrojů, jako jsou NetBeans, Eclipse, apod. Většinou se programuje pod operačním systémem Windows. Důvod je jednoduchý – prvotní testování funkčních bloků kódů probíhá v emulátorech různých telefonů od různých výrobců (vytvořené převážně pro MS Windows), a proto je upřednostněn tento systém. Kopírování každé úpravy do jednotlivých mobilních telefonů by bylo značně neefektivní a zpomalilo by celý vývoj. Ze softwarového vybavení se dále využívá: VisualStudio, .NET Framework, SQL klient a IIS pro serverové pozadí.

Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
Ukázka emulace několika typů telefonů
Klepněte pro větší obrázek 
Obrazovka emulátoru mobilního telefonu i s diagnostikou, která se využívá při ladění aplikace
Klepněte pro větší obrázek 
Vývojové prostředí NetBeans 6.0, v okně nad ním je emulátor prostředí Nokia Series 60

Samozřejmě se vývoj neobejde bez několika mobilních telefonů různých značek a kategorií s podporou J2ME. Je potřeba pokrýt trh různými rozlišeními displeje, přítomností operačního systému atp. Ve firmě se pro testování používá například: Nokia 6300, Nokia 3110, Nokia E50, Nokia N70 a N76, dále Motorola Razr V3i, Motorola Krzr K1, Samsung E250, Sony Ericsson K610i a K810i, LG Shine a Chocolate, HTC smartphony a komunikátory a mnoho dalších.

Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
Moderní kanceláře ecommerce.cz snad ani nejsou ničím zajímavé...
Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
...zato takovýhle obsah jen tak nějaká zásuvka neschovává

Všechny aplikace vyrobené v ecommerce.cz dodržují všechny standardy určené profilem MIDP 2.0 (zprostředkovává multimediální prvky k tvorbě obrazu, přehrávání zvuku, atd.) a konfiguraci pracující pod tímto profilem CLDC 1.1, která obsahuje jádro JavaME. Programy jsou spustitelné na všech telefonech podporujících tyto standardy s displejem o rozlišení 128 obrazových bodů a větším.

Neméně důležité a významné je pozadí klientské, mobilní části. V případě společnosti Tipos je to komplexní systém eBet System, vyvinutý právě v ecommerce.cz. Mobilní zařízení zde slouží v podstatě jen pro zobrazování obsahu. Systém mobilní aplikace projektu Tipos by se dal rozdělit na několik základní objektů (vrstev), které mezi sebou komunikují. Jedná se o:

  1. Aplikace na mobilním zařízení, což je JavaME
  2. Webové mobilní rozhraní pro jednotlivé herny – ASP .NET
  3. Windows služba jako unifikované rozhraní pro nastavení mobilních aplikací (.NET Framework)
  4. Webové služby jako rozhraní Registračního a platebního portálu (RPP) – opět postavené na ASP .NET
  5. SQL server pro jednotlivé herny i RPP běžící nad databází MSSQL

Slasti a strasti mobilní Javy

Každý výrobce mobilního zařízení si sám implementuje J2ME do svých produktů, což komplikuje ladění programu. Pro každou značku, mnohdy pro každou třídu telefonů jednoho výrobce, je nutné aplikaci přizpůsobit. Díky standardům (MIDP, CLDC) je zde jistota, že aplikace bude správně pracovat téměř na všech mobilních přístrojích, které se těchto standardů drží. Výrobci si díky určité volnosti například implementují vlastní grafické prvky v profilu MIDP, ty ale ve vyvíjených aplikacích nenajdeme, ecommerce.cz si vytváří vlastní.

Největším problémem a limitujícím faktorem u vývoje mobilních aplikací je omezená operační paměť. Samotný kód aplikace je možné tzv. „obfuscatorem“ výrazně zredukovat. Dalším omezením, na které je nutné po celou dobu vývoje pamatovat, je velikost displeje, která je na trhu s mobilními zařízeními značně různorodá. Cílem je vytvářet aplikace tak, aby byly po vizuální stránce stejné na jakémkoliv telefonu (to je i jeden z důvodů pro vývoj vlastních grafických prvků). Značná nesourodost mobilních zařízení, pramenící z velkého počtu typů mobilů na trhu, způsobuje větvení verzí aplikací. Vyvíjí se verze aplikací, které jsou určeny pro širokou škálu telefonů, ale jiné verze jsou určené jen pro konkrétní série zařízení.

Kromě limitů paměti a zobrazovacích možností jsou vývojáři dále omezeni i rychlostí zpracování a přenosem většího objemu dat. Vzhledem k tomu, že aplikace často komunikují se serverem, není možný libovolný typ datového přenosu nebo ukládání rozměrnějších dat na straně mobilního telefonu.

Náročnost spočívá v množství komunikačních rozhraní a omezených možnostech přenosu dat do mobilu, a proto je nezbytná klíčová optimalizace přenosu dat spolu s vhodným „vzorkováním“ dat na menší celky. Při vývoji je tedy nutné myslet na celou řadu okolností. Avšak hlavním problémem je již zmíněná operační paměť, největší optimalizace tedy probíhají právě na straně paměti. Nesmí se opomenout i jistá specifika smartphonů a komunikátorů Windows Mobile, pro které je potřeba provádět dílčí úpravy.

Co přinese budoucnost

Na poli mobilních technologií je všeobecně očekávaný další rozvoj a škála aplikací pro mobilní zařízení se bude neustále rozšiřovat. Stejně tak se funkce a parametry mobilních zařízení budou neustále vylepšovat. Do budoucna tedy bude možné vyvíjet aplikace, jejichž funkcionalita bude v porovnání s desktopovými aplikacemi stále méně omezena. Vývoj na poli mobilních technologií je tedy nutné bedlivě sledovat, v ecommerce.cz se už dnes připravují na příchod standardu MIDP 3.0, který by měl pomoci hlavně s pamětí.

Ve firmě ovšem sledují také dění mimo mobilní Javu. Projektový manažer ecommerce.cz Jaroslav Škrabálek k tomu říká: „Jako možnost pro rozšíření portfolia našich mobilních aplikací vnímáme novou mobilní platformu Android. Taktéž vývoj pod SDK Applu pro iPhone a iPod touch nás velmi láká. Trh mobilních aplikací není jen Java. Navíc nově se formující platformy jsou skvělou příležitostí, jak expandovat. Obzvláště nás zaujala razantnost, se kterou se iPhone (potažmo iPod touch jako nositel stejného operačního systému) rozšířil nejen na severoamerickém trhu chytrých telefonů a multimediálních přehrávačů. Však jen za půl roku dosáhl více než dvaceti procent tamního trhu, což z něho činí produkt, který není možné z pohledu vývojáře přehlížet. V blízké budoucnosti se chceme se svými aplikacemi prosadit celosvětově a nabídnout nejen uživatelské aplikace, ale především programy určené pro korporátní sféru. Máme sehraný a zkušený vývojový tým, který je schopný vyrobit téměř cokoliv. Co se týká výpočetního výkonu, jsme limitováni jen procesorem daného zařízení a jeho pamětí.“

Témata článku: , Alcatel Pop Up, Apple iPhone 4GB, Motorola Krzr K1, Motorola Razr, Motorola Razr V3i, Nokia 3110 classic, Nokia 3110 Evolve, Nokia 6300, Nokia E50-1, Nokia E50-2, Nokia N70, Nokia N70 Music Edition, Samsung E250, Sony Ericsson K610i, Typ datového, Kasino, Hlavní odběr, Plná funkčnost, Technická univerzita, Speciální tým, Škoda Auto, Skanska, Limitující faktor, Tiket