Sky: Google încearcă să pună bazele unui viitor Android fără Java

Autori: Dorian Prodan, Liviu - Andrei Mihai 04.05.2015
Sky: Google încearcă să pună bazele unui viitor Android fără Java

Aplicaţiile scrise pentru sistemul de operare Android au funcţionat de la bun început într-o maşină virtuală Java modificată, acest mediu fiind considerat în momentul lansări o cheie a compatibilităţii multiplatformă. În timp, limitările mediului Dalvik VM au început să fie din ce în ce mai evidente, însă noul Android Runtime din Android 5.0 nu este decât un prim pas, producătorul intenţionând să se distanţeze şi mai mult de Java cu Sky.

Implementarea originală Dalvik VM a avut avantaje indiscutabile, dezvoltatorii scriind o singură aplicaţie care poate funcţiona indiferent de arhitectura terminalului deoarece doar maşina virtuală trebuie compilată de către producătorul telefonului pentru fiecare platformă ARM, MIPS sau x86 în parte. Java este însă cam lent, aşa că Google a ales de la bun început bytecode, adică ceva mai mult decât un simplu limbaj interpretat şi ceva mai puţin decât un cod nativ. Deşi a adăugat pe parcurs compilare nativa în timp real (JIT), multiprocesare şi Garbage Collector, în timp s-a observat destul de clar că Dalvik nu mai poate face faţă cerinţelor moderne şi puterii imense de procesare a noilor platforme mobile.

Odată cu Android Runtime (ART), aplicaţiile instalate pe telefon vor fi compilate de la bun început în cod-maşină şi vor funcţiona cu performanţe superioare. Avantajul codului unic din cadrul aplicaţiilor se păstrează, însă în locul compilării repetate segmentate în timp real oferită de JIT, acum avem de-a face cu o compilare reală definitivă. În timp ce dezvoltatorii software care urmăresc sa obţină o performanţă cât mai bună pot profita de ART şi de vechiul NDK, Google încearcă să se distanţeze şi mai mult de codul Java şi să fuzioneze totodată Android cu un mediu de dezvoltare Web performant.

Anunţat acum patru ani, Dart este un limbaj de programare Web open-source cu o arhitectură modernă orientată pe obiect şi o sintaxă similară C. Dezvoltat de către echipa Google care a pus la punct şi motorul de procesare JavaScript V8, Dart permite scrierea mai uşoară a aplicaţiilor Web complexe bazate pe JavaScript şi, foarte important în cazul de faţă, permite compilarea integrală a codului şi rularea lui într-o maşină virtuală.

Noul proiect Sky al celor de la Google urmăreşte implementarea acestui mediu virtualizat Dart VM în cadrul sistemului de operare Android. Conform promisiunilor făcute în acest moment, dezvoltatorii software urmează să beneficieze de avantajele multiplatformă pe care le-a oferit până acum şi Dalvik VM, de performanţe mult mai bune, de acces la toate interfeţele sau politicile de acces Android şi de o compatibilitate largă cu aplicaţiile Web care funcţionează direct în browser prin intermediul Dart2JS.

Rapiditatea execuţiei este una dintre cele mai atractive promisiuni ale proiectului Sky. Google afirmând că aplicaţiile Sky vor avea rate de împrospătare de 120 de cadre pe secundă. În condiţiile în care Android are în prezent probleme şi cu atingerea unei rate de împrospătare a ecranului de 60 cadre pe secundă, Sky este o promisiune atractivă şi pare o alternativă interesantă pentru actualele produse software Android care folosesc Java.

Pe lângă acest salt de performanţă care se va concretiza în interfeţe fluide şi răspunsuri prompte la controlul tactil, Sky promite şi alte avantaje interesante. Unul dintre aceste ar fi de pildă posibilitatea implementării unui mediu de lucru online, în care actualizările aplicaţiilor se fac direct de pe server, evitând astfel întârzierile şi permiţând repararea rapidă a unor probleme. O altă faţetă interesantă este şi compatibilitatea multiplatformă, aplicaţiile Sky putând funcţiona pe orice sistem de operare pe care este prezent un mediu Dart VM sau unde acesta poate fi împachetat împreună cu aplicaţia, ceea ce permite teoretic scrierea unor aplicaţii care vor funcţiona nu doar pe Android, ci şi pe iOS sau Windows.

În acest moment, proiectul Sky este într-o etapă timpurie de testare, însă promisiunea unui mediu de dezvoltare Android (şi nu numai) rapid şi eficient este extrem de atrăgătoare. 

Tags: