ComputerWeekTECNOLOGIA, SCIENZA E VITA QUOTIDIANA
Il presente, spiegato.
Techpedia

Android

HTC Dream bianco con schermo Android acceso e tastiera AZERTY aperta.
HTC Dream per il mercato francese, con tastiera fisica AZERTY aperta. Il dispositivo appartiene alla prima generazione di telefoni Android. Akela NDE / Wikimedia Commons · CC BY-SA 3.0 · Conversione WebP; proporzioni e dimensioni conservate.

Android è una piattaforma software per dispositivi mobili, costruita attorno a un sistema operativo basato sul kernel Linux. Il 23 settembre 2008 venne annunciato il kit di sviluppo Android 1.0, insieme alla presentazione del T-Mobile G1, noto anche come HTC Dream, il primo telefono commerciale della piattaforma. Il suo interesse storico riguarda la creazione di un ecosistema adottabile da più produttori hardware, con applicazioni sviluppate attraverso strumenti e interfacce comuni.

Il nome Android può indicare il progetto di base, il software di un telefono concreto o un insieme più ampio di servizi e applicazioni. Questi livelli hanno rapporti stretti, ma svolgono funzioni differenti. Capire la piattaforma richiede quindi di distinguere codice del sistema, personalizzazioni del produttore, programmi installati e servizi online utilizzati dal dispositivo.

Un sistema fra hardware e applicazioni

Un telefono integra processore, memoria, display, sensori, fotocamere e circuiti radio. Le applicazioni devono usare queste risorse attraverso regole comuni, senza conoscere ogni dettaglio elettrico del singolo componente. Il sistema operativo e gli strati software intermedi mettono a disposizione servizi che traducono richieste come mostrare un’immagine, registrare un suono o leggere un’informazione da un sensore.

Questo passaggio rende possibile distribuire lo stesso programma su prodotti differenti, entro i requisiti dichiarati. Una funzione può però dipendere da hardware assente su alcuni modelli oppure da una versione specifica del sistema. La compatibilità è quindi una relazione fra programma e dispositivo, non una conseguenza automatica della sola presenza del marchio Android sulla confezione.

Il kernel Linux gestisce funzioni fondamentali, fra cui processi, memoria e interazione con l’hardware. Sopra questa base Android aggiunge componenti propri per applicazioni, grafica e servizi. Definire un telefono Android come una normale distribuzione Linux per computer sarebbe quindi impreciso: la base condivisa si inserisce in un’organizzazione costruita per un’esperienza mobile specifica.

Il progetto AOSP

L’Android Open Source Project, abbreviato in AOSP, rende disponibile il codice sorgente di una parte centrale della piattaforma. Il progetto permette di studiare, adattare e costruire implementazioni del sistema secondo le condizioni delle relative licenze. Questa disponibilità ha un ruolo importante nel rapporto fra chi sviluppa la base software e chi realizza dispositivi con caratteristiche differenti.

Il codice AOSP va distinto dai servizi e dalle applicazioni aggiuntive che possono essere distribuiti su un telefono commerciale. Un sistema costruito dal progetto di base può avere capacità differenti rispetto a uno dotato di un particolare negozio di applicazioni o di servizi cloud proprietari. La presenza del sistema operativo e la disponibilità di quei servizi sono condizioni separate.

I programmi possono dipendere da componenti esterni alla base AOSP. Un’applicazione che richiede una determinata funzione di localizzazione o messaggistica deve trovare l’implementazione prevista. Il fatto che due dispositivi condividano il kernel e molte interfacce Android non garantisce quindi che offrano automaticamente tutti gli stessi servizi alle applicazioni installate.

Applicazioni e isolamento

Android organizza le applicazioni attraverso un modello di isolamento, spesso descritto con il termine sandbox. Ogni programma opera normalmente con una propria identità e con accessi definiti dal sistema. Questa struttura separa dati e attività, mentre specifiche interfacce permettono lo scambio di informazioni quando esistono le condizioni previste.

Il modello può essere compreso immaginando più spazi di lavoro dentro lo stesso edificio. Le applicazioni condividono la macchina fisica, ma il sistema mantiene confini e passaggi controllati fra i loro ambienti. La metafora descrive l’obiettivo generale: i dettagli dipendono dalla versione del sistema e dai meccanismi concreti che organizzano file, processi e comunicazioni.

I permessi esprimono richieste di accesso a determinate risorse. Fotocamera, microfono e posizione rappresentano esempi facilmente riconoscibili. Il modo in cui tali richieste vengono presentate e gestite è cambiato durante l’evoluzione di Android. Una descrizione storica deve quindi evitare di attribuire al primo sistema del 2008 tutte le procedure di autorizzazione viste sui telefoni successivi.

Componenti che collaborano

Un’applicazione Android può essere costruita con componenti dedicati a compiti diversi. Le activity organizzano parti dell’interazione con l’utente; altri componenti gestiscono servizi, comunicazioni e dati. Il sistema può avviare o arrestare determinati elementi secondo le esigenze e le risorse disponibili, invece di trattare ogni applicazione come un blocco sempre attivo e immutabile.

Gli intent permettono di esprimere richieste e collegare attività compatibili. Aprire un contenuto o condividere un documento può coinvolgere un programma differente da quello nel quale è iniziata l’azione. Questo modello rende visibile una caratteristica dell’esperienza mobile: più applicazioni possono partecipare a un unico percorso, mantenendo ruoli e dati distinti.

Il ciclo di vita dei componenti è importante perché un telefono deve reagire a chiamate, cambi di schermata e limiti di memoria. Il programma deve conservare lo stato necessario e tollerare interruzioni previste. L’utente vede una navigazione apparentemente continua, mentre il sistema può riorganizzare le attività sottostanti per gestire risorse ed eventi.

La forma del primo telefono

L’HTC Dream presenta un touchscreen e una tastiera fisica scorrevole, insieme a comandi hardware. Questa combinazione ricorda che l’Android delle origini si inserisce in una fase di sperimentazione sui modi di usare lo smartphone. Il predominio successivo di grandi schermi tattili non deve essere proiettato automaticamente sul primo dispositivo commerciale.

Anche le applicazioni del periodo rispondono a un contesto differente: display piccoli, memoria e collegamenti con capacità lontane da quelle dei prodotti successivi. Studiare la prima generazione significa ricostruire ciò che era disponibile in quel momento, distinguendo le funzioni iniziali dagli aggiornamenti e dalle trasformazioni introdotte nel corso degli anni.

Un ecosistema di produttori

Produttori differenti possono adottare Android e modificarne interfaccia, applicazioni incluse e integrazione con l’hardware. Questa varietà permette di realizzare telefoni con formati, componenti e destinazioni d’uso differenti. Produce anche differenze nelle schermate e nei percorsi delle impostazioni, tanto che una procedura può avere passaggi diversi su dispositivi con la stessa versione di base.

Gli aggiornamenti coinvolgono più elementi: progetto del sistema, componenti hardware e software del produttore. La disponibilità di una nuova versione del codice di base non coincide quindi con la distribuzione immediata su ogni telefono esistente. Occorre preparare e verificare un insieme concreto di componenti, adattato al modello e al percorso di manutenzione previsto.

Il significato storico della piattaforma

Android ha reso il sistema operativo mobile un terreno condiviso da molti costruttori e sviluppatori, mantenendo una forte varietà di implementazioni. Il suo valore si comprende osservando le relazioni fra livelli: hardware, codice aperto, applicazioni e servizi. Un telefono appare come un solo oggetto, ma la sua esperienza dipende dalla collaborazione fra questi elementi e dalle condizioni di compatibilità che li collegano.