Tizen a ACL: spouštíme Android aplikace [video]

OS Tizen bude moci spouštět Android aplikace a hry. Vyzkoušeli jsme si, jak to bude fungovat v praxi.

Operační systém Tizen má hned ve svém zárodku překlenout nevýhodu nových mobilních operačních systémů oproti těm dávno zavedeným, nemá trpět nedostatkem aplikací. Pomoci mu k tomu má vrstva ACL (Application Compatibility Layer), která umožní spuštění aplikací dříve naprogramovaných pro Android. Tato vrstva je vytvořená uskupením OpenMobile a mimo Tizenu může běžet i na WebOS, Windows, Linuxu, Ubuntu, Firefox OS a dalších.

Vrstva ACL využívá projekt AOSP (Android Open Source Project), virtuální stroj Dalvik a další aplikační software k němu přidružený, včetně nativních knihoven, Android knihoven a ACL knihoven. V praxi to vypadá tak, že v systému Tizen můžete v hlavní nabídce vidět vedle sebe nativní i ACL aplikace (tedy i ty původně napsané pro Android), uživatel mezi nimi nepozná žádný rozdíl. Stejné je to i ve správci úloh nebo při jejich odinstalaci. ACL aplikace jsou tedy začleněny do systému na stejné úrovni jako Tizen aplikace.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Vrstva ACL je na stejné úrovni jako nativní aplikace, uživatel, aplikace z Androidu jsou u Tizenu začleněny mezi nativní aplikace, podporována je i celá řada čidel a senzorů

Jediný rozdíl je skryt v background kódu při spouštění. Po kliknutí na ikonu se totiž aplikace spouští ve vlastním virtuálním stroji Dalvik, tak jako na Androidu. K aplikaci jsou nalinkovány potřebné knihovny v závislosti na požadovaných funkcích (přístup do paměti, přístup na internet, ...), výkonu (použij více procesorů, použij OpenGL ES 2.0,...) nebo hardwarových požadavcích (použij GPS, fotoaparát, ...). Pokud hra požaduje např. výkonnou 3D grafiku, může ji ACL napřímo propojit s grafickým akcelerátorem. Pokud aplikace provádí volání do Androidu, jsou okamžitě mapována do připojených knihoven. Ty pak komunikují přímo s hardwarem na Tizen smartphonu, využívat se tak mohou napřímo i různá čidla a senzory. V ACL tedy nefiguruje žádná emulace nebo virtualizace, která by celý proces zpomalovala.

Polaris App Player a Generator

Jak bude použití vrstvy vypadat ve skutečnosti? Do aplikačního obchodu Tizen Store bude nahrána implementace vrstvy ACL. Těch může být hned několik, každá aplikace však bude využívat jen tu, pro kterou byla překonvertována. Uživatel si v obchodě vybere Tizen aplikaci a stáhne ji (do telefonu se uloží jako soubor *.tpk), jakmile ji poprvé spustí a telefon zjistí, že podpůrnou implementaci ACL vrstvy ještě nemá, stáhne si ji z internetu. Jedná se o jednorázovou operaci, další aplikace již mohou ACL vrstvu využívat bez dodatečného stahování dat. Při používání implementace vrstvy ACL je třeba, aby aplikace již byly převedené do instalátoru Tizenu (Android *.apk soubor musí být převeden na Tizen *.tpk), přímá instalace *.apk na Tizen se tedy nekoná.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Architektura mobilního zařízení s Tizenem. Samotný převod aplikací z Androidu má svá úskalí, u osmdesáti procent aplikací z Google Play však půjde aplikaci převést bez dodatečných programátorských zásahů

