Powered By Blogger

domenica 12 agosto 2012

Windows Phone


Windows Phone

Da Wikipedia, l'enciclopedia libera.
Windows Phone
WindowsMobileLogo.png
SviluppatoreMicrosoft Corporation
Releaseiniziale(NA=8 Novembre 2010
EU=21 Ottobre 2010
PAL=21 Ottobre 2010)
Releasecorrente7.10.8779 ("Windows Phone 7.5 Refresh") (8 aprile 2012)
Tipo di kernelWindows CE 6/7.0, Windows NT
Licenza(Microsoft EULA)
Stadio di sviluppoin produzione, corrente
Sito webwww.windowsphone.it
Windows Phone, precedentemente Windows Mobile e ancora prima Pocket PC, è un sistema operativo compatto basato sulle API Win32 di Microsoft. Fra i dispositivi che ne possono essere equipaggiati ci sono i Pocket PC, gli Smartphone ed iPortable Media Center.

Windows Mobile 2003 [modifica]

È stato rilasciato nel 2003 in tre versioni:
  • Windows Mobile 2003 per Pocket PC.
  • Windows Mobile 2003 per Pocket PC Phone Edition, simile alla precedente, progettata per Pocket PC dotati di funzionalità di telefono cellulare, come, ad esempio gli HTC, commercializzati in alcuni paesi come Qtek o O2.
  • Windows Mobile 2003 per Smartphone, che, pur avendo molte somiglianze con i Pocket PC, è una piattaforma molto diversa, che richiede programmi applicativi sviluppati in modo specifico. Inoltre non supporta l'uso di touch screen, ha una risoluzione dello schermo minore, richiede sempre la presenza di una classica tastiera telefonica e ha comandi disposti in modo da poter essere usati con una mano sola.

Windows Mobile 2003 Seconda Edizione [modifica]

Introdotto da Dell e noto anche come Windows Mobile 2003SE. Miglioramenti sulle versioni precedenti:
  • Schermo impostabile in modo portrait (verticale) e landscape (orizzontale). Non disponibile per la versione Smartphone.
  • Programma Pocket Internet Explorer (PIE) con possibilità di visualizzare le pagine con il testo su una sola colonna, cosa che facilita la lettura perché si deve solo scrollareverticalmente.
  • Schermo con risoluzione VGA (640×480) e QVGA, rispetto ai 320X240 delle versioni precedenti. Sono previste anche schermate quadrate (240×240 e 480×480 per VGA), che permettono ai costruttori di aggiungere una tastiera hardware sotto il display. Questa opzione, inizialmente non prevista, è stata poi aggiunta da Microsoft su richiesta dei produttori di Pocket PC.
  • Supporto per l'accesso Wi-Fi in 'modalità crittata' (WEP/WPA).

Windows Mobile 5.0 [modifica]

Nome in codice Magneto, basata su Windows CE e sulla piattaforma .NET Compact Framework 2.0. Alcune caratteristiche:
Screenshots di Windows Mobile 5
  • Nuova versione di Office, chiamata Office Mobile, con supporto per i file nativi delle versioni PC che comprende:
    • PowerPoint Mobile.
    • Excel Mobile con opzioni di grafica.
    • Word Mobile, con possibilità di inserire tabelle.
  • Windows Media Player 10 Mobile.
  • Gestione fotocamera e videocamera.
  • Supporto Bluetooth migliorato, interfacciabile con dispositivi GPS.
  • Miglioramento delle funzionalità Microsoft Exchange Server.
  • Supporto per tastiera QWERTY fornito di serie.
  • Gestione e segnalazione degli errori simile a quella dei sistemi desktop e server di Windows.
  • Sincronizzazione dati con ActiveSync migliorata e resa più veloce.
  • Maggiore autonomia delle batterie ottenuta memorizzando i dati in supporti permanenti anziché in RAM volatili. Nelle versioni precedenti, la rimozione della batteria causava la perdita di tutti i dati.
Stando alle dichiarazioni ufficiali non dovrebbero arrivare edizioni di Windows Mobile 5.0 per Smartphone o Pocket PC, ma è previsto rimanga una sola versione base capace di utilizzare le risorse di tutti i dispositivi su cui può essere installata. Se ne dovrebbe dedurre che i produttori di OEM dovranno configurare il sistema operativo in base alle esigenze dei dispositivi da loro prodotti.
Screenshot di Windows Mobile 6 in italiano

Windows Mobile 6.0 [modifica]

Precedentemente conosciuto con il nome in codice Crossbow è stato rilasciato il 12 febbraio 2007 al 3GSM World Congress 2007. Esiste in tre versioni differenti: "Windows Mobile 6 Standard" per Smartphone (terminali senza touchscreen classificati come "voice centric"), "Windows Mobile 6 Professional" per Pocket PC con funzionalità di telefono e "Windows Mobile 6 Classic" per Pocket PC senza modulo cellulare (entrambe le tipologie di dispositivi sono caratterizzate dalla presenza del touchscreen, e vengono definite "data centric").

Windows Mobile 6.1 [modifica]

Windows Mobile 6.1 è stato annunciato pubblicamente il 1 aprile 2008. Si tratta di un aggiornamento minore della versione 6.0, che apporta diverse migliorie nelle prestazioni, una schermata Home ridisegnata, con un pannello scorrevole con titoli che si espandono al tocco per fornire maggiori funzionalità. Questa schermata è disponibile solo nella versione standard, mentre è inspiegabilmente assente nella versione Professional. Altre migliorie riguardano il browser Internet Explorer Mobile, che finalmente aggiunge la funzionalità di zoom. La suite Microsoft Office Mobile si arricchisce di OneNote Mobile, che precedentemente era installabile dal computer, fornito assieme alla versione desktop di Microsoft Office OneNote. Altre migliorie riguardano l'aggiunta di una schermata iniziale interattiva per la configurazione delle impostazioni, l'auto paring di auricolari, cuffie o kit audio bluetooth, la visualizzazione degli SMS in stile chat e la funzionalità Domain Enroll. Quest'ultima permette di collegare il dispositivo al System Center Mobile Device Manager, un software che permette di gestire i dispositivi mobile[1]. Anche questa importante funzionalità non è disponibile nella versione Professional. Anche il protocollo email push di Activesync è stato migliorato, con un risparmio di banda del 40%, migliorando anche la durata della batteria.
Viene anche modificato il numero di versione del sistema operativo: mentre Windows Mobile 6.0 veniva individuato come Windows CE 5.2.xxxx, con le ultime 4 cifre che costituivano un build ID variabile nei vari modelli di telefono, la versione 6.1 è identificata come 5.2.xxxxx (con un ID di cinque cifre).

Windows Mobile 6.5 [modifica]

Screenshot di Windows Mobile 6.5
Anche Windows Mobile 6.5 è un aggiornamento minore. Microsoft lo ha presentato al Mobile World Congress del febbraio 2009[2], ed è stato rilasciato alle case produttrici l'11 maggio 2009, mentre i primi modelli di telefoni in commercio con questa versione del sistema operativo sono attesi per l'inizio di ottobre dello stesso anno, e saranno venduti come "Windows Phones"[3].
Tra le migliorie apportate vi è una interfaccia grafica ridisegnata, una nuova versione di Internet Explorer Mobile, chiamata "6 on 6". Alcuni aspetti dell'interfaccia ricordano l'aspetto dello Zune e del pannello scorrevole di Windows Mobile 6.1, e sono stati pensati sostanzialmente per facilitare l'utilizzo con le dita.
Secondo i dati forniti dalla stessa Microsoft su Windows Phone Expert, per Windows Mobile 6.5 sono disponibili più di 18000 applicazioni di terze parti sia per il tempo libero che per il lavoro.
Microsoft ha annunciato l'attivazione, in parallelo con il lancio della versione 6.5, di diversi servizi di cloud computing, chiamati in codice "SkyBox","SkyLine" e "SkyMarket". SkyBox è diventato "My Phone", mentre SkyMarket è diventato lo store "Windows Marketplace for Mobile".
Alcuni mesi dopo il lancio ufficiale dei terminali basati su Windows Mobile 6.5 Microsoft ha ulteriormente aggiornato la piattaforma, rilasciando senza grandi clamori una versione rinnovata denominata Windows Mobile 6.5.3[4] (nome in codice "Maldives"), che ha debuttato su alcuni terminali presentati al Mobile World Congress 2010 ed è al momento la più recente e l'ultima versione disponibile di Windows Mobile.

Windows Phone 7 [modifica]

Exquisite-kfind.pngPer approfondire, vedi la voce Windows Phone 7.
Schermata Start di Windows Phone 7
Windows Phone 7 è la nuova versione del sistema operativo per smartphone di Microsoft, che lo ha presentato al Mobile World Congress il 15 febbraio 2010[5]. È completamente differente da tutte le precedenti versioni di Windows Mobile; supporta il multitouch, gli schermi capacitivi, ha una nuova interfaccia grafica molto simile a quella di Zune HD, e riunisce in una sola piattaforma i contenuti di Xbox LIVE e Zune. Inoltre gestisce gli account di social network quali Facebook e Twitter, e possiede una nuova versione di Internet Explorer basata su Windows Internet Explorer 7 con alcuni elementi della versione 8. Questa versione di Windows Phone conterrà una edizione Mobile di Office 2010, contenente Word, Excel, Powerpoint, OneNote e Sharepoint.
Questo nuovo sistema operativo venne presentato con il nome di Windows Phone 7 Series; successivamente, per rendere il logo più snello e facile da ricordare, Microsoft ha deciso di eliminare il "Series".
La data di uscita era del 21 ottobre, in Europa, mentre in America i primi smartphone sono arrivati sul mercato l'8 novembre. In Italia il primo smartphone uscito con Windows Phone 7 è l'LG Optimus 7 seguito dall'HTC Mozart 7, dall'HTC HD7 e dal Samsung OMNIA 7.

Windows Phone 7.5, Mango [modifica]

Alla fine di settembre del 2011 la Microsoft ha rilasciato l'aggiornamento annuale definito Windows Phone 7.5 (o 'Mango') è il più grande aggiornamento dal lancio del sistema operativo. Anche se il sistema si autodefinisce con il codice versione 7.1, commercialmente è stato lanciato come versione 7.5 in tutti i materiali pubblicitari.[6][7] L'aggiornamento era stato inizialmente annunciato a New York il 24 maggiodello stesso anno, quando la Microsoft aveva dato un profondo preview dell'aggiornamento, poco prima che Steve Ballmer annunciasse la presenza di oltre 500 novità.
Microsoft ha iniziato il rilascio ufficiale di Windows Phone 7.5 contemporaneamente nel mercato statunitense[8] e nel resto del mondo[9] il27 settembre del 2011.

Windows Phone 7.8 [modifica]

Durante la presentazione di Windows Phone 8 microsoft ha annunciato che i terminali con Windows Phone 7 non verranno aggiornati aWindows Phone 8 ma avranno la nuova startscreen con l'aggiornamento Windows Phone 7.8

Windows Phone 8 [modifica]

Exquisite-kfind.pngPer approfondire, vedi la voce Windows Phone 8.
Windows Phone 8 (Apollo) sarà la prossima versione del sistema operativo Microsoft destinato agli smartphone. La sua data di rilascio è prevista per ottobre 2012.
Windows Phone 8 sarà basato sul kernel Windows NT lo stesso che sara utilizzato da Windows 8 RT [10] cio permetterà l'utilizzo di linguaggi di programmazione standard come ilC++ ecc.... Inoltre verrà inclusa la versione mobile di Windows Internet Explorer 10 [10].

Caratteristiche in comune con Windows [modifica]

Windows Mobile per Pocket PC ha le seguenti funzionalità (NB: possono esserci variazioni in base alla versione):
  • La schermata iniziale "Oggi" contiene la data corrente, i dati del proprietario, gli appuntamenti più vicini, l'elenco delle e-mail e l'elenco delle cose da fare (la classica "To Do list"). Altri elementi sono: la barra con le icone per le notifica dello stato della connessione Bluetooth ed il pulsante "Nuovo". Altri programmi applicativi possono essere installati per aggiungere funzionalità alla schermata "Oggi", come, ad esempio, Microsoft Money per Pocket PC. Lo sfondo può essere personalizzato con colori e "temi" diversi.
  • Nella taskbar sono visualizzati l'ora, il volume, e lo stato della connessione a Internet. Quando si apre la finestra di un programma o di un messaggio, nello spazio vuoto a destra dell'orologio appare un "OK" oppure un'icona per chiudere la finestra. L'elemento più importante della taskbar è il pulsante "Start", molto simile a quello del desktop di macchine Windows. Premendo questo pulsante si apre il Menu Start, che contiene, in alto, l'elenco dei programmi usati di recente, nove voci personalizzabili, collegamenti ai programmi, impostazioni, ricerca e guida in linea.
  • In Windows Mobile sono integrate alcune applicazioni della suite Microsoft Office in versione adattata a Pocket PC, fra cui Pocket Word e Pocket Excel. Nella versione 5.0 di Windows Mobile è inserito anche Pocket PowerPoint. Si tratta di versioni che offrono molte delle funzionalità delle rispettive versioni desktop, ma mancano di altre, come l'inserimento di tabelle e immagini. Con l'utility ActiveSync è possibile convertire i file in formato compatibile con Pocket PC. Anche Outlook è incluso, con le classiche funzioni di agenda, calendario, contatti, posta.
  • Anche Windows Media Player è disponibile integrato in Windows Mobile, attualmente nella versione 9, mentre la versione 10 viene pre-installata sugli apparecchi con caratteristiche hardware più recenti. Per i dispositivi esistenti è possibile scaricare da internet e installare la versione 10, che però non è compatibile con i modelli di tutti i costruttori. I formati di file multimediali supportati includono .WMA.WMV.MP3, e MPEG, ma non .AVI e WAV, che possono essere riprodotti solo installando un playerseparato. Alcune versioni di Windows Mobile permettono di riprodurre anche i file audio .M4A.

Windows Mobile e Windows CE [modifica]

