Egy hete már írtam a Google Android platformjáról, amikor a Google bejelentette azt. Tegnap végre közzétették a programozói felület fejlesztők számára érdekes részleteit is, ennek kapcsán most már többminden látható a múlt heti (semmitmondó) bejelentéshez képest.

A véleményemet már részben kifejtettem a Kispad idevágó bejegyzésében, de úgy érzem, tudom én ezt még részletesebben is. Mindenekelőtt két indító gondolat. Egyrészt akarva, akaratlanul, az Android operációs rendszer/programozói interfészt az iPhone+Mac OS X mobil verziója párossal hasonlítom össze, mivel nemrégiben beszereztem egy iPod Touch-ot, és eléggé beleszerettem a hackelhetőségébe. Másrészt az is megér pár mondatot, hogy miért is szerepel ez a bejegyzés a webről szóló blogomban. Ahogy elnézem, a jövő programozása a mobil platform, az asztali platform és a webes platform egyre közelibbé válásáról fog szólni. Az iPhone egy igen jó példa a webalkalmazások mobilizálására, mivel a modern webalkalmazásokat az iPhone Safarija támogatja a legjobban teljes értékű és kényelmesen használható böngészőjével. A web és az asztali szoftverek közeledéséről is írtam már, a lényeg tehát, hogy úgy látom, szűnnek meg a határok és a falak is.
Az Android platformot egyelőre kétkedve fogadom. Most már látszik, hogy a Google nem a levegőbe beszélt egy hete, de ezzel együtt tovább is mehettek volna ami az API-t illeti. A közzétett demókból, dokumentációból az szűrhető le, hogy az Android mobilok az iPhone-hoz hasonlítva sem szebbek, sem kényelmesebbek nem lesznek még egy ideig – egyedül arra van remény, hogy okosabbak lesznek. Eszpee gondolata ehhez jó kiegészítés, miszerint “viszont ez a dolog nem (csak) az iPhone szintű okostelefonokról szól“. Avagy az Android a “buta” és az iPhone szintű okostelefonok közötti kategóriában tényleg erőssé vállhat. De nézzük a kétkedés és az ujjongás részleteit is meg:
Az API-t átnézve (főként annak, aki ismeri a J2ME-t) feltűnhet, hogy nem okosabb és részletesebb az Android, mint a már most is használható lehetőségek (J2ME, Symbian). Az Android egyvalamiben látszik ügyesebbnek: lehetővé teszi rendszerközelibb alkalmazások készítését, ami a mobiltelefonnál azt jelenti, hogy például hívások, SMS érkezésének lekezelését is. Ezt leszámítva láttam már hasonló, többet tudó API-kat a Java és nem Java környékén asztali alkalmazások fejlesztésére is, és nem érzem úgy, hogy bármi forradalmi lenne ebben az API-ban. Az okosabb, hasonló jellegű API-k sem csábítottak el igazán.
Java. Ez nekem nagyon sokat mond. Egyrészt, hogy egyelőre még nem sikerült elsajátítanom ezt a nyelvet, így nem tudok hatékonyan fejleszteni benne. Ennek ellenére egyrészt az új Java nyelvi verziókban számos nagyon szimpatikus újdonság jelent meg az olyan script-kiddie (általános értelmezésétől eltekintve itt értsd: script nyelveket kedvelő) számára is, mint én vagyok, illetve lehet, hogy most már ideje lenne ezzel a nyelvvel is foglalkozni egy kicsit. Ezenkívül még nem láttam gyorsan induló Java alkalmazást. Java segítségével lehet gyors alkalmazást írni, de az Java gép beindítása, egy alkalmazás inicialiálása jellemzően még egy 1-2 GHz-es gépen sem mondható gyorsnak, nem tudom, hogy ezt egy kb. 400 MHz-es processzoron hogyan tudja, meg tudja-e valósítani a Google. Az Android ugyanis nem Java alapú operációs rendszerről szól, hanem egy “sima” Linux alapú. A gyors alkalmazásindítás megvalósítható, ahogyan a Java webkiszolgálók esetében is, előre be kell indítani a Java értelmezőből párat. Remélhetőleg ezt, vagy akár valami okosabbat is össze fog tudni hozni a Google. Egy másik lehetőség, hogy a jelenleg propagált Java mellett script, C és C++ fejlesztői eszközök is napvilágot látnak majd, Linux alap révén erre azért komoly esély van.
A jelenleg közzétett interfész elemek szegényesebbek az iPhone-on rendelkezésre állóknál kinézetükben és lehetőségeikben. Az iPhone platform jelenleg zárt, így nem tudok doksira linkelni, az eddig iPod Touch-on látott third-party fejlesztők által készített egységes interfész elemek (például egy nagyon szép progress bar) mondatják ezt velem. Az Apple-nek a fejlesztőket nagyon jól segítő interface guideline-jai (bocs, hirtelen nem találtam jó fordítást) is nagyon sokat jelentenek, látva a Mac-es alkalmazások kiváló használhatóságát a Windows-os és Linuxos társakhoz képest. Mondjuk ez az, ami a jövőben fejlődni fog és tud, egyrészt a Google által, másrészt pedig azért, mert ilyen interfész elemek szabadon készíthetőek lesznek.
És most jutottunk el oda, ami szintén egy aggodalmam a használhatóságot, egyszerű kezelhetőséget, kompatibilitást és egységességet illetően. Az, hogy ez a platform túl nyílt. Láthattuk, hogy ez mit jelent a Linux esetében: rengeteg irányt, több párhuzamos “szabványt” alkalmazásfejlesztésre (mondjuk KDE és Gnome, Gtk és Qt, stb.), “káoszt”. Ez jó, mert sokminden közül választhatsz, rossz, mert nem egységes semmi sem. A Linux hosszú évek után mostanra kezdi kinőni ezt a gyermekbetegségét különböző kezdeményezések által. Erre lehet a válasz, hogy de hisz itt csak egy platform van, de ez a platform nyílt, fiatal, egyelőre hiányoznak elemei, és a különböző fejlesztők ezeket a hiányosságokat különbözőképpen fogják az elején befoltozni, megkerülni. Ez ellen a Google egyféleképpen védekezhet, egy tettrekész, hiperaktív saját fejlesztői gárdával, a jó fejlesztői könyvtárak kiemelésével, a kevésbé jók elsorvasztásával, beolvasztásával, az egységesítéssel, a szigorú gyeplővel a fejlesztők, alkalmazás gyártók felé. Ehhez nagyon-nagyon oda kell tennie magát, ha ez sikerül neki, akkor szinte a lehetetlent fogja véghezvinni.
Szintén kérdéses a hardvergyártók minőségre törekvése is. Az eddigi telefon felhozatalt látva kevesek tudnak igazán minőségit alkotni interfészek terén, és az Andorid csapatban sem az ászok szerepelnek. Attól tartok, hogy az igényességet nem sajátították el a gyártók a csatlakozással. Nem lesznek jobb programozóik, interfész tervezőik, mert például a hiányzó láncszem Nokia ezeket már rég elszipkázta. Hogy a Google delegálni fog-e nekik fejlesztőket (vagy legalább minőségellenőrzést végez-e), egy erős platform tud-e ezen segíteni, nem tudom. De az erős platformot egyelőre még nem látom, és a Google segítsége pedig biztosan pénzbe kerül – erre pedig eddig sem költöttek túl sokat. Azért itt is van remény a fejlődésre, de félek, hogy gagyi saját szoftvereket, kis nüansznyi baromságokból, hardveres inkompatibilitásból adódó problémákból, szoftveres módosításokból összejön majd annyi, hogy kezdetben nem fog sokat érni a platform nyíltsága.
Az egységesség, nyíltság mégvalamit hozhat, a vírusokat. Ezen a téren azonban az Android felkészültnek látszik, bízzunk benne, hogy ez a gyakorlatban is így lesz, és kevés rés lesz a pajzson, a felhasználók pedig tudni fogják, hogy mit csinálnak. Mindazonáltal megvan az esélye, hogy 2008 a mobil vírusok éve lesz.
A vége felé kitérek arra is, hogy a webfejlesztés szempontjából az, hogy a hivatalos böngészőnek a Google a Webkitet választotta, számomra pozitívnak tűnik. Egy fejlett, s bár JavaScriptben még nem, de megjelenítésben nagyon erős, gyorsan fejlődő, nyílt és kellemesen gyors böngészőről van szó. Az Apple sem véletlenül választotta ezt a motort a Safarinak, és nem véletlenül ez fut az iPhone-on sem. Ha a mobil gyártók kijönnek egy az iPhone-hoz hasonlító felbontású kijelzős mobillal, a Google pedig szoftver szinten biztosítja a kompatibilitást (nem túl nehéz), akkor máris futni tudnak az iPhone alkalmazások az Android telefonokon is.
Az Android telefonok hackelhetősége, bővíthetősége még így is várhatóak elég magas lesz. Kérdés, hogy jobb lesz-e a megnyitott iPhone SDK-hoz képest is, az OpenMoko-hoz (Nokia közel van ehhez) hasonlítva? A Google állt oda, így a hype, az erős videós és dokumentációs gyakorlata miatt erre jó esélyt látok, bár pont ezekaz Apple+iPhone-nak is sajátjai. A Google mindazonáltal hatalmas tőkével rendelkezik, és ezt be is veti: 10 millió dollárt szán az induló fejlesztésekre.
Ígéretes, és egyelőre nem tudom hova tenni azt, hogy egészen magas támogatottságú a projekt a Google-n belül is. Mutataja ezt az, hogy Eric Schmidt prezentálta egy hete az Androidot, vagy hogy Sergei Brin (Google alapító atyaúristen) is szerepel a mostani bemutató videókon. Igazából tökmindegy, hogy ezeke az emberek valóban részt vesznek-e az Android marketingjében és fejlesztésében, vagy csak a mostani kezdeti lendületet kívánták-e megadni a projektnek, mert nagyon magas marketing/jelzés értékű ez a tény. Nem véletlen, hogy Steve Jobs prezentál minden újdonságot az Apple-nél, és ennek az Androidnál történő megjelenése sokat érhet a platformnak.
Az Android minden fenti kétkedésem ellenére egy ígéretes indulás, és sokat jelenthet a mobil számítástechnikának. Ahogy az iPhone feladta a leckét és igen magasra tette a lécet az interfész és design terén, addig az Android a nyíltságával határoz meg egy magas szintet. Ez erős versenyt indíthat be, ami a felhasználóknak jól használható telefonokat, a fejlesztőknek pedig egy új, elérhető, könnyen programozható platform megjelenését jelentheti. Még meglátjuk, mi lesz ebből. És megint Kispadot és eszpee-t idézek
, amivel ő kezdte, én azzal fejezem be: “Ez nagyjából a legnagyobb dolog, ami a mobiliparral mostanában történik“.