O tyto služby se na internetu stará řada společností, většina z nich umožňuje převod i umístění na aplikační portál Tizen Store. My jsme si chování vrstvy ACL vyzkoušeli u řešení společnosti Polaris, která je v současné době známá spíše jako dodavatel kancelářských řešení Polaris Office. Polaris App Generator je webová služba, která ze stávajícího Android *.apk instalátoru vytvoří Tizen *.tpk instalátor. Před konverzí navíc zkontroluje, zdali může aplikaci převést na plnohodnotnou funkční verzi.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Ukázkový příklad mapování knihoven na hardware v případě aplikace Skype. Z pohledu uživatele se při stahování aplikací nic nemění, pokud stažený titul potřebuje vrstvu ACL, a není nainstalována, aplikace si ji před spuštěním stáhne na pozadí

V současné době lze podle společnosti Polaris úspěšně převést na Tizen 80% aplikací a her z Google Play bez dalšího programování, zbylé aplikace je potřeba upravit, protože současné restrikce zahrnují nemožnost využívání služeb na pozadí, přístup k citlivým datům, nemožnost přístupu k vybraným nastavením a aplikačním rozhraním či nemožnost využití Service Frameworku od Googlu, který poskytuje řadu interních služeb Androidu. Ačkoliv to není nikde potvrzeno, převést šly pouze ty aplikace, mezi jejichž podporované verze patří ještě Android 2.3.7 Gingerbread. Je pravděpodobné, že současná omezení budou vyřešena přidáním nových aplikačních rozhraní do Tizenu, jakmile se systém konečně dostane do komerčně prodávaných zařízení.

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
Webová služba Polaris App Generator se stará o převod ze souboru *.apk na *.tpk. V řadě případů však díky použitému API nelze aplikaci úspěšně překonvertovat

Po registraci na stránkách pag.polarismobile.com je možné na vzdálený server uploadovat *.apk soubor s cílem převést jej na *.tpk. Zároveň je k souboru třeba přidat informaci o jeho číselné verzi. Jako bonus je pak možno aplikaci přiřadit vlastní ikonu a vlastní splash screen, tedy obrázek, který se zobrazí na pozadí při stahování podpůrného balíku na pozadí. Po nahrání balíčku je spuštěna analýza. Pokud aplikace neporušuje výše zmiňovaná omezení, jsou načtena všechna oprávnění, které aplikace ke svému běhu potřebuje, a třídy, které využívá. Načtená data jsou označena jako rizika a při instalaci aplikace se zobrazí uživateli podobně, jako se tomu děje u Androidu. Každou položku si lze rozkliknout a podívat se na podrobnosti. Po jejich potvrzení se zobrazí Tizen obrazovka se službami, které aplikace může využívat. Pokud s některými nesouhlasíte, můžete je odškrtnout a aplikace k nim nebude mít přístup.

Virtuální laboratoř

Pro testování ACL jsme využili vzdálenou testovací laboratoř Samsungu, ve které je možné na dálku přes připojený server ovládat fyzická zařízení. Mimo celé řady Android smartphonů a tabletů je na výběr i Tizen 2.2 běžící na vývojářských modelech označených jako Tizen PD-RQ. Pro její spuštění stačí být přihlášen pod Samsung účtem, pod kterým máte vedeny kredity. Pokud se přihlásíte do vývojářské sekce, každý den vám bude přiděleno 20 kreditů, za 30 minutovou rezervaci zařízení pak „zaplatíte“ 2 kredity.

Přes Polaris App Generator jsme do telefonu překonvertovali řadu aplikací, např. komunikátor ChatOn, aplikační obchod Google Play, ES File Manager, hru Gun Bros Multiplayer či Angry Birds. Po spuštění první aplikace s ACL se na pozadí stáhl Polaris App Player ve verzi 2.0.2, což je podpůrná implementace ACL vrstvy od společnosti Polaris. Jedná se o 28MB *.zip soubor, který je po stažení nainstalován do složky Ostatní. Jeho součástí je mj. i emulace složky /sdcard, která je určena pro soubory, jenž využívají aplikace původně napsané pro Android. Ty totiž jinak nevidí do interní paměti Tizenu.

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
Hlavní nabídka Tizenu, spuštěná, lež nefunkční aplikace Google Play, ES File Manager naopak fungoval bez problémů, napojit se však uměl jen na emulovanou Android paměť. ChatOn se spustil bez problémů, ale bez telefonního čísla ve smartphonu se dále nedostanete. Android aplikace mají i svoji klávesnici, porovnat ji můžeme s nativní, která se zobrazí při psaní zprávy
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
Při instalaci dříve Androidí aplikace se zobrazují nejdříve oprávnění Androidu, které musíte potvrdit. Dále je zobrazena obrazovka s oprávněními Tizenu, pokud nechcete aby aplikace využívala např. vaši pozici, můžete ji v tom odškrtnutím dané položky zabránit
Klepněte pro větší obrázek Klepněte pro větší obrázek
Přes ACL fungují i hry, které si potřebují stáhnout uvnitř sebe podpůrná data. Ta se stahují do lokace Telefon/Others/PolarisPlayer/sdcard

