AndroidLab

Il Laboratorio Italiano Android e Google Chrome

Ora che la bramata versione 2.2 di Android è “into the Wild“ e tutti i possessori di un Nexus One se la possono godere, anche se la relase non è ancora definitiva, mentre gli altri vostri fratelli androidi (come chi vi scrive, possessore di un Milestone) muoiono d’invidia. Possiamo tirare un po’ le somme, di cosa cambia nelle API 8 per gli sviluppatori android e fare qualche considerazione.
Quindi dopo aver dato uno sguardo alla documentazione dell’sdk ecco quanto, a grandi linee, ne è venuto fuori.

Prima di tutto è importante ricordare che non ci sono sconvolgimenti nella api tali da non rendere più utilizzabili applicazioni rilasciate per le relase precedenti, anzi di fatto tutte le applicazioni “vecchie“ continueranno a funzionare con la 2.2, quello che hanno di più le API 8 sono tutte modifiche additive che aggiungono ma non sostituiscono metodi delle api precedenti.
L’unico cambiamento “radicale” è che fill_parent ora diventa match_parent ma comunque il vecchio valore verrà sempre supportato in maniera deprecata. Alla fine nelle API 8 non c’è niente che richiederà seri cambiamenti nelle applicazioni già presenti, come ad esempio fu con l’introduzione delle dimensioni multiple degli schermi o con il cambiamento delle API per i contatti. Per tutti i cambiamenti introdotti sarà sempre lasciata agli sviluppatori la scelta se adottarli, e modificare le proprie applicazioni, o meno. Ad esempio se si vuole usare il nuovo metodo di gestione delle finestre di dialogo o il vecchio, e se si opta per la seconda, almeno nel breve futuro, tutto continuerà comunque a funzionare come si deve.

Solo una modifica, personalmente, mi sento di consigliare, anzi, obbligare tutti gli sviluppatori ad implementare al più presto nelle loro vecchie applicazioni ed è quella per permettere il salvataggio delle applicazioni sulla SD.
La modifica da fare è semplice e, a meno che la vostra applicazione non usi metodi specifici delle piattaforme precedenti alla 2.1, praticamente indolore. Basta inserire nel tag manifest l’opzione android:installLocation=”auto” (o al posto di auto il valore preferExternal) e cambiare il build target della vostra applicazione selezionando le API 8.
In questo modo l’utente potrà salvare sulla SD la vostra applicazione, mentre per chi non ha ancora Android 2.2 l’opzione nel manifest verrà ignorata senza colpo ferire.
Sono state poi aggiunte API per i messaggi Cloud-To-Device, API per il backup dei dati dell’applicazione, che noi sviluppatori dovremo usare se vogliamo permettere agli utenti di trasferire i dati con se quando si cambia terminale o si effettua un wipe. Infine sono state aggiunte tante altre API che è inutile star ad elencare. Mentre è importante ricordare ancora una volta che tutte questi miglioramenti ed aggiunte sono completamente opzionali.

Alla fine forse i veri benefici di Android 2.2 per gli sviluppatori non vengono dalle API 8 ma da ciò che è stato fatto al di fuori dell’ambiente di sviluppo per migliorare l’esperienza e la qualità di sviluppo su Andorid.
Primo su tutti naturlamente il JIT che metterà il turbo alle nostre applicazioni, ma poi anche e soprattutto il tool di crash report delle applicazioni in questo modo potremo tener traccia di tutti i problemi che gli utenti hanno con la nostra applicazione, se avete paura poi di dovervi districare in una lista infinita di report simili, non vi preoccupate il tool già da solo raggruppa i crash per tipo e stila una classifica in base a vari parametri, in modo che noi a prima vista sapremo su cosa dover lavorare per rendere migliore la nostra applicazione per il maggior numero di utenti.
Per concludere questa breve vista all’sdk di Android 2.2 vogliamo ragionare un attimo al di fuori dell’ambito di sviluppo e capire meglio la direzione in cui Android sta andando.
Prima di tutto la la famosa frammentazione, anche se come Google ci tiene a sottolineare, di frammentazione non si tratta ma bensì di progresso. Progresso che da parte di BigG è talmente veloce, che le aziende che poi producono l’hardware non gli stanno dietro. Devono quindi esser proprio quest’ultime, necessariamente, a cambiare modello di sviluppo/rilascio. Perché Google fa con Android quello che fa con le sue web application, fixa migliora  rende stabile e poi “spingendo un solo bottone” rilascia a tutti mettendosi “il giorno dopo” a lavorare per la prossima iterazione del prodotto. Nel bene e nel male la realtà è che in Google la mentalità aziendale dominante è quella ingegneristica, relativamente poco alla fine importa il lato marketing e cose del genere, con tutti i lati positivi e negativi che ne conseguono.
Comunque se anche per le future API di Android, manterrà un modello simile a questo rilascio, e spero vivamente che sia così, con la maggioranza dei miglioramenti che sono intorno al sistema e soprattutto che non vanno a sostituire metodi, ma bensì ad aggiungere solamente un nuovo livello di funzionalità. Ne conseguirà quantomeno un argine alla cosiddetta “frammentazione” senza necessariamente rallentare i cicli di sviluppo di Android.
Vedremo quest’inverno con Gingerbread come eventualmente cambierà la situazione.

Michele Dipace

Admin di Androidlab e "Computer Addicted", ha cominciato la sua"carriera" nella metà degli anni 80 sui computer 8 bit Commodore e Sinclair passando poi al 16 bit Amiga, diventandone grande appassionato. Oggi Linux user, crede che Android sia il sistema operativo destinato ad emergere nel mercato della telefonia mobile.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInPinterestGoogle PlusYouTube

  • kaffeine

    Articolo di qualità, condivido inoltre le affermazioni finali sulla mentalità ingegneristica di Google, che è quello poi che rende questa azienda così differente dalle altre, ed è anche il motivo per cui ci piace e ci affascina.

  • Grazie per i complimenti:)…
    Eh si è proprio per quello che ci piace google.
    Anche nei servizi o prodotti che magari alla fine non hanno successo di pubblico ma che dimostrano sempre le doti grandi doti tecniche, la creatività e la voglia di fare/sperimentare che ha.

  • Veramente ben scritto, complimenti.

    Ovviamente siamo tutti dalla parte di BigG, le aziende produttrici di hardware devono adeguarsi al suo standard, di certo non si può rallentare lo sviluppo di un OS per aspettare chi non ha particolare interesse nell'innovazione.

    • EnricoDroid

      Grazie anche a te per i coplimenti…
      Già purtroppo la maggiorparte delle aziende che poi fa i telefoni non vuole abbandore ancora il loro vecchio modello di sviluppo dove l’os, per lo più proprietario, seguiva i rilasci dei nuovi telefoni.
      Ma con android questo modo di fare non è praticabile, la crescita è veloce devono tenere il passo e soprattutto aggiornare.
      Che molti guardano ad apple ma apple fa os e hw, e poi il suo modello non è esportabile funziona solo coni suoi prodotti.

  • The_OZ

    Complimenti anche da parte mia per l'articolo!

  • esaustivo come sempre…

  • Pingback: 50% dei terminali Android monta la 2.1 | AndroidLab()

Forum Android
Diventa un blogger, scrivi un articolo