Android N: le novità dell'OS di Google

I miglioramenti nella prossima release di Android saranno molti ma non tutti sono sotto i riflettori, come quelli riguardanti le librerie ART o quelli di sicurezza, che offriranno nuove possibilità.

speciale Android N: le novità dell'OS di Google
Articolo a cura di
Daniele Vergara Daniele Vergara viene alla vita con un chip Intel 486 impiantato nel cervello, a mo' di coprocessore. E' più che entusiasta di tutto ciò che riguarda la tecnologia intera e i videogames, con un occhio di riguardo verso l'hardware PC e l'overclocking. D'inverno ama snowboardare, macinando km e km di piste. Lo trovate su Facebook, Twitter e Google+.

Ad ogni iterazione di Android, Google introduce nuove e spesso utili funzionalità, e con N non farà di certo diversamente. Oltre al multi-window, l'azienda americana ha progettato e inserito tante feature, che chiaramente devono però ancora essere ottimizzate e raffinate. In realtà molte delle aggiunte o dei miglioramenti della prossima versione saranno poco visibili all'utente, che se poco esperto potrebbe non notare nemmeno la differenza. Questo non significa però che si tratti di novità di poco rilievo ed anzi, molte di queste fanno un lavoro oscuro che tende generalmente a migliorare le prestazioni, soprattutto con le applicazioni. Alcune di queste sono già incluse e lavorano piuttosto bene nella preview rilasciata dagli sviluppatori, mentre altre devono ancora essere implementate.

Le modifiche ad ART e le nuove API

Ogni volta che un'applicazione viene aperta dall'utente, Android avvia il compilatore, che può essere più o meno efficiente. Da Lollipop in poi, Google ha deciso di cambiare il compilatore Dalvik con il suo successore Android Runtime, chiamato anche ART. Da quel momento, quest'ultimo ha ricevuto continue ottimizzazioni e raffinamenti, sino a raggiungere la velocità di compilazione di cui possiamo beneficiare con l'ultima versione del sistema operativo. La prima versione di ART mise da parte la compilazione just-in-time (JIT) in favore di quella di tipo ahead-of-time (AOT). Per chi non lo sapesse, utilizzare un compilatore AOT vuol dire - per sommi capi - pre-compilare in linguaggio di alto livello tutte le applicazioni, passando per uno stadio intermedio prima di arrivare al linguaggio macchina da eseguire; JIT invece compila le app solo quando queste vengono avviate dall'utente e, se non diversamente impostato dagli sviluppatori, lo fa direttamente in linguaggio macchina, che è quello comprensibile al processore. Il principale vantaggio di AOT è che, essendo le applicazioni pre-compilate, queste si avviano molto più velocemente, allungando però il tempo di installazione e di aggiornamento. La compilazione deve essere ri-effettuata ogni volta che nuovo software viene installato, a causa di cambiamenti nel codice dell'app stessa. Ciò vuol dire che se possedete parecchie applicazioni da aggiornare e/o da installare, i tempi per portare a termine le operazioni possono protrarsi di parecchio. Con un compilatore di tipo JIT questo non succede e il tutto è gestito in modo molto più velocemente dal system-on-a-chip.
Ebbene, la novità con Android N è che Google ha deciso di passare nuovamente a JIT, sacrificando quindi i benefici dati da ART con AOT. Questo accade però sono in linea generale, in quanto gli ingegneri della società hanno agito con più intelligenza: con la nuova versione di Android, infatti, saranno impiegati degli strumenti di profiling, che si occupano di capire quali sono le applicazioni che l'utente usa più di frequente. Queste saranno dapprima catalogate e poi pre-compilate usando AOT, in modo che il loro avvio possa essere più veloce. Per tutto il resto verrà fatto uso di JIT, per un cambiamento che promette prestazioni maggiori.
Una seconda novità di Android N è il supporto alle librerie grafiche OpenGL ES 3.2, laddove Marshmallow si ferma nativamente alla versione 3.1. Questo però non dovrebbe portare cambiamenti così rilevanti, in quanto con Android 5.0 e 6.0 Google ha previsto degli Extension Pack che di fatto portano OpenGL ES alla 3.2. L'unico vantaggio per i developer sarà quello del poter fare a meno di questo pacchetti di espansione.
Android N porterà anche modifiche ed affinamenti alla tendina delle impostazioni rapide, permettendo una migliore organizzazione delle tile. Gli sviluppatori avranno a disposizione un'API particolare che consentirà loro di creare le proprie tile, fatto che senza dubbio sfrutteranno per differenziarsi dalla massa. Non è detto che tutti ne faranno uso, ma può aprire nuove possibilità di personalizzazione. Google ha però imposto un chiaro vincolo, affermando che "queste tile sono riservate ai controlli e alle azioni che gli utenti fanno di frequente, e non sono progettate per essere degli shortcut per il rapido avvio di una qualunque applicazione".

