Molte sono state le novità introdotte al Google I/O 2018 dedicate agli sviluppatori Android, in questo articolo andremo a raccoglierle e presentarvele tutte!

Android Studio

Stiamo parlando di un aggiornamento software che porta il noto IDE di sviluppo Android alla versione 3.2 aggiungendo diverse migliorie e funzionalità. Andando per ordine, in questa release troviamo:

  • nuovi strumenti per l’editing tramite “navigazione visiva“: questa funzione assomiglia un po’ a un diagramma di flusso in cui gli utenti possono spostare gli elementi e collegarli. È possibile aggiungere nuove schermate e posizionarle nel flusso, tutto organizzato in modo da consentirvi una gestione ottimale;
  • strumenti per la creazione di un nuovo formato Android App Bundle;
  • istantanee: una funzione inclusa nell’emulatore Android orientata all’ottenimento di un emulatore con una velocità di esecuzione molto ridotta;
  • un nuovo ottimizzatore per ottenere del codice più piccolo e potente;
  • un nuovo strumento per misurare l’impatto di un’app sulla durata della batteria.

Tutte queste funzioni servono per cercare di rendere più facile e veloce lo sviluppo di un’applicazione sia a livello business che consumer, e la “navigazione visiva” ad esempio è un ottimo modo per astrarre ulteriormente il complesso processo di programmazione in diverse attività all’interno di un’applicazione.

In ambito più prettamente professionale invece, il nuovo emulatore ha le capacità di sanare un punto dolente per gli sviluppatori che vogliono testare rapidamente le loro applicazioni per valutarne il loro comportamento senza dover attendere tempi improponibili.

Instant App e AR

Le Instant App di Android sono state una delle più recenti tecnologie davvero interessanti presentate da Google. Inizialmente pensate come un “trailer” funzionante di un’app, oggi questa tecnologia viene estesa a tutti gli sviluppatori di giochi.

La tecnologia di cui stiamo parlando permette agli utenti di avere un senso del gameplay prima di installare effettivamente il gioco completo, solo che mentre all’inizio questa possibilità era sfruttabile da un piccolo numero di sviluppatori, ora tutti ne saranno in grado.

Oltre alla compatibilità con gli annunci AdWords, Google ha utilizzato Candy Crush Saga come dimostrazione di Instant App. Per essere compatibili con tale tecnologia, le applicazioni dovranno avere una dimensione inferiore a 2 MB (per le app classiche) e di 10 MB (per i giochi).

Ad incrementare ulteriormente questa esperienza sarà la realtà aumentata che potrà essere integrata direttamente in queste applicazioni istantanee senza aspettare una completa installazione.

Pensateci, poter posizionare un mobile o una lampada nel vostro salotto per vedere dove potrebbe abbinarsi meglio nell’ambiente, il tutto senza installare applicazioni ma solo con il download di un file di magari 2 MB. Insomma, un grande passo avanti soprattutto per quelle persone che, abitando in zone con poca copertura, non possono permettersi il download di file di grandi dimensioni perché richiederebbero ore di pazienza.

Android App Bundle

Stiamo parlando di un nuovo strumento per gli sviluppatori che renderà le applicazioni radicalmente più piccole!

Il trucco sta nel fatto che gli sviluppatori potranno dire quali risorse delle loro app dovranno essere incluse per un dato dispositivo e quali no, quindi al download di un’app verrà scaricato solo il necessario specifico per il nostro dispositivo e niente file superflui. Secondo Google questo può portare al download di file fino al 50% più piccoli.

“Sappiamo che le app più grandi sono, meno installazioni ricevono”.

Stephanie Cuthbertson, PM Director di Android

Nessun tipo di problema si presenterà durante questo cambiamento, sia per l’utente finale che per lo sviluppatore. Il formato APK rimarrà standard, ma ogni utente scaricherà dal Play Store un file leggermente personalizzato in base al proprio dispositivo in uso. Ad esempio, se un utente la cui lingua principale è il francese scarica un’applicazione con supporto a tale lingua, il download conterrà solo la traduzione in francese e non un APK con tutte le lingue.

