În Inspirație

Introducere în Android

Android

Telefoanele mobile sunt de mult timp o parte importantă a vieții de zi cu zi și, odată cu introducerea smartphone-urilor, ele au ajuns să își facă simțită prezența și în alte domenii decât comunicarea. Avansul tehnologic a dus în sfera mobilă nu doar telefonia, ci și transferul de date și serviciile de localizare.

Puțină istorie

1. Primii pași

În trecut, exploatarea acestora a fost destul de complicată, pentru că toate tehnologiile ce alcătuiau terminalele mobile erau proprietare, iar acest fapt a reprezentat un obstacol major, în principal, pentru dezvoltatorii externi.

Principalele motive ar fi:

  • Lipsa disponibilității codului sursă;
  • Costurile de licențiere destul de ridicate și condițiile foarte restrictive;
  • Livrarea aplicațiilor spre consumatorii finali era foarte dificilă;
  • Lipsa aproape totală a SDK-urilor sau API-urilor dedicate.

Toate acestea s-au schimbat însă în iunie 2007, când Apple a introdus pe piață iPhone. La doar un an mai târziu, Google a introdus primul lor sistem de operare pentru telefoane mobile, cu numele de Android, împreună cu smartphone-ul G1. În comparaţie cu Apple, Google a optat pentru o strategie diferită de atragere a dezvoltatorilor de aplicații și terminale, prin aplicarea modelului open-source, publicând sursele sistemului de operare în cadrul AOSP (Android Open-Source Project).

2. Evoluția

Prima versiune comercială de Android, 1.5, a intrat pe piață în Aprilie 2009 sub numele Cupcake. Toate versiunile de Android, de altfel, au nume de cod inspirate după diverse deserturi sau dulciuri. A urmat o accelerare a dezvoltării, fiind lansată următoarea versiune majoră, 2.1 Éclair, înainte de finalul aceluiași an. Primele versiuni cu adevărat mature și cu impact semnificativ în cadrul comunității de dezvoltatori au fost lansate în 2010, în mai (2.2 Froyo), respectiv decembrie (2.3 Gingerbread).

În 2011, odată cu confirmarea tabletelor ca piață importantă și cu potential pentru tehnologia mobile, Google a lansat versiunea 3.1 Honeycomb a sistemului de operare, orientată însă exclusiv spre acestea. Odată cu această lansare a avut loc și o puternică consolidare și unificare a serviciilor din zona de consumer caracterizată în principal prin accentul pus pe user experience cât și pe puternica integrare a serviciilor (GMail, Search, Calendar, etc.).

Honeycomb a fost mai mult o versiune de sacrificiu, fiind adoptată doar pe un număr mic de tablete care au pionierat intrarea Android pe acea piață. Cota nu a depășit 2%. Răspunsul la noua versiune a fost însă foarte pozitiv, iar, în decembrie 2011, Google introduce versiunea 4.0 Ice Cream Sandwich. Această versiune aduce împreună versiunile pentru telefoane și pentru tablete, unificând în același timp interfața grafică, conferindu-i un stil aparte și o identitate proprie.

În prezent, cea mai recentă versiune de Android este 4.2 Jelly Bean, lansată la 13 noiembrie 2012.

3. Prezentul

Platforma acaparează tot mai mult din piața de terminale mobile, în special datorită politicii mult mai permisive decât cea a lui Apple. Android este prezent în peste 30% din terminalele mobile de pe piața globală fiind cel mai răspândit sistem de operare mobil. Faptul că Android are până în prezent 4 versiuni majore și 8  minore, a dus la fragmentarea cotei de piață. Totuși doar două versiuni ocupă o cota semnificativă, restul fiind destul de neglijabile ca pondere. Astfel, cele mai răspândite versiuni sunt 2.3 cu 54.3% și 4.0 cu 25.8%2.

Platformă

1. Structură

Ca orice altă platformă de dezvoltare, Android este alcătuit din mai multe straturi, fiecare reprezentând o funcție specifică și având responsabilități clare. Acestea sunt:

Applications: aici nu cred că este nevoie de nicio prezentare, ele reprezentând aplicațiile prezente pe Google Play.
Application Framework: Application Framework reprezintă o parte puternic integrată a platformei și a SDK-ului și oferă o serie de API-uri pentru interacțiunea high-level cu sistemul de operare.
Middleware Libraries: aşa cum sugerează și numele, aceasta este o colecție de componente care fac legătura dintre sistemul de operare și aplicații. Aici sunt conținute funcții, cum ar fi stocarea de date, engine-ul grafic și altele.
Operating System: baza este reprezentată de sistemul de operare care este bazat pe Linux și se comportă exact ca și omologul de pe desktop

2. Java, dar fără Java

Android este construit pe limbajul celor de la Sun/Oracle – Java. De mult timp un lider pe piața de open-source, Java oferă versatilitatea necesară unui astfel de sistem de operare, mai ales datorită gamei foarte diferite de terminale disponibile. Cu toate acestea, Android nu rulează aplicațiile în mașina virtuală Java clasică, Google dezvoltând Dalvik Virtual Machine ca și înlocuitor. Aceasta a fost dezvoltată plecând de la o serie de principii de bază necesare pentru terminalele mobile:

  • Trebuie să ruleze rapid pe procesoare mai slabe;
  • Trebuie să ruleze rapid pe sisteme cu memorie puțină;
  • Trebuie să nu consume multă energie și resurse.

În același timp, Dalvik nu folosește bytecode-ul clasic de Java, ci generează un bytecode adaptat nevoilor platformei. Astfel, Google reușește să îmbine versatilitatea Java cu o arhitectură capabilă să ofere performanța necesară aplicațiilor mobile.

Aceasta a fost prima parte a introducerii în Android. În articolul următor, veți afla mai multe despre mediul de dezvoltare a platformei, testing & profiling și, bineînțeles, despre procesul de publicare a unei aplicații.