Mobilní aplikace

5.10.2011· Autor: Ondřej Brichta· Počet komentářů: 3

Rostoucí popularita mobilních aplikací nás nesmí zastihnout nepřipravené, pojďme se seznámit s nástroji, pomocí kterých přestěhujeme flashové projekty na mobilní zařízení s operačnímy systémy Android, iOS, BlackBerry, Symbian a Windows Mobile

Aktuální situace

Právě probíhající konference Adobe MAX (http://max.adobe.com/) se nese v duchu velkých novinek především na poli aplikací pro mobilní zařízení - tablety, smartphony, televize(i když ty moc mobilní nejsou, jsou alespoň částečně přenosné) a je zřejmé, že tento trh bude čím dál tím více zajímavější i pro vývojáře flashových aplikací.

Pokud za námi dnes přijde zákazník a vyžaduje po nás interaktivní aplikaci, umíme mu jí připravit tak, že bude dostupná na 98% počítačích připojených k internetu a bude možné jí coby instalovanou aplikaci rozšířit i na zařízení běžící na operačních systémech iOS, Android (2.2+), BlackBerry. Seznam podporovaných zařízení je dále rozšířen o ty, které mají už předinstalovaný flashplayer ve svých mobilních prohlížečích a nebo podporují flashlite.

Zařízení, která jsou oficiálně podporována máme vypsaná zde: http://www.adobe.com/flashplatform/certified_devices/ a samotnou penetraci pak najdeme zde: http://www.adobe.com/products/flashplatformruntimes/statistics.html

HTML5 nahradí flashplayer?

Z celé řady „odborných" článků slýcháme, že flashplayer je zastaralá technologie, kterou lze nahradit HTML5. Jakmile bude toto tvrzení platit, budou z toho těžit obě strany(jak zákazníci, tak vývojáři). Z pohledu vývojáře tak zde bude jednotná technologie (HTML5) podporovaná napříč různorodým spektrem zařízení, která se na internet připojují, takže vývoj bude velmi jednoduchý. Stejný, jako máme nyní s flashplayerem, kterému vděčíme za snadnou rozšiřitelnost naší aplikace na jiná zařízení.

Jakmile bude HTML5 v použitelném stavu, Adobe nám nabídne nástroj (Adobe Edge: http://labs.adobe.com/technologies/edge/?trackingid=JFCUG) pro vývoj takových aplikací, které plně využijí HTML 5 potenciálu.

Než se ale tak stane(jestli vůbec), budeme zde mít flashplayer jako jedinou rozumnou platformu pro tvorbu interaktivních aplikací. Bohužel je zde Apple a iOS, kde ze zcela zřejmých marketingových důvodů není možné využívat flashové aplikace v rámci prohlížeče(jako instalované ano). Pokud tedy chceme něco na iOS v rámci prohlížeče animovat, musíme se spolehnout pouze na HTML5.

Publikování pro mobilní zařízení

Pokud chceme vytvořit aplikaci pro mobilní zařízení, můžeme se rozhodnout pro dvě varianty:

  1. Klasická SWF aplikace v rámci webového prohlížeče, kterou si ovšem spustí pouze uživatelé těch zařízení, která podporují flashplayer (na populárním iOS máme smůlu, zatím)
  2. Instalovaná aplikace, kterou připravíme a umístíme na oficiální „Market" cílové platformy

Instalované aplikace jsou z našeho pohledu výhodnější. Za prvé jejich obliba roste, jsou dnes zkrátka „in", můžeme pracovat se systémovými prostředky - SQLLite databáze, práce se soubory, můžeme takovou aplikaci prodávat a vydělat si tak na další vývoj...

Než se pustíme do vývoje aplikace pro mobilní zařízení, bylo by vhodné si zařídit vývojářský účet pro danou platformu. Vytvoření účtu zpravidla něco stojí (25USD) ale můžeme pak aplikace oficiálně publikovat na „Marketu" daného systému.

Pokud budeme vyvíjet aplikaci pro Android, budeme mít vývoj o poznání snazší, protože se výsledná aplikace nijak nepřekládá, takže export je poměrně rychlý a lze takovou aplikaci velmi rychle otestovat na konkrétním zařízení.

Při exportu aplikace pro iOS dochází k překladu do nativního kódu, tento překlad je poměrně náročný a u větších aplikací se můžeme dostat i k časům kolem 10minut na jeden export a to je hodně. Je tak potřeba aplikaci testovat lokálně na PC i když bohužel neotestujeme nejrůznější gesta.

 

Flash CS5.5

cs5

 

Prvním nástrojem, pro export flashových aplikací je Flash CS5.5. Práce s dokumentem je úplně stejná, jako v případě běžné flashové animace, nejsou zde žádné omezení, naopak můžeme využívat dalších funkcí, které nám umožňují například práci se soubory.

V nastavení exportu pro danou platformu máme možnost podrobnější úpravy chování aplikace - fullscreen režim, automatické otočení, GPU renderování, nastavení ikon a případně povolení aplikace pro sledování nejrůznějších stavů mobilního zařízení.

Výhodou uvedeného prostředí je snadná editace vektorové grafiky, animací, nevýhodou je pak nutnost „ručního" skriptování pro nejrůznější automatické zarovnávání objektů a přizpůsobování se velikosti scény, která se bude na mobilních zařízeních často měnit i v rámci jednoho spuštění - landscape/portait režimy

Flash Builder 4.5

Nástroj, díky kterému můžeme využívat již připravených komponent pro automatické zarovnávání objektů, tvorbu seznamů, které automaticky obsahují kinetiku, automatické menu apod. Navíc zde máme možnost exportu pro BlackBerry a vedle projektu využívajícího připravené komponenty můžeme připravit i „klasický" ActionScript projekt, který nebude využívat Flex SDK komponenty optimalizované pro mobilní zařízení. Výsledná aplikace pak bude o poznání subtilnější(datově) ovšem řadu věcí si budeme muset doprogramovat vlastními silami.

fb

OpenPlug - nativní aplikace z ActionScriptu

Poslední nástroj, který můžeme využít pro vývoj mobilních aplikací je OpenPlug(http://developer.openplug.com/), editor postavený také na Eclipse, který je možné nainstalovat buď jako doplněk ke stávajícímu Flash Builderu a nebo jako samostatnou aplikaci. Produkt je zdarma a umožňuje nám exportovat aplikace pro systémy iOS, Android, Windows Mobile a Symbian.

Jak je možné, že je zde export na Symbian a Windows Mobile, když tyto systémy nejsou dle Adobe podporvány? Důvodem je export zdrojového kódu přímo do nativního kódu daných systémů. Nevyužívá se tedy běhové prostředí Adobe AIR jako na Androidu, ale je použit stejný princip exportu do nativního kódu jako pro iOS ve Flash builderu.


Je zde ale jeden veliký rozdíl, vše se překládá do nativních objektů dané platformy, takže nejsou zdaleka podporovány veškeré pokročilé funkce flashplayeru - obecně práce s vektory a animacemi. Na druhou stranu je tento nedostatek vyvážen výkonností, která je díky nativním objektům mnohem lepší, než instalovaných AIR verzí.

 

Export aplikace

Vytvoření instalačního souboru probíhá na všech nástrojích podobně, všechny mají společné nastavení, které si popíšeme pro prostředí Flash CS5.5 a Android:

02

 

  • Output file: výstupní *.apk soubor, který se následně nahraje na Android Market, případně si jej lze stáhnout do zařízení a instalovat mimo market(pokud je povolená instalace aplikací mimo market)
  • App name: název aplikace
  • App ID: id aplikace, většinou se používá tento kód: cz.nasedomena.naseaplikace
  • Version: verze aplikace
  • Version label: označení verze (například beta, alpha ..atd. Pozor, pro iOS jsou názvy aplikace jako „beta" zakázány!)
  • Aspect ratio: v jakém režimu se aplikace zobrazuje - portrét/vodorovná poloha
  • Full screen: režim plné obrazovky bez navigačního pruhu systému
  • Auto orientation: automatická orientace-rotace aplikace při změně polohy zařízení
  • Render mode: nastavení renderování grafiky přes GPU/CPU. Do začátku doporučuji spíše CPU, GPU akcelerace může v řadě případů způsobit spíše problémy s pamětí.
  • Included files: zde můžeme doplnit další soubory, které budou součástí instalačního balíčku, nejčastěji to jsou obrázky nebo multimediální soubory

04

 

  • Certificate: Vývojářský certifikát *.p12, který si lze pro Android vytvořit přímo při exportu, pro iOS je nutné tento certifikát získat z developerského účtu.
  • Password: heslo k certifikátu
  • Android deployment type: typ exportu (do zařízení, pro emulátor, pro ladění)
  • After publishing: můžeme po dokončení publikování nechat aplikaci nahrát a spustit na připojeném(přes USB) zařízení

05

  • Nastavení ikon pro aplikaci

 

06

  • Nastavení povolení pro aplikaci, aby mohla přistupovat k některým systémovým informacím. Tyto povolení se následně objevují jako výstrahy při instalaci aplikace.

 

V následujících tutoriálech se zaměříme na samotný vývoj mobilních aplikací pro OS Android.

 

 

 

 

 

 

 

 

Ondřej Brichta Vývojář flashových a mobilních AIR aplikací, šéfredaktor Flash.cz, školitel produktů Flash, Flex, Flash Media Server

E-mail: ob(zavinac)obria.cz | Web: http://www.obria.cz |

Motto: <°))))><

Komentáře k článku  
Istota Raa | 5.10.2011 17:01
android JACK | 9.10.2011 0:53
Tip na testování multitouch niverin | 28.10.2011 13:31

Přihlášení uživatele