Il termine "Windows CE" (compact edition) è in realtà il nome "tecnico" con il quale viene indicata la piattaforma generale di sviluppo di questo sistema operativo. Essendo "Windows CE" sufficientemente modulare e flessibile, sono state sviluppate delle specifiche versioni per dispositivi differenti (oltre che per processori differenti dal x86, quali MIPS,ARM e Hitach SuperH).
Tali specifiche versioni prendono il nome "commerciale" di "MS Handheld 3.0" (e 3.1), "MS Handheld 2000", "Microsoft Pocket PC 2000" (e 2002), "MS Smartphone 2002", "MS Windows Mobile 2003" (e 2003 Second Edition), "MS Windows Mobile 5.0". Tali varianti fanno tutte riferimento a specifiche evoluzioni della piattaforma di riferimento "Windows CE", passato dalla v1.0 alla v5.0 attuale (nel 2006).
Tale moltitudine di nomi non è raro che generi ambiguità, impiegando erroneamente in modo ambivalente i termini "Windows Mobile" o "Windows CE" e simili.
Tale ambiguità è accentuata dal fatto che la piattaforma Windows CE è largamente distribuita a tutti i produttori di sistemi embedded (dai citofoni ai robot industriali), mentre Windows Mobile ha termini di licenza più restrittivi. Purtroppo pur derivando da Windows CE, Windows Mobile differisce notevolmente da esso dal punto di vista della programmazione ed è quindi molto facile che un applicativo scritto per piattaforma mobile non sia eseguibile su CE anche a parità di architettura del processore (Windows Mobile è compilato esclusivamente per ARM). La portabilità del codice può essere garantita scrivendo codice in C# o VB.NET tramite il .NET Compact Framework.
Microsoft ha risolto queste ambiguità con l'ultimo sistema operativo Windows Mobile 6.0, creando apposite release per le varie tipologie di dispositivi. Più precisamente: "Windows Mobile 6.0 Classic" per i palmari privi di modulo telefonico; "Windows Mobile 6.0 Standard" per gli smartphone, ovvero i terminali "data centric" non dotati di touchscreen; infine "Windows Mobile 6.0 Professional", la versione più ricca riservata ai PDA phone, ovvero quei device tascabili caratterizzati dalla presenza del modulo telefonico integrato, spiccatamente "data centric" e contraddistinti principalmente dallo schermo sensibile al tocco.
Occorre precisare che, nonostante la dizione "Windows Mobile 6", lo stesso si basa ancora sulla versione di Windows CE 5.0 e non sull'ultima release denominata Windows CE 6.0.

Diffusione [modifica]

Secondo Wikimedia, il sistema operativo Windows Mobile ha una diffusione tra tutti i dispositivi mobili pari al 0,90%[11] (aggiornamento agosto 2011).

Android