Direct Book, Vulkan e funzionalità di networking

Con Android Marhsmallow, tutti i dispositivi che hanno hardware abbastanza potente procedono alla crittazione dei file in tutta autonomia. La versione N cambierà un po' le carte in tavola, conservando i file cifrati in due diverse locazioni di memoria: la prima si chiamerà credential encrypted storage, a cui si potrà accedere solo quando l'utente avrà passato i controlli della schermata di sblocco, mentre la seconda sarà nominata device encrypted storage e sarà accessibile anche prima dello sblocco del device. Tale nuovo stato è chiamato Direct Boot e probabilmente metterà a disposizione funzionalità critiche, allo stesso modo per cui è possibile effettuare chiamate d'emergenza senza sbloccare il dispositivo. Di default Android N non impiegherà il Direct Boot, ma starà agli sviluppatori decidere se farne uso o meno. Chiaramente, questa modalità ha senso solo se il produttore ha in mente di implementare un determinato servizio da sfruttare senza essere l'amministratore dello smartphone. Un esempio può essere lo sblocco della sveglia che suona, oppure applicazioni che forniscono servizi di accessibilità come Talkback. Google non vuole che siano indisponibili per troppo tempo feature critiche, circostanza che può accadere se per esempio il sistema operativo va incontro ad un crash irrecuperabile e il dispositivo viene riavviato. A queste si potrà eventualmente accedere più velocemente, senza sbloccare prima il dispositivo. La sicurezza sarà un aspetto però da valutare per queste modalità, poiché dovrebbe essere garantita - in qualunque circostanza - l'integrità e la privacy dei file personali.
Infine, i programmatori di Android N hanno previsto nuove feature a supporto delle operazioni di rete. La prima è Data Saver, che consente all'utente di impostare dei limiti, come il restringimento dell'attività internet in background o la riduzione della risoluzione delle immagini web. Questo è utile chiaramente quando il proprio piano tariffario prevede una quantità di pacchetti dati in download/upload limitata. E' possibile però inserire determinate app nelle eccezioni, in modo che queste bypassino i blocchi e lavorino normalmente. La seconda utility di rete è una always-on VPN, che sarà disponibile nativamente nella prossima release. Essa non fa altro che creare una VPN senza l'utilizzo di applicazioni di terze parti, e comunque al di sopra di qualsiasi altro software.
L'unico nostro dubbio riguardava le API grafiche e l'arrivo di Vulkan con tutti gli hardware dei maggiori produttori. Alla fine le librerie di Khronos Group arriveranno, come annunciato da Google. Sappiamo che Qualcomm ed Imagination Technologies hanno già rilasciato dei driver validi, e che quelli di ARM sono in fase di test. Samsung, su Galaxy S7 ed S7 Edge, è stata la prima a portare Vulkan sui dispositivi Android e le ha implementate da sé.

Android N Come abbiamo appena visto, le maggiori novità di Android N non sono sull’interfaccia grafica, e Google si è concentrata nel compiere ottimizzazioni e miglioramenti vari, condendo il tutto con nuove funzionalità native. Esse sono sempre benvenute, in quanto evitano l’installazione di applicazioni che potrebbero occupare una preziosa fetta spazio nella memoria a disposizione. Attenzione al fatto che comunque queste caratteristiche potrebbero essere rimosse o modificate dai vari produttori, in quanto faranno parte per certo solo della versione stock di Android N. L’arrivo di Android N è previsto per la fine dell'estate 2016.