Android - platforma pentru aplicații mobile de la Google
November 14th, 2007 Alex
Titlu lung ce sună a advertising bullshit
Mi-a atras însă atenția, fiind o platformă bine gândită. Bazată pe kernelul Linux, include WebKit ca motor pentru browser, framework pentru redare de fișiere media destul de complet (și probabil proprietar), randare a fonturilor cu FreeType, randare interfețe 2D cu SGL, randare interfețe 3D cu OpenGL|ES, plus posibilitatea de combinație 2D+3D, SQLite inclus.
Nu sună rău deloc. Ce sună într-adevăr bine este Dalvik, mașina virtuală deasupra cărora vor rula aplicațiile. Dalvik este o mașină virtuală special optimizată pentru consum mic de resurse. Aplicațiile rulează pe Dalvik într-un proces propriu, în comparație cu JavaME care nu poate rula mai multe aplicații simultan decât folosind același proces. Asta înseamnă că aplicațiile care se blochează pe platforma Android nu blochează și alte aplicații (așa cum JavaME și .NET Compact Framework au potențialul să o facă).
Dalvik este cam ceea ce Java MVM ar fi trebuit să fie. Desigur, modelul este mult simplificat. Aplicațiile nu trebuie să ruleze în paralel, trebuie doar să ai iluzia că rulează în paralel. Atunci când se face switch între aplicații (de exemplu când ești în aplicația de email și vrei să iei datele de contact din lista de contacte) se salvează status-ul aplicației active, se închide aplicația și se trece la aplicația destinație. Cu alte cuvinte Dalvik știe de continuations.
Alt fapt interesant este că Dalvik *nu* rulează bytecode Java, având un limbaj bytecode propriu, optimizat fiind în contextul Android (consum mic de resurse, procese multiple, etc.). La deploymentul de aplicații .class sau .jar există un compilator ce face translația în bytecode Dalvik.
Framework-ul pentru aplicații nu este momentan lansat ca open-source, dar se pare că va fi lansat și licențiat cu licența Apache (probabil ultima versiune). Sunt un pic dezamăgit că nu am acces la codul sursă, dar Google se ține în general de promisiuni (cel puțin cele oficiale). Plus că Google oferă premii în valoare de $10 milioane dezvoltatorilor de aplicații ce vin cu idei interesante în cursul următoarelor luni. Deloc rău
Concurenții Android sunt SymbianOS, Windows Mobile, și câteva platforme bazate pe Linux, cum ar fi variantele ce folosesc Gnome Mobil (OpenMoko, OLPC) sau QTopia de la Trolltech. Android este interesant pentru dezvoltatori, stack-ul părând chiar solid, chiar și la acest preview. Deși OpenMoko este chiar mai interesant, efortul este foarte ad-hoc (în stilul bazarului open-source), și din păcate dezvoltatorii de telefoane sunt interesați de standardizări: de unde și motivul pentru care Java ME, oricât de oribil ar fi, a avut succes.
Update: am uitat sa pun linkul: code.google.com/android/
Posted in linux, mobile, technology | 1 Comment »