Android è un sistema operativo per dispositivi mobili costituito da uno stack software che include un sistema operativo di base, i middleware per le comunicazioni e le applicazioni di base.[7] Caratteristiche principali di Android sono la struttura open source(escluse alcune versioni intermedie),[8][9][10] e il suo basarsi su kernel Linux.
La piattaforma usa il database SQLite, la libreria dedicata SGL per la grafica bidimensionale (invece del classico server X delle altre distribuzioni linux) e supporta lo standard OpenGL ES 2.0 per la grafica tridimensionale.[7] Le applicazioni vengono eseguite tramite la Dalvik virtual machine, una macchina virtuale adattata per l'uso su dispositivi mobili. Android è fornito di una serie di applicazioni preinstallate: un browser, basato su WebKit, una rubrica e un calendario.
Android fu inizialmente sviluppato da Startup Android Inc., acquisita nel 2005 da Google Inc.[11] I cofondatori di Android Inc., Andy Rubin(a sua volta cofondatore di Danger),[12] Rich Miner (cofondatore di Wildfire Communications, Inc.),[13] Nick Sears (vicepresidente di T-Mobile)[14] e Chris White (principale autore dell'interfaccia grafica di WebTV),[15] iniziarono a lavorare per Google e svilupparono una piattaforma basata sulla versione 2.6 del kernel Linux. Il 5 novembre 2007 il consorzio di produttori Open Handset Alliance (di cui Google è capofila) presentò pubblicamente Android.[16]

Versioni [modifica]

Il 12 novembre 2007 l'OHA ha rilasciato il software development kit (SDK) che include: gli strumenti di sviluppo, le librerie, un emulatore del dispositivo, la documentazione (in inglese), alcuni progetti di esempio, tutorial e altro. È installabile su qualsiasi computer x86 compatibile che usi come sistema operativo Windows XPVistaMac OS X, dalla versione 10.4.8, o Linux. L'IDE ufficialmente supportato per lo sviluppo di applicazioni per Android è Eclipse,[17] per cui è fornito un plug-in.
Il 23 settembre del 2008 viene rilasciata la versione 1 di Android, che comprendeva il market, il browser, la gestione delle cartelle (creazione, cancellazione e rinominazione)[18], accesso ai servizi di posta elettronica e il supporto di reti wi-fi, fotocamere e applicazioni google.
L'SDK fu aggiornato alla versione 1.1 il 9 febbraio 2009; questa nuova versione sostituiva la versione 1.0_r2 e manteneva la retro compatibilità con i sorgenti creati tramite le vecchie release dell'SDK (1.0_r1 e 1.0_r2) ed aggiunge nuove caratteristiche alle API.[19]
La versione dell'SDK uscita il 13 aprile 2009 è la 1.5, divenuta famosa soprattutto con il suo secondo nome Cupcake. C'è retrocompatibilità con le vecchie versioni e implementa le nuove API 3.[20]
Fu poi aggiornato e il 16 settembre 2009 venne rilasciata la 1.6 chiamata anche Donut. C'è retrocompatibilità con le vecchie versioni e implementa nuove funzioni e tecnologie come il supporto alle reti CDMA, diverse risoluzioni di schermo e una ricerca globale interna nel telefono e su internet contemporaneamente. I primi cellulari con Android 1.6 nativo sono sul mercato da ottobre 2009.[21]
Il 27 ottobre 2009 Google pubblica la versione 2.0 del suo sistema operativo Open Source,[22], che introduce la possibilità d'inviare dati tramite Bluetooth, mentre in precedenza era possibile utilizzarla solo per la comunicazione vocale[23] seguita da una minor release dell'SDK, la versione 2.0.1, il 4 dicembre 2009.[24]
Il 12 gennaio 2010 è stato rilasciato l'Android SDK 2.1.
Il 20 maggio 2010 al Google I/O conference è stato rilasciato l'Android SDK 2.2, nome in codice Froyo. Sono stati rilasciati importanti aggiornamenti: nuovo kernel linux 2.6.32, nuovo compilatore JIT, V8 Engine per il javascript, Tethering Wi-fi Nativo per utilizzare il terminale come Hotspot Wireless, nuove Icone per la Home, Telefono (Sinistra) e Browser (Destra). Adobe Flash Player 10.1 e Adobe AIR Integrato. Possibilità di installare le apps sulla memoria SD, feature molto attesa dalla community mondiale. Aggiornamento automatico Over-the-Air delle Applicazioni. Nuove Api per gli sviluppatori, tra cui le OpenGL ES 2.0. Il tutto si è tradotto in 2-3X di velocità maggiore, performance e fluidità rispetto alla precedente versione 2.1 Eclair.
Il 9 luglio 2010 l'Android SDK 2.2[25] è stato revisionato e aggiornato con gli ultimi file.img del sistema Android 2.2.
Il 7 dicembre 2010 l'Android SDK 2.3[26] è stato rilasciato
Nel gennaio del 2011 viene rilasciato il sistema 3.0 (Honeycomb) dedicato ai soli tablet[27], mentre il 27 gennaio 2011 viene rilasciata la preview dell'Android SDK 3.0[28] la versione di Android per i dispositivi Tablet. La versione definitiva dell'SDK 3.0 è stata invece ufficializzata solo il 23 febbraio 2011.[29][30] L'11 maggio 2011 è stata rilasciata la versione SDK 3.1.[31]
Il 19 ottobre 2011 è stata presentata la versione 4.0 (Ice Cream Sandwich) contemporaneamente alla presentazione del nuovo Samsung Galaxy Nexus[32], questa versione è destinata per diversi dispositivi, quali smartphone e tablet, abbandonando la precedente situazione, dove smartphone e tablet utilizzavano sistemi operativi differenti. Il 19 Ottobre è stato rilasciato l'SDK 4.0.[33]
Il 22 marzo 2012 è stato rilasciato l'Android SDK versione 17 che introduce il supporto nativo per i chip x86 e la possibilità di utilizzare un device Android in collegamento con il PC come dispositivo di input multitouch.[34]
Versione principaleData di rilascioCambiamenti rilevanti
1.023/09/2008Prima versione del sistema operativo.
1.109/02/2009Update per risolvere vari bug. Cambio di API Level.
1.5 Cupcake30/04/2009Linux kernel 2.6.27. Maggior integrazione con i servizi Google, supporto per i widget.
1.6 Donut15/09/2009Linux kernel 2.6.29. Aggiunta di ricerca vocale e testuale per i contenuti presenti in locale e sul Web. Introdotta la sintesi vocale e le gestures.
2.0 Eclair26/10/2009Aggiunte numerose funzionalità per la fotocamera. Migliorata la sincronizzazione dell'account Google e aggiunto il supporto agli account Exchange. Aggiunto il supporto al multi-touch e ai live wallpaper. UI e prestazioni migliorate.
2.0.1 Eclair03/12/2009Risolti alcuni bug minori. Cambiamenti minimi apportati anche alle API.
2.1 Eclair12/01/2010Minor release.
2.2 Froyo20/05/2010Linux kernel 2.6.32. Drastico miglioramento prestazionale, dovuto ad una migliore gestione delle risorse hardware (compilazione JIT). Tethering USB e Wi-Fi. Integrazione del motore JavaScript V8 di Google Chrome nel browser di sistema. Supporto alla tecnologia Adobe Flash. Migliorie apportate a gran parte delle altre applicazioni di sistema.
2.2.1 Froyo18/01/2011Incremento prestazionale e miglioramento della sicurezza.
2.2.2 Froyo22/01/2011Risolto un bug relativo all'invio degli SMS riscontrato su Nexus One.
2.2.3 Froyo21/11/2011Patch di sicurezza.
2.3 Gingerbread06/12/2010Linux kernel 2.6.35. UI aggiornata per essere più user-friendly. Aggiunto il supporto agli schermi XL (risoluzione WXGA e superiori). Supporto nativo al SIP VoIP e alla tecnologia NFC. Tastiera riprogettata (precisione predittiva aumentata e copia/incolla migliorato). Aggiunta l'app Download Manager, per la gestione unificata di tutti i download effettuati dalle app di sistema e non. Supporto nativo a sensori come giroscopio e barometro. Migliorata la gestione energetica.
2.3.3 Gingerbread09/02/2011Numerosi miglioramenti alla API.
2.3.4 Gingerbread28/04/2011Supporto per la chat video e vocale tramite Google Talk.
2.3.5 Gingerbread25/07/2011Migliorate le applicazioni Fotocamera e Gmail. Efficienza energetica migliorata. Fix di alcuni bug riscontrati su Nexus S 4G e Galaxy S.
2.3.6 Gingerbread27/07/2011Risolto un bug relativo alla ricerca vocale.
2.3.7 Gingerbread10/10/2011Supporto a Google Wallet (solo per Nexus S 4G).
3.0 Honeycomb22/02/2011Linux kernel 2.6.36. Versione ottimizzata per tablet. Introdotta nuova UI, denominata "Holo". Aggiunta la barra di sistema (pulsanti software Home, Indietro, Task manager) e la Action Bar (fornisce accesso ad opzioni che variano in base al contesto). Browser multi-tab. Accelerazione hardware e supporto per processori multi-core. Possibilità di criptare tutti i dati personali.
3.1 Honeycomb10/05/2011Miglioramenti alla UI. Widget ridimensionabili. Supporto per le periferiche USB (flash drive, gamepad).
3.2 Honeycomb15/07/2011Ampliato il supporto hardware. SDK aggiornato per permettere agli sviluppatori di personalizzare più a fondo la UI.
3.2.1 Honeycomb20/09/2011Aggiornamento di Google Books e Android Market. Bug fixes.
3.2.2 Honeycomb30/08/2011Risolti alcuni bug riscontrati nel Motorola Xoom 4G.
4.0.1 IceCream Sandwich19/10/2011Linux kernel 3.0.1. UI completamente riprogettata: prestazioni migliorate, pulsanti virtuali al posto di quelli hardware (per i dispositivi che ne sono privi), cartelle più facili da creare, launcher personalizzabile, nuovo font di sistema (Roboto). Aggiornate tutte le app di sistema per sfruttare le nuove API. Possibilità di scattare screenshots integrata nell'OS. Dettatura in tempo reale. Face Unlock, per sbloccare il dispositivo tramite un software di riconoscimento facciale. Possibilità di accedere alle applicazioni direttamente dalla schermata di sblocco. Fotocamera migliorata con: ritardo di scatto nullo (zero shutter lag), modalità panorama e zoom durante la ripresa di video. App "Contatti" con integrazione con i social network. Android Beam (scambio di dati tramite NFC). Wi-Fi Direct.
4.0.2 IceCream Sandwich28/11/2011Risolti alcuni bug minori riscontrati nel Galaxy Nexus marchiato Verizon.
4.0.3 IceCream Sandwich16/12/2011API level incrementato. Accessibilità migliorata.
4.0.4 IceCream Sandwich29/03/2012Migliorate funzione multitasking, rotazione dello schermo e applicazione Camera.
4.1.0 Jelly Bean27/06/2012Linux kernel 3.1.10. Riconoscimento del tocco migliorato, ottimizzato l'utilizzo della CPU, digitazione testo migliorato, voice typing offline, migliorata la gestione dei widget (possibilità di eliminarli con le gesture, ridimensionamento automatico), miglioramenti notevoli nella fluidità grazie a Project Butter, importanti miglioramenti nell'applicazione fotocamera, nuove funzionalità per la condivisione di foto e video tramite NFC, Android Beam migliorato, personalizzazione delle notifiche con gesture e swype, possibilità di ampliare il contenuto delle notifiche nella stessa barra, Google Now (nuovo servizio in arrivo a breve in Italia), sintesi vocale migliorata, Google Play aggiornato, riconoscimento vocale avanzato (GSV).
Abbandono ufficiale al supporto della tecnologia flash.[35]
4.1.1 Jelly Bean11/07/2012

Le applicazioni [modifica]

Le applicazioni sono la forma più generica per indicare software installabili su Android. Dato che su Google Play tali applicazioni vengono definite "apps", questo termine è ampiamente diffuso nella comunità di utilizzatori.
Per motivi di sicurezza informatica, le apps possono essere scaricate e utilizzate mediante un servizio di distribuzione fidato, quindi un sito internet che fornisca sia l'applicazione stessa che le relative certificazioni (software). Per venire incontro alle necessità degli sviluppatori, è stata però prevista la possibilità di disattivare il controllo di tali certificati, attraverso una voce presente nel menu "Impostazioni" (Android versione 2.2) .

Gestione delle installazioni e App2SD [modifica]

Quando si vuole aggiungere all'ambiente Android una funzionalità non presente, come ad esempio un software per l'ufficio, un videogioco o una immagine di sfondo (wallpaper), si usa ricercarla da un "Market" (come Google Play) e "installarla", ossia copiarla all'interno del dispositivo affinché sia sempre presente e utilizzabile.
Dalla versione 2.2 di Android è possibile installare una app, oltre che nella memoria interna del dispositivo, su una card esterna. Questa nuova feature viene spesso chiamata dalla community "app2sd" (o "apps2sd"), derivata dai nomi dei primi esperimenti effettuati da programmatori indipendenti: attraverso del software nativo (scripts in linguaggioshell), spostavano su card esterna sia i software installati che alcune cartelle di sistema, utilizzando poi dei link simbolici per i collegamenti e facendo anche delle copie di riserva per poter ripristinare la situazione precedente in sicurezza.
Ufficialmente però, in fase di installazione, la scelta del supporto di destinazione (memoria interna o card) è lasciata allo sviluppatore del software e non all'utente finale.
Al riguardo, alcuni produttori di dispositivi hanno messo a disposizione degli utenti, nel menu "Impostazioni -> Applicazioni", una "casella di spunta" chiamata "App2sd". Questa permette di scegliere se direzionare tutte le nuove installazioni sulla card oppure sulla memoria interna del dispositivo.
In assenza di tale opzione, si può installare l' app prima sulla memoria interna (se sufficiente) e poi trasferirla sulla card, aprendo la voce di menu "Impostazioni -> Applicazioni -> Gestisci applicazioni", selezionando l' app appena installata e premendo il bottone "Sposta su scheda SD".
Su Google Play sono presenti varie apps, talune omonime di app2sd, che permettono di semplificare ulteriormente la gestione delle applicazioni installate, aggiungendo varie funzionalità come ad esempio la possibilità di scegliere, in fase di installazione, quale sia il supporto di destinazione (memoria interna oppure card).
La necessità di spostare le applicazioni sulla memoria esterna è data dal fatto che, al momento del lancio di Android 2.2, la memoria interna (e non di massa) dei dispositivi era abbastanza ristretta. Nei prodotti di fascia alta questa esigenza è scomparsa. Già dal 2010, il Galaxy S mette a disposizione 2 GB per l'installazione di applicazioni. Nei dispositivi di fascia bassa, invece, il problema sussiste ancora.
La situazione è ulteriormente evoluta con il lancio di Ice Cream Sandwich e del terzo smartphone Google, Galaxy Nexus: la memoria interna diventa dinamica. Un esempio è proprio questo terminale: la sua memoria interna viene dinamicamente allocata tra applicazioni installate e memoria di massa. È quindi possibile installare 16 GB di applicazioni o usare la memoria interamente per i file multimediali. Questa soluzione comporta però lo svantaggio di perdere il riconoscimento come archivio di massa da parte di un PC, comportando una compatibilità con sistemi operativi più ristretta.

Google Play [modifica]

Exquisite-kfind.pngPer approfondire, vedi la voce Google Play.
Per volere della stessa Google Inc., è stato allestito un sito di E-commerce destinato a creare un punto di incontro tra gli utilizzatori dei dispositivi che cercano software per Android e gli sviluppatori che vogliono diffonderli a pagamento o gratuitamente. Diffuso inizialmente come Android Market, dal 6 marzo 2012 è stato rinominato Google Play.
Tutti o quasi i dispositivi Android hanno preinstallata una icona denominata Market oppure Google Play. Per accedere al Market, bisogna eseguire tale applicazione e registrarsi gratuitamente al servizio. La registrazione è sia per scopi di fatturazione che di prevenzione di eventuali abusi del servizio stesso. All'interno del Market si possono visionare le ultime novità oppure fare una ricerca di software o altro materiale (come ad esempio i wallpaper o le suonerie) per termine, tipologia (applicazione, videogioco, altro) o di costo (gratuito o a pagamento).
Al fine di agevolare la diffusione del servizio, non è necessario depositare subito i dati contabili. Inoltre è prevista la possibilità di addebitare l'acquisto su una scheda telefonica SIM, ma solo con certi operatori come Vodafone.[36]
L'acquisto di un prodotto nel Market può essere effettuato tramite Google Checkout, con una carta di credito.

App Inventor [modifica]

È un semplice ambiente di sviluppo basato su piattaforma Java per coloro i quali non hanno basi di programmazione; con questo strumento si possono scrivere semplici applicazioni, per uso esclusivamente personale, tramite una interfaccia grafica.[37]
App Inventor faceva parte di Google Labs, luogo virtuale ove gli ingegneri di Google sviluppano le nuove applicazioni sperimentali, ma il 10 agosto 2011 Google ha comunicato che App Inventor sarebbe stato chiuso, cosa che è avvenuta il 31 dicembre 2011. La scelta è probabilmente dovuta o al mancato successo dello stesso oppure a causa di una denuncia da parte di Oracle per violazione dei diritti della piattaforma Java,(che Oracle detiene), su cui è sviluppato App Inventor. Il sistema è stato però preso in carico dal MIT Center for Mobile Learning che ora lo supporta con il nome "App Inventor Edu"[38].
Le Apps sviluppate con App Inventor non possono andare su Google Play.

Smartphone [modifica]

T-Mobile G1, il primo dispositivo con Android
Il primo dispositivo mobile dotato della piattaforma Android è stato il T-Mobile G1, prodotto dalla società taiwanese HTC e commercializzato dal carrier telefonico T-Mobile. Il prodotto è stato presentato il 23 settembre 2008 a New York, mentre la data di uscita nel mercato è stata il 22 ottobre 2008. Le caratteristiche principali del dispositivo sono: tastiera QWERTY, schermo touchscreen da 3.2 pollici con risoluzione di 320x480 pixel, supporto per la connettività 3G UMTS/HSDPA a 7,2 Mbps, 192 MB di RAM e 256 MB di memoria flash.
Il prezzo di lancio era di 179 $ negli Stati Uniti, con obbligo di sottoscrizione ad un contratto biennale con il carrier T-Mobile, mentre in Italia il dispositivo è noto con il nome di HTC Dream ed il prezzo iniziale fu di 450 € senza contratto. Il dispositivo è stato inizialmente distribuito negli USA il 22 ottobre 2008 e nel Regno Unito il 30 dello stesso mese. In seguito è stato commercializzato in Italia HTC Magic, un dispositivo con caratteristiche simili a quelle del T-Mobile G1, seppur non dotato di una tastiera a livello hardware; in seguito è stato introdotto da parte di Samsung il dispositivo Galaxy dotato di schermo AMOLED in seguito il Galaxy Sdotato di una fotocamera senza flash, presente però nel suo successore Galaxy S II.
Il primo dispositivo dotato di Android 2.0 è il Motorola Milestone, presentato nell'ultima parte del 2009 e commercializzato in Italia intorno ai 499 euro. Il 4 gennaio 2010 è stato rilasciato il nuovo Nexus One, dotato di Android 2.1, prodotto da HTC e Google. A stretto giro di posta, la versione 2.1 diventa disponibile anche per gli altri dispositivi Android quali HTC, Motorola e altri.
Nel 2010 sono stati poi presentati e messi in commercio una nuova generazione di smartphone con sistema operativo Android che spinti dal Nexus One hanno caratteristiche tecniche di livello superiore (processore da 1 GHz e RAM fino a 512MB). Tra questi troviamo l'HTC DesireSamsung Galaxy S e l'LG Optimus Black.
Il 16 dicembre 2010 è stato rilasciato il successore di Nexus One: il Nexus S, prodotto da Samsung, è il primo terminale Android a montare in partenza la release 2.3 dell'OS, denominata Gingerbread.
Secondo Wikimedia, il sistema operativo Android ha una diffusione tra tutti i dispositivi mobili pari al 22,94%[39] (aggiornamento agosto 2011); nell'ultimo trimestre del 2010 Android è riuscito a superare Symbian[senza fonte], l'incontrastato sistema operativo di Nokia per oltre 10 anni, vendendo nel mondo ben 32,9 milioni di smartphone contro i 30,6 milioni di Symbian[senza fonte]. Dal 2008 Android è cresciuto, anno su anno, del 615.1%[senza fonte].

Tablet [modifica]

Nel 2009 la Toshiba ha presentato il tablet journ.e Touch, con schermo da 7 pollici e sistema Android 2.0.
Durante il 2010 sono stati presentati molti tablet che utilizzano Android come sistema operativo. Quello che ha ricevuto più interesse dei media è stato sicuramente il Samsung Galaxy Tab con la versione 2.2 Froyo, che si è posto in diretta concorrenza con l'iPad di Apple. Il prodotto è stato presentato durante l'IFA di Berlino 2010 ed è stato messo in commercio a partire dalla fine di settembre 2010.[40]
La nuova versione di Android dedicata ai tablet è la versione 3.0 Honeycomb e il primo tablet annunciato ufficialmente con questa versione dell'OS è stato il Motorola Xoom.[27] Il primo tablet ad entrare in commercio con HoneyComb 3.1 preinstallato è stato il Samsung Galaxy Tab 10.1 nel giugno 2011. In generale, a tutto marzo 2012 si è cominciato ad avere una disponibilità sul mercato di dispositivi con versione di sistema 4.0, come l'Asus Transformer Prime anche se inizialmente alcuni venivano proposti con la versione inferiore (aggiornabile) perché ancora non era stato reso disponibile il plugin Flash per questa versione di sistema. Il 28 Giugno 2012 è stato presentato ufficialmente da Google il primo tablet con Android 4.1 Jelly Bean, prodotto in collaborazione con Asus, il Google Nexus 7.

Uso corretto delle memorie esterne [modifica]

Android ha la caratteristica di accettare i dispositivi di memorizzazione esterni (SD card, pennine USB, ecc...), al pari di molti sistemi operativi per PC.
Mentre non c'è bisogno di alcuna precauzione per il collegamento di questa memoria esterna al dispositivo Android, bisogna effettuare una certa procedura prima di scollegarla. Su Android 2.2 , bisogna cliccare sulla voce di menu "Impostazioni -> Scheda SD e memoria" e da qui scegliere la voce "Smonta scheda SD" oppure "Unmount U-disk" (Smonta disco USB). A questo punto può essere scollegata dal dispositivo.
Il motivo della necessità di effettuare la procedura di smontaggio è che all'interno di tali memorie potrebbero esserci ad esempio documenti o software che l'utente sta utilizzando; appena una app richiede di accedere ai dati di tali file e questi non sono più disponibili, Android la chiude forzatamente.
Un altro problema della rimozione "a caldo" di una memoria esterna è che il salvataggio dei dati di una applicazione non avviene immediatamente ma dopo un certo tempo. Il rischio è quindi che quel salvataggio (ad esempio un documento scritto dall'utente) venga memorizzato in maniera parziale (divenendo spesso inutilizzabile), o che il file vada perso.

Risorse per gli sviluppatori [modifica]

Documentazione [modifica]

Ai fini della programmazione, il team di Android ha specificato nella documentazione ufficiale[41] vari termini per definire i vari tipi di applicazioni.

Attività (activity) [modifica]

Le attività sono quelle applicazioni destinate a una interazione diretta con l'utente. Un esempio sono i videogiochi, le applicazioni per l'ufficio e i visualizzatori (reader) di E-book. Le attività vengono generalmente distribuite sotto forma di file .APK , vengono poi installate in delle cartelle nella memoria del dispositivo (o in una card estraibile), infine viene creata una icona per l'utente, che gli permetterà di eseguirla in qualsiasi momento[42]. E' anche possibile disinstallare le attività mediante una utility integrata con Android. Le attività vengono create come oggetti di classe Activity da cui ereditano proprietà e metodi[42].

Servizio (service) [modifica]

I servizi sono, al contrario, quelle applicazioni che per loro natura svolgono delle operazioni autonome e che vengono richiamati dalle attività al bisogno. Il sistema operativo fornisce alle applicazioni vari servizi già pronti all'uso, per ottenere l'accesso all'hardware o a risorse esterne (ad esempio dei web services di messaggistica). I servizi sono oggetti di classeServices[42]. Un esempio di servizio è com.android.inputmethod.latin , ossia il componente che fa comparire la tastiera quando si seleziona (con i tasti o con un "tocco" sul touch-screen) un campo di input testuale. I servizi possono essere eseguiti o interrotti direttamente dall'utente, sebbene siano eventualità alquanto rare.

Fornitori di contenuti (Content provider) [modifica]

content provider sono dei contenitori di dati generati dalle applicazioni che ne forniscono una condivisione; i dati possono essere contenuti nel file system, in un database SQLite, sul web o in una qualunque locazione di dati[42]. La classe alla quale appartengono questi oggetti è ContentProvider[42].

Ricevitori di trasmissioni diffuse (Broadcast receivers) [modifica]

Broadcast receivers permettono alle apps di ricevere segnali rivolti a tutte le apps in esecuzione, per la condivisione di dati o di segnali di servizio (come ad esempio quello di batteria scarica). I broadcast receivers, sebbene non usino l'interfaccia del sistema, possono far apparire messaggi informativi che si sovrappongono all'output dell'activity corrente[42].

Frammento (fragment) [modifica]

Il frammento è quella porzione di codice (quindi di applicazione) che gestisce la parte grafica, in base alle possibilità del dispositivo su cui è stato installato. Il problema dello sviluppatore è evidente quando si trova a dover sviluppare una applicazione che funzioni, ad esempio, sia su un tablet (generalmente questi hanno uno schermo touch-screen di grandi dimensioni) che su alcuni tipi di smartphone (che possono avere 2 schermi e non è detto che entrambi siano touch-screen). È stato allora deciso, dal team di Android, di creare il concetto di "fragments", ossia una classe tanto generica da permettere lo sviluppo di una applicazione con la parte grafica slegata a quella "decisionale", in modo da rendere agevole l'adattamento dell'applicazione alle varie situazioni. Il programmatore creerà vari frammenti della parte grafica e poi Android la ridisegnerà correttamente per il dispositivo in uso. L'alternativa per il programmatore sarebbe stato di scriversi da solo un framework che facesse lo stesso lavoro (e l'avrebbe dovuto fare per tutti i suoi progetti) oppure avrebbe dovuto creare più versioni, ognuna destinata a una tipologia di dispositivo, quindi costringendolo a riscrivere diverse parti del proprio software.

Il kernel e le librerie di base [modifica]

Questi componenti non sono sostituibili; al massimo sono aggiornabili alcune parti per correggere eventuali problemi di sicurezza. Quando viene rilasciata una nuova versione di Android, significa che alcune di queste parti sono state aggiornate o sostituite.

Il file APK [modifica]

Il software viene solitamente distribuito sotto forma di pacchetto autoinstallante, quindi un file con estensione .APK . Questo non è altro che un file compresso, contenente il software (file con estensione .dex) le sue risorse (immagini, suoni ecc...) e alcuni file XML. L'utente medio non ha necessariamente bisogno di conoscere tale tipologia di file, dato che il dispositivo gestisce tutta la parte di installazione mediante web services come Google Play.
All'interno di questo file c'è anche un certificato che permette l'installazione di un pacchetto .APK su un dispositivo Android se questo non è stato compromesso o revocato. Il certificato deve essere presente in qualsiasi pacchetto, altrimenti Android non installerà l'applicazione al suo interno. Il certificato viene creato dallo sviluppatore dell'applicazione, che può scegliere di crearne uno di "debugging" (quindi a uso interno) o di "mercato" (per la distribuzione) e può deciderne la sua diffusione delle copie (libera o limitata). Il distributore (per esempio Google Play) ci aggiungerà poi una sua chiave, che potrà successivamente revocare, se necessario. In caso di revoca, l'applicazione non è più installabile né eseguibile in nessun dispositivo Android. Se uno sviluppatore indipendente vuole poter distribuire un suo software con pacchetto .APK , senza passare per un web service certificato, può autocertificarsi il certificato. In tal caso, l'utente riceverà un avviso che sta installando un software di questo tipo ("self-signed"); a questo punto potrà annullare l'installazione o farla proseguire a suo rischio.

Le classi [modifica]

La classe è un concetto della programmazione a oggetti. Per semplificare, consiste nella suddivisione di un software in "componenti", questo per evitare di usare il vecchio paradigma della programmazione lineare, che consiste nello stilare una lista di istruzioni sequenziali che possono essere poco adattabili per l'aggiunta di ulteriori funzionalità in futuro. Su Android tutti i componenti sono catalogati come classi e richiamabili da altri componenti se il programmatore ne permette questa possibilità.
Per fare qualche esempio, nella versione 3.0 livello 11 delle API di Android, le classi del package android.bluetooth permettono a uno sviluppatore indipendente di includere nella sua applicazione la possibilità di comunicare con la sua stessa applicazione (oppure un'altra) installata su un altro dispositivo mobile, senza i cavi ma solo via radio. Esiste anche il package android.gesture , con al suo interno le classi che permettono a una applicazione di ricevere le "gestures", ossia i tracciamenti di un dito che sfiora il touch-screen.
Internamente, tutti i processi dei servizi in esecuzione vengono eseguiti con tali nomi e sono visibili, su Android 2.2, nel menu Impostazioni.

Android SDK [modifica]

Le applicazioni di Android sono sviluppate all'interno di un framework, ossia di una struttura dati specifica. La struttura del framework è molto chiara se si utilizza l'ambiente di sviluppo (SDK) con Eclipse;
Vista con Eclipse di un'applicazione
il mancato utilizzo di Eclipse, tuttavia, non ci impedisce di scrivere applicazioni Android funzionanti.
Le applicazioni Android sono caratterizzate da una certa dualità: parti dinamiche scritte in Java e parti statiche scritte in XML. Tipico delle parti statiche possono essere quelle caratteristiche che non cambiano durante l'esecuzione dell'applicazione, come per esempio il colore dello sfondo. Tipico delle parti dinamiche sono gli aspetti programmatici come per esempio la gestione degli eventi. Questa dualità è però solo apparente. Durante l'esecuzione, infatti, la Dalvik Virtual Machine (DVM) esegue sempre un programma. Per lo sviluppo delle applicazioni è disponibile una completa documentazione[43] la quale, anche graficamente, riprende la struttura tipica della documentazione Java[44] del sito Oracle.

La Dalvik Virtual Machine [modifica]

Tramite l'SDK (o meglio: tramite gli strumenti utilizzati mediante l'SDK) trasformiamo la nostra applicazione Android in un codice intermedio chiamato bytecode; questo è esattamente quello che accade abitualmente in Java, ossia:
Codice Java: compilazione: bytecode: VM -> esecuzione reale del programma
Questo bytecode viene eseguito dal un programma chiamato macchina virtuale (Virtual Machine, VM). Negli ambienti Android non viene utilizzata la Macchina virtuale Java: è stata scritta una nuova VM chiamata Dalvik Virtual Machine (DVM). Ogni terminale Android ha la sua DVM, come descritto nell'architettura del sistema; il suo compito è solo questo: eseguire il bytecode. Avremo quindi la seguente catena di esecuzione:
Applicazione Android: compilazione: bytecode: DVM -> esecuzione reale dell'applicazione Android
L'idea è questa: essendo la DVM uguale per tutti i dispositivi Android, ogni applicazione può essere eseguita su ogni terminale, indipendentemente dal costruttore e dall'implementazione. La conseguenza di questa idea, che è anche una visione, è stata questa: molti costruttori di dispositivi mobili scelgono Android; in questo modo possono fornire ai propri utenti un ambiente condiviso da moltissimi altri utenti.

Creazione, compilazione, emulazione [modifica]

Tramite l'SDK possiamo passare dalla descrizione della nostra applicazione alla sua effettiva esecuzione sia in emulazione, sia su un dispositivo concreto. Per descrivere l'applicazione al dispositivo prescelto si utilizza il file Manifest.xml Possiamo quindi affermare che un'applicazione è descritta completamente da una tripletta:
  • Codice Java
  • Risorse statiche xml
  • Manifest.xml
Flusso di sviluppo
Il codice Java viene compilato insieme all'xml per generare un file con estensione .apk: esso contiene il bytecode per la DVM. I passi successivi servono per installare il bytecode nel dispositivo (ed eseguirlo in emulazione).
Java [modifica]
Il linguaggio per applicazioni Android è un dialetto del linguaggio Java. Anche la virtual machine è diversa (Dalvik).
Nella tipica applicazione Android non c'è un entry point (metodo "main") da dove normalmente un programma comincia a caricare le sue parti software e avviarsi: tutto è pensato per essere un "componente" pilotato dagli eventi ("Event Driven") dell'hardware o di altri componenti. Questo paradigma fa sì che il programmatore sviluppi per ogni hardware delle routine il più possibile indipendenti. Un vantaggio è che il sistema operativo potrà ottimizzare le risorse, ad esempio rinunciando a caricare componenti (e hardware) non supportati o non prioritari perché inutilizzati. Inoltre, i componenti possono condividere le loro funzionalità: se ad esempio un videogioco trova installato nel dispositivo un programma che ritocca le fotografie appena scattate con la webcam, può avviarlo (se l'utente glielo consente) per permettere all'utente di ritoccare tali foto, sceglierne una e "farsela passare" per scopi ludici. Il tutto con una interfaccia grafica perfettamente integrata e quindi senza tante aperture e chiusure di programmi. Ma soprattutto, il programmatore di videogiochi è così sollevato dall'onere di dover creare un sottoprogetto per implementare una funzionalità già esistente sotto altra forma.[45]
Risorse XML [modifica]
Parte dichiarativa contenente varie informazioni:
  • informazioni di layout
  • supporto multilingue
Android Manifest XML [modifica]
File che descrive l'applicazione al dispositivo. Il Manifest elenca la lista delle necessità del programma per poter operare nel sistema; per esempio, se una apk richiede la connessione alla rete, lo notifica nel Manifest e, qualora la connessione non sia disponibile, l'appicazione verrà bloccata a run-time. In generale è opportuno ai fini della sicurezza vagliare attentamente il contenuto del Manifest, soprattutto se proviene da fonte non verificabile, e non installare il programma qualora le richieste del Manifest non siano congrue con gli obbiettivi dichiarati del programma stesso, soprattutto nel caso di richieste di connessione a linee di telefonia.

Platform Development Kit (PDK) [modifica]

Un supporto che permette agli sviluppatori di ricevere le nuove release Android in anticipo rispetto alla data di commercializzazione, per poter aggiornare le applicazioni più rapidamente.

Sicurezza [modifica]

Alcuni marchi commerciali hanno rilasciato del software antivirus per dispositivi Android, in particolare, AVG Technologies[46]Avast![47]F-Secure,[48] Kaspersky,[49] McAfee[50] eSymantec.[51] Alcune valutazioni hanno mostrato che gli antivirus gratuiti non riescono a rilevare più del 10% delle minacce ed anche i prodotti commerciali non ne rilevano più del 30%; le prestazioni decadono ulteriormente se la minaccia è già installata al momento della installazione dell'antivirus;[52] la ragione sta nel fatto che una virtual machine viene creata per ogni pacchetto che venga lanciato, compresi gli antivirus, e nel principio di minimo privilegio applicato anche agli antivirus che impedisce loro di entrare in profondità nel kernel e rilevare in modo efficace virus e malware in generale[52].

Firmware [modifica]

Molti telefoni che utilizzano Android come OS possono ottenere (grazie al lavoro di alcune comunità, come quella di XDA) i permessi di root, essendo Android basato su kernellinux. Questo "sblocco" permette ai dispositivi di accedere a funzioni avanzate altrimenti inaccessibili e soprattutto permettono all'utente di cambiare il firmware del telefono (senza avere i permessi aggiuntivi è comunque possibile installare eventuali aggiornamenti firmware ufficiali del produttore del telefono, senza perdere la garanzia).
Inizialmente tutto il lavoro si è concentrato sull'HTC Dream con firmware come Mikhael, JacHero, TheDudes e altri.
Ad oggi la potenza dei firmware preinstallati solitamente non spinge gli utenti a sostituire i loro firmware con altri creati dalle comunità online, ma rimane comunque molto popolare il firmware CyanogenMod[53] compatibile con molti terminali fra cui il Nexus One, l'HTC Magic e l'HTC Desire e successivamente per Galaxy S e Galaxy S II. Esistono raccolte di firmware come quella di AndroidPedia.[54]

Concorso a premi [modifica]

Al fine di favorire lo sviluppo di applicazioni per la piattaforma l'azienda Google ha indetto nel 2008 un concorso a premi legato allo sviluppo di applicazioni per Android. Il concorso a premi assegnerà una serie di premi e incentivi alle applicazioni, la scelta delle applicazioni vincenti verrà effettuata internamente da Google e la somma dei premi è di 10 milioni di dollari. Dal concorso risultano esclusi i programmatori residenti a Cuba, Iran, Siria, Nord Corea, Sudan, Burma (Myanmar), Quebec e Italia.[55] Le nazioni sono state escluse per adempiere alla legislazione statunitense contro il terrorismo o per impedimenti burocratici locali. L'Italia risulta esclusa per via della legislazione locale sulle vincite a premi sebbene la sua esclusione sia ancora in discussione.[56]

Commercializzazione in Italia [modifica]

Il primo telefonino con Android venduto in Italia è stato Htc Dream con l'operatore mobile TIM al prezzo di 429 € senza contratto oppure a un prezzo minore con contratto. Il dispositivo è stato privato di alcune funzionalità da parte della TIM stessa. A seguire anche Vodafone ha venduto il telefonino. Il secondo "Googlephone" nato dalla collaborazione traGoogleHTC e Vodafone è HTC Magic, commercializzato dal 5 maggio da Vodafone e dal 1 maggio in colorazione nera e poi anche bianca. Entrambi gli operatori lo vendono a 450 € ma Vodafone include una micro sd da 8 GB mentre TIM una da 1 GB, quest'ultima inoltre include nel dispositivo la versione di Android 1.5 di HTC e non di Google. Da luglio 2009 arriva con l'operatore Wind il Samsung Galaxy, primo smartphone dotato di sistema operativo Android della casa coreana al costo di 399 €.
Il 4 settembre 2009 Google, dopo aver annunciato lo sviluppo di un nuovo applicativo dell'Android Market, ha confermato che sarà possibile inserire le Applicazioni a Pagamento anche per sviluppatori Italiani.

Critiche [modifica]

ComputerWorld ha riportato in un articolo che le condizioni d'uso di Android e dello store delle applicazioni prevedono che "nel caso in cui un qualsiasi prodotto violi l'accordo di distribuzione con gli sviluppatori, Google si riserva il diritto di rimuoverle da remoto su ogni dispositivo a propria discrezione".[57]
Il 23 giugno 2010 Google è ricorsa a questa modalità per motivi di sicurezza e pulizia, dato che le applicazioni erano state create solo a scopo di ricerca.[58]
Un team di sviluppatori si è visto rigettare un'applicazione regolarmente inserita nell'Android Market. L'applicazione in questione, "WiFi Tether for Root Users", è dedicata al tethering(permette ai dispositivi di funzionare come veri e propri router WiFi per girare connettività su altri apparecchi). La motivazione è che T-Mobile (primo carrier ufficiale di Android) vieta il tethering, e quindi le applicazioni ad esso dedicate creano un conflitto di interessi. Le notizie hanno scatenato pesanti polemiche tra gli utenti, indignati dalla poca flessibilità dimostrata da Google, che fa pensare che il sistema non sia in realtà tanto "open" come viene presentato.[59] Il tethering wi-fi è stato introdotto ufficialmente nella versione 2.2 "Froyo".[60]
Nel 2012 è emerso come le applicazioni potrebbero estrapolare le foto personali dell'utente dal proprio dispositivo[61].

Malware nel market [modifica]

Nel corso del 2011, Android è risultato essere uno tra i sistemi operativi "mobile" meno sicuri, alzando diverse critiche sulle sue difese e sui sistemi di prevenzione attuati,[62][63]con un aumento di malware stimato ad oltre il 3000%.[64] Nel tentativo di arginare il fenomeno, Google ha annunciato nel febbraio 2012 l'introduzione di Bouncer, che effettua una scansione dettagliata delle applicazioni per rilevarne malware, spyware o trojan nascosti. Inoltre, viene eseguita una simulazione sul funzionamento dell'applicazione.[65]

OS [modifica]

Il sistema operativo Android, per via delle ridotte ottimizzazioni da parte dei diversi produttori, è stato criticato per l'insufficiente supporto dei processori multi-core, i quali oltre a consumare di più hanno prestazioni analoghe ai single-core[66]. Un'altra critica è volta alla funzione sveglia, la quale non funziona con il terminale spento[67]; quest'ultima critica è superabile tramite alcune applicazioni[68]