Questo potrà ridurre drasticamente le dimensioni complessive del download e dell’installazione. Secondo i dati presentati, LinkedIn ha notato una riduzione del 23% nella dimensione dell’app, mentre Twitter una riduzione del 35%.

La maggior parte del lavoro sarà fatto da Google senza che nessuno noti nulla, lo sviluppatore invece potrà apportare alcune migliorie per ottimizzare ulteriormente ciò che l’utente andrà a scaricare.

Una versione ancora più evoluta di ciò è l’applicazione modulare, in cui oltre agli accorgimenti appena descritti sarà possibile far scaricare all’utente una porzione di codice di app soltanto quando ve ne sarà bisogno e non prima, così da ridurre al minimo il traffico dovuto al primo download dell’app.

Android Jetpack

Un nuovo sistema che combina librerie e componenti esistenti, creando un nuovo set per la gestione di attività in background, navigazione, ricerca, gestione generale, interfaccia utente e molto altro.

Per non mettere in difficoltà i suoi sviluppatori, Google ha deciso di rendere questo sistema opzionale in sostituzione del precedente, ma entrambi continueranno a essere supportati e aggiornati. L’obiettivo di questo cambiamento è quello di evitare ripetizioni nella scrittura di nuove applicazioni e aiutare gli sviluppatori a fare di più scrivendo meno codice.

Vale la pena sottolineare che Jetpack è stato progettato pensando al linguaggio di programmazione Kotlin, il nuovo linguaggio utilizzato dal 95% degli sviluppatori.

Lighthouse

Lighthouse è uno strumenti che aiuta gli sviluppatori a ottimizzare i loro siti web e a controllare le loro prestazioni, e oggi è stato annunciato l’aggiornamento alla versione 3.0 incentrato su metriche più precise e affidabili (il tempo di caricamento della pagina, i componenti del sito che potrebbero rallentarlo, ecc.).

Ai giorni d’oggi i dispositivi continuando a evolversi e aumentare le loro prestazioni per tener testa ai software che implementano sempre più funzionalità affamate di hardware, e i siti web sono proprio uno di questi software.

Non sarà possibile aumentare le prestazioni all’infinito quindi è necessario puntare anche al lato di ottimizzazione di ciò che già esiste, ed ecco perché Google punta molto sul suo Lighthouse: uno strumento per cercare gli indicatori di fallimento di un sito web e scoprire esattamente cosa potrebbe rendere l’esperienza non ottimale così da poterla correggere.

Cloud Anchors

Il multiplayer è stato uno degli enormi limiti delle prime piattaforme AR per smartphone essendo una cosa molto difficile da gestire anche in modalità singola, ma Google sta cercando una possibile soluzione per creare uno “spazio condiviso” in cui più utenti possono collegarsi.

Nathan Martz, responsabile VR, ha annunciato oggi sul palco del Google I/O 2018 il sistema Cloud Anchors presente in ARCore 1.2, uno strumento che consentirà agli utenti di collegarsi in AR in tempo reale tra loro.

“Con Cloud Anchors permettiamo a più dispositivi di generare uno spazio condiviso e sincronizzato in modo che più telefoni possano vedere e interagire con esattamente lo stesso contenuto digitale nello stesso luogo allo stesso tempo”.

Nathan Martz

Non si hanno altre informazioni riguardo la configurazione di tale tecnologia, ma è stato dichiarato che il tutto sarà disponibile sia per Android che per iOS.

Durante la presentazione, Google ha mostrato due persone mentre giocavano a “tic tac toe” in realtà aumentata visualizzando il gioco tramite il loro telefono e disegnando sempre tramite esso. Teniamo però presente che quella mostrata non è un’applicazione ideata appositamente per quello scopo ma soltanto aggiornata per dimostrare le capacità di Cloud Anchors.