Protože testování Android aplikací probíhalo vzdáleně, můžeme jejich plynulost pouze odhadovat. Na publikovaném videu od společnosti Polarismobile jsou však výsledky porovnávány mezi vývojářským zařízením Tizenu a Galaxy S III s Androidem, plynulost a rychlost ovládání se zdá býti podobná.

Aplikační portál Google Play šel spustit, ale nedostali jsme se dále, protože vše vázlo na přidání nového účtu. Komunikátor ChatOn se spustil bez problémů, texty se dokonce zadávaly na systémové klávesnici Androidu. ES File Explorer fungoval bez problémů, dostat se však mohl pouze do emulované paměti. Gun Bros 2 byl hratelný, vzdálený přístup k Tizen smartphonu však neumožňoval multitouch, který je pro hru potřebný. Bez problémů jsme si však zahráli Angry Birds, sekání grafiky přisuzujeme zejména ztrátám paketů při vzdáleném napojení na server v Polsku. V praxi tedy platí, že samostatné hry a aplikace půjde většinou po převodu plnohodnotně používat, komplikovanější a provázané aplikace již nikoliv.

Expanze Android aplikací?

Tizen asociace porovnávala výsledky benchmarků Galaxy S III s Tizen smartphonem s vrstvou ACL a jejich stanovisko říká, že byly naměřené hodnoty velmi podobné. Pro chystaný operační systém Tizen se tak otevírá cesta k rychlému převodu aplikací dříve napsaných pro systém Android. Převody sice budou mít svá úskalí, většinu aplikací by však mělo být možno převést bez dalších programátorských úprav, takže se vývojářům otevírá nový potenciální trh, do nějž nejsou investice až tak vysoké. ACL musí u Tizenu ale překonat ještě řadu nástrah, zejména ve spojitosti s podporou novějších aplikací (Android 4.0+) a odstraněním současných omezení.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Angry Birds na Tizenu fungují stejně jako na Androidu, svižnost a překreslování obrazu by měly být stejné jako na Androidu, alespoň tak to slibuje konsorcium OpenMobile

Pokud vše dopadne podle představ, bude mít Tizen od spuštění prodeje prvních smartphonů vyřešen problém s nedostatečným počtem aplikací. K jeho úspěchu na trhu ale bude potřeba něco navíc, jedním z aspektů může být svižnější uživatelské rozhraní oproti Androidu, druhým může být cena. A na závěr si bude Samsung muset na klíčovou otázku: „Čím přinutit současné uživatele Androidu, aby se jej vzdali ve prospěch Tizenu?“

Zdroj: Slidershare [1] [2]

Témata článku: Android, Mobilní aplikace, Samsung, Technologie, Tizen

16 komentářů

Nejnovější komentáře

  • Naecken 30. 1. 2014 10:05:21
    Je super, že Samsung už dokáže konvertovat aplikace z Androidu... Akorát...
  • PetrL113 30. 1. 2014 9:50:25
    No tak to je hodně zajímavý a vypadá to jednoduše. Uvidíme jak to bude...
  • Martin Kozak 30. 1. 2014 8:30:13
    Moc pěkný! Ale nebude to pro většinu uživatelů i tak příliš komplikovaný...
Určitě si přečtěte