Local blog for Italian speaking developers
Presentazione dell'anteprima Android P
14 marzo 2018
Pubblicato da Dave Burke, VP of Engineering
Durante il Mobile World Congress abbiamo osservato che l'ecosistema Android composto da sviluppatori, produttori di dispositivi e microprocessori continua a creare esperienze stupefacenti per gli utenti di tutto il mondo.
Guardando al futuro, siamo felici di condividere la prima anteprima per sviluppatori di
Android P
, la nuova versione di Android. Si tratta di una prima build di riferimento solo per gli sviluppatori: voi siete i nostri revisori e tester più affidabili ;-) È fondamentale ricevere i commenti dalla nostra community di sviluppatori per aiutarci a far evolvere la piattaforma in modo da soddisfare le vostre esigenze. Vorremmo farvi iniziare a mettere alla prova le nuove funzionalità e le API nell'anteprima Android P e, come sempre, non vediamo l'ora di ricevere feedback e idee: forniteci
i vostri preziosissimi suggerimenti
!
La prima anteprima per sviluppatori di Android P è solo l'inizio: avremo molto più da condividere in occasione del
Google I/O
a maggio, quindi continuate a seguirci!
Nuove funzionalità da provare nelle app
Diamo uno sguardo ad alcune delle funzionalità più interessanti presenti in questa prima anteprima di Android P che desideriamo farvi provare e
in merito alla quale aspettiamo di ricevere le vostre opinioni
.
Indoor positioning grazie a Wi-Fi RTT
L'aumento dell'accuratezza dell'indoor positioning, un'annosa sfida, spalanca nuove opportunità ai servizi di localizzazione. Android P aggiunge il supporto della piattaforma per il protocollo Wi-Fi IEEE 802.11mc, anche noto come WiFi Round-Trip-Time o RTT, per consentirvi di approfittare della funzionalità di indoor positioning nelle vostre app.
Sui dispositivi che supportano Android P dotati di supporto hardware, permesso di localizzazione e servizio di localizzazione abilitati, le app possono utilizzare le
API RTT
per misurare la distanza dagli access point (AP) Wi-Fi presenti nelle vicinanze. Non è necessario che il dispositivo si colleghi agli AP per utilizzare RTT; inoltre, per mantenere la privacy, solo il telefono può determinare la distanza, non gli AP.
Conoscendo la distanza da 3 o più AP, potete calcolare la posizione del dispositivo con un'approssimazione di 1-2 metri. Grazie a questa notevole precisione, potete creare nuove esperienze come la navigazione in-building, i servizi di localizzazione precisi come il controllo vocale disambiguato (ad es. "Accendi la luce") e le informazioni basate sulla localizzazione (ad es. "Sono disponibili offerte speciali per questo prodotto?").
Supporto per display cutout
Adesso le app possono sfruttare a pieno gli schermi dei dispositivi più recenti con i contenuti a schermo intero. Abbiamo aggiunto il display cutout (meglio noto come display notch) nella piattaforma insieme alle API che potete utilizzare per gestire la visualizzazione dei contenuti.
Il supporto per il display cutout funziona senza difficoltà per le app, insieme al sistema che gestisce l'altezza della barra di stato per separare i contenuti dal cutout. Se avete contenuti immersivi cruciali, potete utilizzare anche le
nuove API
per controllare la forma del cutout e richiedere un layout a schermo intero intorno a questo. Potete verificare se l'attuale dispositivo è dotato di un cutout chiamando
getDisplayCutout()
e determinando la posizione e la forma dell'area del cutout utilizzando
DisplayCutout
. Un nuovo attributo del layout della finestra
layoutInDisplayCutoutMode
, vi permette di indicare al sistema come e quando presentare i contenuti rispetto all'area del cutout. I dettagli vengono presentati
qui
.
Per rendere più semplici la creazione e l'esecuzione di test sul supporto per cutout per le vostre app, abbiamo aggiunto un'opzione per sviluppatori che simula un cutout su qualsiasi dispositivo. Consigliamo di eseguire test sulle app esistenti, dopo aver abilitato il display cutout, per assicurarvi che i contenuti vengano visualizzati correttamente.
Le app con contenuti immersivi possono visualizzare i contenuti a schermo intero sui dispositivi dotati di display cutout.
Notifiche di messaggistica migliorate
In Android P abbiamo attribuito una maggiore priorità al miglioramento della visibilità e delle funzionalità relative alle notifiche. Provate il nuovo stile delle notifiche
MessagingStyle
: mette in evidenza i mittenti dei messaggi e il modo in cui potete rispondere. Potete mostrare conversazioni, inserire foto e adesivi e suggerire anche risposte rapide smart (ovvero coerenti con la conversazione). Consultate i dettagli
qui
.
Adesso nelle notifiche MessagingStyle potete mostrare le conversazioni e le risposte rapide smart [a sinistra] e anche inserire immagini e adesivi [a destra].
API Multi-camera
Adesso potete contemporaneamente accedere allo streaming da
due o più telecamere fisiche
su dispositivi che eseguono Android P. Sui dispositivi dotati di doppia fotocamera anteriore o posteriore, potete creare delle funzionalità innovative, prima impossibili da realizzare con un'unica fotocamera, come eseguire lo zoom senza difficoltà, l'effetto bokeh e la visione stereoscopica. Inoltre, l'API vi consente di richiamare uno stream logico o fuso della fotocamera che automaticamente passa tra due o più fotocamere. Siamo impazienti di vedere le vostre nuove ed entusiasmanti creazioni poiché i dispositivi con Android P che supportano più fotocamere arriveranno sul mercato l'anno prossimo.
Altri miglioramenti della fotocamera includono i nuovi
parametri della sessione
che aiutano a ridurre i ritardi durante l'acquisizione iniziale e la condivisione di Surface che consente ai client della fotocamera di gestire le varie situazioni senza la necessità di arrestarne e avviarne lo streaming. Abbiamo aggiunto anche delle API per il
supporto per Flash
basato sul display e l'accesso agli
OIS timestamp
per la stabilizzazione e gli effetti speciali delle immagini a livello di app.
ImageDecoder per bitmap e drawable
Android P vi consente di decodificare le immagini in bitmap o drawable in modo più semplice:
ImageDecoder
sostituisce
BitmapFactory
ImageDecoder vi consente di creare un bitmap o drawable da un buffer di byte, file o URI. Offre diversi vantaggi rispetto a BitmapFactory, incluso il supporto per il ridimensionamento esatto, la decodifica in un unico passaggio su memoria hardware, il supporto per l'elaborazione successiva a livello di decodifica e la decodifica di immagini animate.
Potete decodificare e ridimensionare fino alla dimensione esatta semplicemente richiamando
setResize()
con le dimensioni target. Potete anche richiamare
getSampledSize()
per ottenere le dimensioni dell'immagine con una frequenza di campionamento specifica e poi ridimensionarla fino alle dimensioni richieste. Se desiderate elaborare successivamente un'immagine, come ad esempio applicare bordi arrotondati per le maschere circolari oppure effetti più complicati, potete passare ImageDecoder ad
android.graphics.PostProcessor
. Inoltre, potete creare dei drawable direttamente con
ImageDecoder.decodeDrawable()
. Se l'immagine codificata è una GIF o un WebP animato, il drawable sarà un'istanza del nuovo
AnimatedImageDrawable
.
Video HDR VP9, compressione dell'immagine HEIF e API Media
Android P aggiunge il supporto incorporato per HDR VP9 Profile 2, quindi adesso potete offrire filmati abilitati per HDR ai vostri utenti di YouTube, Play Movies e altre risorse su dispositivi abilitati per HDR.
Non vediamo l'ora di aggiungere alla piattaforma la codifica dell'immagine ad alta efficienza (heic)
HEIF
. HEIF è un formato famoso per le foto che migliora la compressione per risparmiare in termini di spazio di archiviazione e dati di rete. Grazie al supporto della piattaforma sui dispositivi con Android P, è molto semplice inviare e utilizzare immagini HEIF dal server di backend. Dopo esservi assicurati che l'app è compatibile con questo formato di dati per la condivisione e la visualizzazione, provate il formato HEIF per archiviare le immagini presenti nell'app. Potete eseguire una conversione dal formato jpeg a quello heic utilizzando
ImageDecoder
o
BitmapFactory
per ottenere un bitmap da jpeg e potete utilizzare
HeifWriter
nella nuova versione alpha della libreria di supporto per scrivere immagini fisse HEIF dal buffer di byte YUV, Surface o Bitmap.
Stiamo lavorando anche al miglioramento e al refactoring delle API multimediali per renderle più semplici da sviluppare e integrare. Entro la fine dell'anno verranno presentati ulteriori dettagli.
Sensibilità del costo dei dati in JobScheduler
JobScheduler
è un servizio centrale di Android che consente di gestire le attività pianificate o le modifiche di
sospensione
,
standby delle app
e
limiti di background
. In Android P, JobScheduler gestisce in modo migliorato i job relativi alla rete per gli utenti, coordinandosi con i segnali di stato della rete forniti separatamente dagli operatori.
Adesso i job sono in grado di dichiarare la loro dimensione stimata dei dati, eseguire il prefetch del segnale e specificare i requisiti di rete dettagliati, invece gli operatori possono segnalare le reti come congestionate o libere. Quindi JobScheduler gestisce il lavoro in base allo stato della rete. Ad esempio, quando una rete è congestionata, JobScheduler potrebbe rinviare richieste di rete di grandi dimensioni. Quando è libera, può eseguire attività di prefetch per migliorare l'esperienza utente, come l'esecuzione di prefetch sui titoli.
Quando aggiungete dei job, provate a utilizzare
setEstimatedNetworkBytes()
,
setIsPrefetch()
e
setRequiredNetwork()
per consentire a JobScheduler di gestire il lavoro correttamente. Durante l'esecuzione del job, assicuratevi di utilizzare l'oggetto di rete restituito da
JobParameters.getNetwork()
; in caso contrario, utilizzerete implicitamente la rete predefinita del dispositivo che potrebbe non soddisfare i requisiti determinando un utilizzo dei dati non intenzionale.
API Neural Networks 1.1
Abbiamo introdotto l'
API Neural Networks
in Android 8.1 per accelerare il machine learning su Android. In Android P, stiamo ampliando e migliorando questa API, aggiungendo un supporto per nove nuovi strumenti: Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub e Squeeze. Se avete a disposizione un dispositivo Pixel 2, adesso la build DP1 include un driver Qualcomm Hexagon HVX dotato di accelerazione per i modelli quantizzati.
Miglioramenti della compilazione automatica
In Android P continuiamo a migliorare il framework Compilazione automatica in base ai feedback di utenti e sviluppatori. Insieme alla correzione dei bug principali, questa versione include nuove API che consentono agli strumenti per la gestione delle password di migliorare l'esperienza utente relativa alla compilazione automatica, come
filtrazione di set di dati
,
sanificazione di input
e
modalità di compatibilità
migliori. In particolare, la modalità di compatibilità ha un forte impatto sugli utenti finali perché consente agli strumenti per la gestione delle password di adottare un approccio basato sull'accessibilità nelle app che non sono ancora dotate di un supporto completo di compilazione automatica, ma al contempo non influiscono sulle prestazioni o sulla sicurezza. Tutti i dettagli sulle novità sono riportati
qui
.
API Open Mobile per pagamenti NFC e transazioni sicure
Android P aggiunge in Android un'implementazione dell'
API GlobalPlatform Open Mobile
. Sui dispositivi supportati, le app possono utilizzare l'
API OMAPI
per accedere agli elementi sicuri (SE) per abilitare i pagamenti tramite smart card e altri servizi sicuri. Uno strato di astrazione dall'hardware (HAL) fornisce l'API sottostante per l'enumerazione di una varietà di elementi sicuri (eSE, UICC e altri) disponibili.
Rafforzamento delle basi di Android
In Android P, continuiamo il nostro investimento a lungo termine per rendere Android la migliore piattaforma per sviluppatori.
Sicurezza per le app
In Android P stiamo passando a un'interfaccia utente più uniforme per l'autenticazione mediante impronta digitale su app e dispositivi. Adesso Android offre una finestra di dialogo di sistema standard per richiedere all'utente di toccare il sensore di impronte digitali, gestendo il testo e il posizionamento a seconda del dispositivo. Le app possono attivare la finestra di dialogo del sistema per le impronte digitali utilizzando la nuova API
FingerprintDialog
. Consigliamo di passare alla nuova finestra di dialogo del sistema il prima possibile.
Come parte di uno sforzo più ampio per spostare tutto il traffico di rete da cleartext (HTTP non cifrato) a TLS, stiamo anche cambiando le impostazioni predefinite per la
configurazione di sicurezza della rete
per bloccare tutto il traffico cleartext. Se utilizzate una configurazione di sicurezza della rete, adesso dovrete eseguire le connessioni tramite LTS, a meno che non diate il consenso esplicito per cleartext per domini specifici.
Privacy per gli utenti
Per garantire la privacy, Android P non consente alle app inattive di accedere a microfono, fotocamera e a tutti i sensori
SensorManager
. Mentre l'UID delle app è inattivo, il microfono segnala audio vuoto e i sensori interrompono il reporting di eventi. Le fotocamere utilizzate dalle app vengono disconnesse e genereranno un errore se l'app tenta di utilizzarle. Nella maggior parte dei casi, queste restrizioni non dovrebbero introdurre nuovi problemi per le app esistenti, ma consigliamo di rimuovere tali richieste dalle app.
Inoltre, abiliteremo la crittografia dei backup di Android con un segreto sul lato client. Questa funzionalità è ancora in fase di sviluppo attivo e verrà lanciata in una release futura di anteprima di Android P.
A più lungo termine, stiamo lavorando per offrire supporto per la randomizzazione per rete di MAC Address associati alla piattaforma. Sui dispositivi supportati che eseguono Android P, potete abilitare questa funzionalità in via sperimentale, disponibile come nuova opzione per sviluppatori, per eseguire dei test.
Inoltre, Android P offre all'utente il controllo sull'accesso all'identificatore build.serial della piattaforma mettendolo dietro l'autorizzazione
READ_PHONE_STATE
. L'accesso diretto a questo identificatore è stato reso
obsoleto a partire da Android 8.0
. Per accedere all'identificatore build.serial, dovete utilizzare il metodo
Build.getSerial()
.
Prestazioni di ART
Stiamo lavorando per offrire miglioramenti a livello di prestazioni ed efficienza a tutte le app tramite il runtime ART. Abbiamo ampliato l'utilizzo di ART per i profili di esecuzione per ottimizzare le app e ridurre la quantità di memoria occupata da parte del codice dell'app compilato. Adesso ART utilizza le informazioni del profilo per la riscrittura sul dispositivo di file DEX con riduzioni fino all'11% su un'ampia gamma di app utilizzate di frequente. Prevediamo che tali riduzioni siano strettamente correlate alle riduzioni dell'uso della memoria DEX del sistema e a tempi di avvio delle app più rapidi.
Kotlin ottimizzato
Kotlin è un
linguaggio avanzato su Android
e, se non lo avete già fatto, dovreste assolutamente provarlo! Abbiamo dedicato un impegno costante a Kotlin in Android e continuiamo ad ampliare il supporto, inclusa l'ottimizzazione delle prestazioni del codice. In Android P potrete osservare i primi risultati di questo lavoro: abbiamo migliorato diverse ottimizzazioni del compilatore, in particolare quelle che hanno come obiettivo i loop, al fine di ottenere prestazioni migliori. Stiamo continuando a collaborare con JetBrains per ottimizzare il codice generato di Kotlin. Potete ottenere tutti gli ultimi miglioramenti relativi alle prestazioni di Kotlin mantenendo aggiornato il plug-in di Kotlin di Android Studio.
Efficienza energetica
In Android P continuiamo a perfezionare le funzioni di
sospensione
,
standby delle app
e
limiti di background
per migliorare ulteriormente la durata della batteria. Assicuratevi di provare le app con queste funzioni attivate e di inviarci i vostri feedback.
Obiettivo: Android moderno
Android P è il risultato delle nostre iniziative a più lungo termine volte a modernizzare i fondamenti di Android e le app che lo eseguono. Come abbiamo annunciato
di recente
, Google Play richiederà a tutti gli aggiornamenti delle app di avere come base Android Oreo (
targetSdkVersion
26 o versioni successive) entro novembre 2018, insieme al supporto per l'hardware a 64 bit che si profila all'orizzonte per il 2019.
In linea con questi cambiamenti, Android P avvertirà gli utenti mediante una finestra di dialogo quando installano un'app su una piattaforma precedente ad Android 4.2 (targetSdkVersion precedente alla 17) e le versioni future della piattaforma continueranno ad aumentare questo limite minimo. Stiamo incoraggiando tutti gli sviluppatori Android a iniziare subito a programmare la migrazione ad API 26 e a cominciare il lavoro di migrazione il prima possibile. Ecco un
elenco di controllo delle risorse
per ottenere aiuto e assistenza: non vediamo l'ora di vedere le vostre app ottenere il massimo dalla versione moderna di Android.
Miglioramento della compatibilità delle app tramite le API pubbliche
Un problema fondamentale per gli utenti e gli sviluppatori è la compatibilità delle app: assicurarsi che le app siano pronte per le nuove versioni della piattaforma non appena queste vengono pubblicate, senza incorrere in arresti anomali per gli utenti e distribuzioni di emergenza per gli sviluppatori. Le app che utilizzano le API pubbliche di Android da SDK o NDK hanno buone probabilità di essere compatibili, a differenza delle app che utilizzano interfacce e librerie Android private.
Grazie ad Android P stiamo avviando un
processo graduale
per limitare l'accesso a interfacce non SDK selezionate, chiedendo agli sviluppatori (compresi i team dedicati alle app all'interno di Google) di utilizzare gli equivalenti pubblici. Nei casi in cui non sia presente un equivalente pubblico per una situazione specifica,
informateci
: vogliamo assicurarci che questo processo sia il più uniforme possibile per gli sviluppatori, infatti utilizzeremo i vostri feedback per garantire che la distribuzione iniziale interessi solo le API nei casi in cui gli sviluppatori possono migrare facilmente verso alternative pubbliche. Ulteriori informazioni sulle
limitazioni sono disponibili qui
.
Iniziate a utilizzare Android P con poche semplici mosse
Prima di tutto,
rendete la vostra app compatibile
per fornire agli utenti una transizione semplice ad Android P. È sufficiente scaricare un'
immagine del sistema del dispositivo
o del sistema emulatore, installare la vostra app corrente ed eseguire il test: l'applicazione dovrebbe funzionare senza problemi, essere visualizzata in modo appropriato e gestire correttamente le
modifiche di comportamento
. Dopo aver eseguito tutti gli aggiornamenti necessari, consigliamo di pubblicare subito l'app su Google Play senza cambiare la piattaforma target.
Ricordate: non avete bisogno di un dispositivo Pixel supportato per eseguire i test o sviluppare su Android P. Per la maggior parte delle situazioni, consigliamo vivamente di
impostare un dispositivo virtuale Android
sull'Android Emulator
come ambiente di test. Se non avete provato l'emulatore di recente, vi accorgerete che è incredibilmente veloce, si avvia in meno di 6 secondi, è conveniente da utilizzare e potete anche modellare gli schermi di nuova generazione, come gli schermi lunghi e quelli con il cutout della fotocamera.
Quindi,
cambiate la piattaforma target dell'app in "P"
ed eseguitela grazie all'esperienza completa offerta da Android P. Impostate targetSdkVersion dell'app su "P" e compileSdkVersion su android-P, build e test. Assicuratevi di leggere le modifiche del comportamento per le app che hanno come piattaforma di base P per individuare le aree su cui desiderate eseguire dei test e che potrebbero dover essere modificate.
Quando siete pronti
immergetevi in Android P
e scoprite le
nuove funzionalità e API
che potete sfruttare a pieno nelle vostre app. Per facilitare l'esplorazione delle nuove API, consultate il
rapporto sulle differenze delle API
e il
riferimento API di Android P
. Visitate il sito
anteprima per sviluppatori P
per dettagli sulla
tempistica dell'anteprima
e sulle
risorse di supporto
. Inoltre, scoprite
questo video
che evidenzia le novità presenti in Android P per gli sviluppatori.
Per iniziare a creare con Android P, scaricate SDK e gli strumenti dell'anteprima per sviluppatori P in Android Studio 3.1 oppure utilizzate l'ultima versione canary di
Android Studio 3.2
. Stiamo inoltre rilasciando una
versione alfa della libreria di supporto 28.0.0
di prova.
Le novità in arrivo
L'anteprima per sviluppatori Android P include un SDK aggiornato con immagini di sistema per il testing sull'Android Emulator ufficiale e sui dispositivi Pixel, Pixel XL Pixel 2 e Pixel 2 XL.
Abbiamo in programma di aggiornare regolarmente immagini di anteprima del sistema e di SDK per tutta la durata dell'anteprima. Questa versione iniziale è soltanto per sviluppatori e non è intesa per l'utilizzo quotidiano o per gli utenti, quindi verrà resa disponibile soltanto mediante
download manuale e flash
.
Download e istruzioni sono disponibili qui
.
In prossimità della pubblicazione del prodotto finale, inviteremo anche gli utenti a provarlo e quando sarà il momento apriremo le iscrizioni tramite Android Beta. Continuate a seguirci per ulteriori dettagli, ma tenete presente che Android Beta non è attualmente disponibile per Android P.
Come sempre, il vostro feedback è fondamentale quindi
fateci sapere cosa ne pensate
. Prima ci invierete le nostre opinioni, maggiori saranno le integrazioni che potremo inserire nella versione finale. Eventuali problemi possono essere
segnalati qui
. Abbiamo a disposizione delle hotlist per l'invio di
problemi relativi alla piattaforma
,
alla compatibilità delle app
e
a SDK di terzi
.
Etichette
Android
Firebase
machine learning
Google Cloud Platform
GDL
Eventi
Google Developers Live
Google Play
TensorFlow
App
Chrome
Cloud
api
GDLItalia
GDE
GDG
Google Assistant
iOS
Kotlin
Actions on Google
Deep Learning
AppEngine
AMP
BigQuery
Cloud Functions
Flutter
Android Studio
Google Developers Expert
Università
Google AppEngine
JavaScript
AI
Android Wear
GAE
Google Play Store
HTML5
Maps
security
Android App Development
AngularJS
IoT
Kubernetes
Annunci
Cloud Firestore
Cloud Machine Learning
Google I/O
Polymer
Android Things
Community
DevTools
Google App Engine
intelligenza artificiale
Entrepreneurship
Firebase Analytics
GSoC
Games
Google Cast
ML
open source
Crashlytics
Dart
Diversity
Drive
Google Data Studio
Google Play Games
TensorFlow Lite
Android Developers
Android O
Cloud Spanner
Cloud TPU
Compute Engine
DevFest
Google Compute Engine
Google Developers
Material Design
Mobile
PWA
Python
Startup
AIY Project
ARCore
Android Jetpack
AndroidDev
Androidq
Apps Script
Artificial Intelligence
Augmented Reality
Firebase Cloud Messaging
Google Cloud
Google Maps
Gsuite
IO19
ML kit
Research
VR
coding
unity
#io19
AR
Android Dev Summit
Android Developer
Android Q
Cardboard
Cloud AI
Coral
Developers
Dialogflow
Firebase Realtime Database
Gmail
Google AI
Google Cloud Messaging
Google ContainerEngine
Google Play Console
Kotlin Coroutines
NLP
Programming
Responsive Design
TensorFlowjs
Testing
WTM
Women
beacons
cloud storage
developer
node JS
student programs
women techmakers
API Cloud Vision
Add-ons
Android P
AndroidDevStory
Animation
AutoML
Brillo
Classroom
DSC
Database
Developer Student Clubs
Edge TPU
Fabric
Featured
Flutter Web
G Suite
GWT
GoLang
Google
Google Brain
Google Cloud Next
Google Container Engine
Google Developer Groups
Google I/O Extended
Graph
Hosting
Instant Apps
Keras
Livedata
Mobile Sites
Prediction
Privacy
Project Tango
SDK
Stackdriver
Tales
UI
Udacity
Virtual Reality
Web
Web Development
YouTube
analytics
android security
api.ai
courses
google io
indies
natural language processing
reti neurali
sign-in
young developers
2d Animation
3d
AIY
ARkit
Adversarial Learning
Alpha
Android App
Android App Developmen
Android App bundle
Android Architecture
Android Architecture Components
Android Auto
Android Automotive OS
Android Dev Summit Android Developer
Android Developer Challenge
Android Developers GooglePlayAwards
Android Development
Android Go
Android Instant App
Android Pie
Android Q Scoped Storage
Android Q audio
Android Styles
Android audio playback capture
Android codelabs
AndroidTV
AndroidX
Angular
Aogdevs
Api Design
App Development
App Distribution
Apps
Architecture
Architecture Components
Arduino
Best Practices
Betatesting
Bugs
C++
Certification
Cloud Anchors
Cloud Next
Cloud Run
Cloud Service Platform
Cloud Shell
Cloud Study Jam
Coached Conversational Preference Elicitation
Commerce
Community Connector
Computer Science
Consistency
Containers
Converge
Conversation Design
Crash Reporting
DLS Design
Dagger
Data Science
Databases
Dependency Injection
Design
Developer Communities
Developer Community
Developer Culture
Developer Story
Developing Media Apps
Development
Eager
Edge TPU Dev Board
Education
Emulatore Android
Error Message
Eslint
Europe
Firebase Extensions
Firebase Summit 2019
Firebasehosting
Flutter 1.5
Flutter at IO
FlutterDark
GCE
GDD
Game Development
Gboard
Gesture Navigation
Glass
Go
Google AI Quantum
Google App Script
Google Cloud Functions
Google Cloud billing
Google Coral
Google Developer Days
Google Home Hub
Google IOS Android
Google Identity Platform
Google Launchpad
Google Lens
Google Now
Google Photos
Google Play Devs
Google Play Indie Games Festival
Google Play Instant
Google Plus
Google codelabs
Google+
GoogleDevWeekly
GoogleLaunchpad
GooglePlay
Graphics
Healthcare
I/O
IO
IO19 Flutter
In-app Billing
Indie Games
Indie Games Festival
Indie games showcase
Indie showcase
Ingress
Instant Games
Issues
Java
Jetpack
Knative
Kotlin Beginners
Kotlin Everywhere
Kotlin codelabs
Lighthouse
Live Caption
Live Streaming
Localization
Location
M-Theory
Mondaygram
Monetization
NYT
NativeScript
Navigation
Neural Graph Learning
Neural Structured
Nodejs
OS
OS Updates
Olivex
One Time Codes
Online Education
PHA
Performance Monitoring
Policy
Posenet
Project Mainline
Project Treble
Quantum Computing Theory
Reactive Programming
Regression
Remote Config
Resonance Audio
Room
Scoped Storage
Semantics
Semi Supervised Learning
Serverless
Sms Retriever Api
Sms Verification
Speech Recognition
Swift
Tensorflow Core
Tensorflow Hub
Test Lab
Text
Tokenizer
Tpu
Transformers
UX
UX Design
UX Research
Universal Sentence Encoder
Unsupervised Data Augmentation
Unsupervised Learning
User Experience
Viewmodel
Voice
WWW
Wear OS
WebAssembly
Widget
Women in Tech
WomenTechmakers
android kotlin
app stability
assistant
audio recording
augmented faces
authsub
best practices and updates
billing
botnet
business
c++ games
cancer
chatbot
chrome privacy
codelab
codelabs
competition
daydream
designer
dominio .dev
error handling
event
firebase games
firebase gdc
firebase hosting
firebase unity
game center authentication
game testing
games authentication
gdc
google summer of code
googledevelopers
grow
hashcode
indie
indie developers
internship
kids
machine intelligence
machine learning accelerator
maker
multi-platform
nearby
oauth
openid
performance
persistent AR
privacy sandbox
prizes
prototype
purchase flows
queries
realtime
responsible AI
security rules
showcase
solutions challenge
startup africa roadtrip
startup times
students
summer of code
unity crashlytics
verify apps
win
Archivio Blog
2020
feb
gen
2019
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2018
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2017
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2016
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2015
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2014
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2013
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
Feed
Follow @GoogleDevsItaly