Jönnek az androidos appok Chrome OS-re
Az eredeti koncepcióhoz képest gyökeresen eltérő implementációt választottak a Google fejlesztői az Chrome OS és az Android fúziójához. Paradox módon a vesztesek a Windows-felhasználók, ők maradnak ki ezzel a szórásból.
Hivatalos: érkeznek az Android alkalmazások a Chrome OS-es eszközökre, így a milliónyi Chromebookra és Chromeboxra. A Google sokéves erőfeszítése végre beért, a cég a múlt heti fejlesztői konferenciáján be is mutatta a funkcióval felruházott, egyelőre béta szoftvert futtató Chromebookokat. A fejlesztés ugyanis még nincs egészen készen, de várhatóan a következő hónapokban a végfelhasználók is birtokba vehetik a nagy horderejű új megoldást.
Mi tartott ennyi ideig?
A bejelentés egyik meglepetése: 2016-ot írunk. Miért fura ez? Mert sokkal korábbra vártuk. A Google ugyanis évekkel ezelőtt, még 2014-ben mutatta be a legelső iterációt, a fejlesztés pedig a céghez képest csigalassúsággal zajlott. Most kiderült, hogy miért: az eredeti megközelítést ugyanis a fejlesztőcsapat egy ponton kidobta, és gyakorlatilag nulláról újra nekifutott a megvalósításnak. Hogyan néz ki tehát ez az új rendszer?
Az elérhető információk szerint a Chrome OS részévé vált a teljes, módosítás nélküli Android Framework, konténeres formátumban. Ennek nem csak az ART Java futtatókörnyezete, hanem a teljes androidos stack része, le egészen a hardveres absztrakciós rétegig - mondta az Ars Technicának Zelidrag Hornung, a Chrome és Android fejlesztési igazgatója. Ez azt jelenti, hogy a Google gyakorlatilag portolta az Androidot az egyes Chromebookok hardveres környezetéhez, és ott futtatja, natív formában (tehát például virtualizáció nélkül).
Fejlesztőknek teljesen transzparens
A megközelítés hatalmas előnye, hogy az androidos fejlesztők számára teljesen transzparens, vagyis az appok módosítás nélkül futnak majd Chrome OS-en is - hiszen az androidos stack identikus a telefonos-tabletes Androiddal. A magas kompatibilitást jól jelzi, hogy a Chrome OS-es Android Framework teljesíti (vagy teljesíteni fogja a rajtra) a standard kompatibilitási tesztet, az Android Compatibility Test Suite-et (CTS). Ez ugyanaz a teszt, amit az androidos gyártók telefonjainak és tabletjeinek kell teljesíteni ahhoz, hogy megkapják a Play Store-hoz való hozzáférést.
A gyakorlatban ez azt jelenti, hogy minden androidos API-hoz tartozik megfelelő Chrome OS-es kivezetés, a Google ígérete szerint a háttértár elérésétől a jogosultságokig, az érintés kezelésétől az értesítésekig minden pontosan ugyanúgy működik (a fejlesztő szemszögéből), mintha telefonon vagy tableten futna az alkalmazás. Az API-k kivezetése azonban a Chrome OS-hez illeszkedik, például a megosztás funkció egy Chrome OS-natív panelt húz elő, de az értesítések is integráltan, az operációs rendszer megfelelő felületén jelennek meg. A kompatibilitásban a Google annyira biztos, hogy a Chrome OS-en a teljes Play Store-t elérhetővé teszi majd, tehát több, mint egymillió alkalmazás közül válogathatnak majd a felhasználók a hivatalos induláskor.
A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.
Egyetlen ponton viszont érdemes lesz hozzányúlni az alkalmazásokhoz, ez pedig az átméretezhetőség. Az Android N ugyanis végre támogatja majd az appok osztott képernyő futtatását, ezt pedig az alkalmazásoknak is megfelelően kell lekezelni. Az új képesség pozitív mellékhatása, hogy az átméretezhetőség a Chrome OS ablakozó felületén is sokat dob a használhatóságon - az appok ugyanis tetszőleges méretűre nagyíthatóak-kicsinyíthetőek, vagyis pont úgy működnek majd, mint a Chrome webes alkalmazásai.
Az Android elsődleges architektúrája az ARM, feltevődik a kérdés, hogy mi lesz így az x86-os Chromebookokkal? Itt bizonyul hasznosnak az a munka, amit az Intel és a Google már korábban elvégzett az x86-os androidos telefonok és tabletek kapcsán. A fejlesztői eszközök ugyanis már egy ideje teljes x86-os kompatibilitással rendelkeznek, így az ARM-os bináris mellett elkészítik és a boltba feltöltik az x86-os verziót is. Hornung szerint az appok kb. háromnegyede már rendelkezik ilyen x86-os verzióval. A maradék futtatásáról pedig ugyanaz a bináris fordító réteg gondoskodik, mint az inteles telefonoknál, ez teljesen elfedi az architekturális különbségeket és elegendően gyors ahhoz, hogy a felhasználó ebből semmit ne vegyen észre. Ez a telefonoknál már bevált, a lényegesen gyorsabb Chromebookoknál is működni fog sejtésünk szerint.
Nem erről volt szó
A fenti implementáció jelentős eltérés az eredeti koncepciótól. Az első elképzelés az App Runtime for Chrome (ARC) nevet kapta és a Chrome fejlesztői oldalán most is béta állapotúként szerepel. Az ARC különlegessége, hogy az androidos kompatibilitást nem a rendszer részeként, hanem a böngészőben, tehát a Chrome-ban valósította volna meg, felhasználva a Chrome Native Client (NaCl) futtatómotorját.
Az ARC fejlesztése azonban a vártnál sokkal lassabban haladt, az androidos kompatibilitási teszt teljesítése pedig túlságosan nehéznek bizonyult - mondják a fejlesztők. Emiatt egy ponton a projektet teljesen elkaszálta a Google, a cég mérnökei pedig visszatértek a tervezőasztalhoz. A második nekifutás már a fent leírt felfogást használja, vagyis a Chrome és az Android Framework implementációja egymástól független.
Az eredeti megközelítés többek között azon bukott el, hogy az Android NDK-t, vagyis a rendszer másik, C++-os fejlesztői készletét egyáltalán nem támogatta, ezzel a játékok túlnyomó többsége például azonnal kiesett volna. Emellett a fejlesztőknek a javás appokba is alaposan bele kellett volna nyúlniuk, vagyis a direkt Play Store kompatibilitás elérhetetlen lett volna.
Érdekes módon a váltás a legkevésbé a Chrome OS felhasználóit érinti: ők így is, úgy is megkapták az androidos appok futtatásának lehetőségét. Az új megközelítés azonban lemond a keresztplatformos implementációról - míg az eredeti projekt eredményét Windows és OS X alatt is élvezhettük volna, az új logika szerint kizárólag Chrome OS-en lesznek androidos appok.
A jövőben ez persze elvben változhat, ehhez azonban a Google-nak windowsra és más rendszerekre is portolnia kell az Android Frameworköt, ami elképesztően nagy feladat még egy ekkora vállalatnak is. Jól mutatja ezt, hogy az új képességet nem is minden Chromebook kapja például meg: a Google közzétette a kompatibilis eszközök listáját, erről pedig a régebbi modellek lemaradtak, nagyjából a két éves daraboknál húzta meg a vonalat a cég, nem került be például az első Chromebook Pixel sem. A döntést valószínűleg az indokolja, hogy a Google úgy döntött, bizonyos hardverekre nem portolja az Android Frameworkot - még a Chrome OS-ökoszisztémán belül is problémát okozott a teljes spektrum támogatása.
Választható tantárgy
A Chromebookok a legnagyobb sikert (paradox módon) nem a konzumer szegmensben, hanem az amerikai oktatási piacon és néhány intézményi vásárlónál érték el, ahol a rendszer drákói zártsága (alkalmazások egyáltalán nem telepíthetőek, a felhasználói fiókok nem perzisztensek) fontos előnynek bizonyult. Nyilván e szervezetek alapigénye, hogy tiltani vagy korlátozni tudják az androidos appok telepítésének lehetőségét is - erre pedig a Google lehetőséget ad. Annyira, hogy alapértelmezésben a képesség nem is lesz elérhető, az androidos appok futtatását a rendszergazdának engedélyeznie kell. De még ez sem fekete-fehér, az engedélyezés után is korlátozni lehet a telepíthető appok körét.
Az Android kapcsán persze azonnal felmerül a kérdés: az Android Framework rendszeresen frissül majd a Chrome OS részeként? A Google ígérete szerint igen, a gépek kapják majd a havi rendszeres biztonsági javításokat, és az Android-főverziók is rendben érkeznek majd a gépekre - pontosan úgy, ahogy a Nexus készülékekre. Mivel a Chromebookok fölött a Google teljes szoftveres irányítást gyakorol, ebben jelenleg nincs miért kételkedni, a Chrome OS-t eddig is példás rendszerességgel frissítette a cég.
Bring Your Android App to Chrome OS - Google I/O 2016
Még több videóAz implementáció kapcsán egy (eléggé fontos) részletre érdemes még felhívni a figyelmet: a Google valahogyan elérte, hogy két szabad szoftveres operációs rendszer (a Chrome OS és az Android) kombinációja már nem nyílt forráskódú, és nincs is tervben a szoftver kinyitása. Ez roppant meglepő, a Google régen a szabad szoftveres közösség egyik zászlóvivőjének számított, és az Android kapcsán is sokat hangoztatta annak nyitottságát. A rendszert az elmúlt években azonban fokozatosan zárja be a cég, a rendszer fontos elemeit cseréli szabad szoftverről tulajdonosi (zárt) szoftverre. Ebbe a mintázatba sajnos jól illeszkedik ez a lépés is, a Google által elvégzett portolást így nem ismételheti meg más platformon a szabad szoftveres közösség.
UWP - így versenytárs nélkül
A Chrome és az Android összekapcsolása hatalmas fegyvertény lett volna a Google-től, és egy csapásra felborította volna a kialakult erőegyensúlyt az alkalmazásplatformok piacán. Azzal ugyanis, hogy a Play Store milliónyi minőségi alkalmazása elérhetővé válik Windowson, a cég kihúzta volna a szőnyeget a Microsoft UWP-stratégiája alól - hiszen egységes platformot kínált volna nem csak kétmilliárd androidos eszköz, hanem az összes támogatott Windows verzió felé is a Windows 7-től a Windows 10-ig (az UWP kizárólag Windows 10-et céloz, az okostelefonos piacon pedig gyakorlatilag nincs jelen). A forradalom így tehát elmaradt, a Microsoftnak így "csak" a Win32-t kell legyőznie a hazai pályán a jövőben.