[iOS] La libreria Three20: navigazione “persistente” e galleria fotografica nelle vostre app

Three20 è una libreria open-source scritta in Objective-C e molto utilizzata e diffusa tra le maggiori app in Apple Store, come Facebook, Posterous, Pulse, Meetup.com e SCVNGR (vedi il seguente link con l’elenco delle app più famose che lo hanno utilizzato: http://three20.info/gallery).

La libreria mette a disposizione un ricco set di view controller come il Launcher, il popolare Photo Browser per la creazione di una gallery, e varie tables concepite per i contenuti Internet.

Altra funzionalità potentissima è quella che permette di accedere alle view delle vostra app tramite delle URL, come se la navigazione avvenisse su un sito web. Tale possibilità è davvero eccezionale, perché senza tale framework siamo costretti a programmare la navigazione con una gestione a stack delle view (grazie al navigation controller), dove il “salto” tra una vista e l’altra può avvenire solo tramite operazioni di push e pop delle stesse. Three20 introduce, quindi, il concetto di “persistenza“: permette di ricordare lo stato dell’app, ovvero ogni pagina (vista) viene “raggiunta” grazie ad una specifica URL. Quando un utente naviga attraverso le viste, Three20 memorizza una history di navigazione e la scrive su disco. Quando l’app viene ricaricata di nuovo, queste URLs vengono rieseguite istantaneamente così che la navigazione inizia dall’ultima vista visualizzata.

La libreria è modulare, ossia è possibile scegliere quali elementi includere nelle nostre app. Ciò fa di Three20 l’unico framework in Objective-C che incoraggia l’utilizzo di quelle che la comunità chiama “extensions“. Il Launcher è un’altra implementazione open-source disponibile in Three20 che emula l’app launcher standard dei dispositivi iOs (ossia il “desktop” con tutte le app installate, detto springboard). Il Launcher permette, dunque, di riordinare e cancellare gli elementi, personalizzare il numero di colonne e righe e di gestire pagine multiple.

Ecco il link al sito ufficiale con la demo delle funzionalità disponibili in Three20http://three20.info

Per una introduzione vi consiglio di leggere il post sul blog di Ray Wenderlich:

http://www.raywenderlich.com/656/introduction-to-three20

Per l’installazione del framework nelle vostre app vi invito a vedere il seguente video:

http://www.youtube.com/watch?v=-0-E-Z0fihg

Il progetto si trova su GitHub e prendi il nome di Facebook-Thre20, perché Facebook lo utilizzò per implementare la sua prima app mobile e lo ha fixato/customizzato nella versione attualmente (1.0.6) più stabile: https://github.com/facebook/three20/

L’installazione di Three20 nelle vostre app è molto semplice. Prima occorre scaricare la libreria a questo link: http://three20.info/roadmap/1.0.6.2 (o da riga di comando con GIT o decomprimendo il .tar). Vi consiglio di mettere la cartella decompressa di Three20 (rinominandola in three20) nella parent directory che contiene il progetto della vostra app. Basta poi digitare da terminale il seguente comando python per procedere all’installazione e configurazione automatica della libreria nella vostra app:

python three20/src/scripts/ttmodule.py -p path/to/myProject.xcodeproj Three20

Vi ritrovate comunque tutti i passi, anche quelli della procedura manuale di installazione, al seguente link: http://three20.info/article/2010-10-06-Adding-Three20-To-Your-Project Dopo l’installazione, nel progetto della vostra app, vi ritroverete (nella cartella Frameworks o Dependencies) i seguenti sottoprogetti (o moduli):

  • Three20Core
  • Three20Network
  • Three20Style
  • Three20UICommon
  • Three20UINavigator
  • Three20UI
  • Three20

Quando compilerete il vost ro progetto, XCode compilerà prima i precedenti sottoprogetti, rendendo disponibili i compilati alla vostra app.

Per realizzare una galleria di foto in una app iPhone/iPad, io ho seguito l’articolo sul blog di Ray Wenderlichhttp://www.raywenderlich.com/1430/how-to-use-the-three20-photo-viewer

Grazie al precedente articolo, ho potuto realizzare le gallery di foto delle mie app iVagabro e LuBannApp.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


+ 5 = tredici