Proseguiamo la nostra breve disamina di alcuni
framework orientati allo sviluppo su
iPhone. A tal proposito dobbiamo rimarcare quello che molti sostengono essere il fattore principale di successo dello smartphone della Mela: i tanti software interagenti con la Rete, ed anzi alcuni
vivono proprio in Rete, tipo quelli che permettono una connessione perenne con i vari social network. Per tale motivo anche le compagnie telefoniche si sono dovute adeguare all'uso che gli utenti fanno del
melafonino, proponendo tariffe, piani e opzioni dati, che non sempre danno piena soddisfazione.
In ogni caso il concetto è sempre lo stesso: se l'iPhone non viene sfruttato in Rete allora perde almeno metà del suo reale potenziale. Dal punto di vista del programmatore costruire applicazioni che accedono a Internet significa generalmente confrontarsi con tecnologie relative all'interscambio di dati (motori di ricerca, applicazioni sociali), oppure alla manipolazione di risposte da parte di vari servizi internet. Di seguito vediamo allora due framework che fanno al caso nostro.
Quando parliamo di
interscambio di dati e in generale di trattamento di dati
il più delle volte si ricorre all'uso di librerie e formati XML, o ai numerosi
derivati. E' facile trovare librerie esistenti per ogni piattaforma e per ogni linguaggio. Nell'ottica dei dispositivi con evidenti limiti di computabilità e di memorizzazione, è pratica comune eseguire
parsing di dati in XML per poi trasformarli e applicare la giusta presentazione all'utente finale, in perfetta sintonia con gli schermi piccoli, dove la gestione dello spazio è un punto di successo di un'applicazione.
L'
ambiente Cocoa di Mac OS X possiede una serie di classi conosciute come
NSXML, un set completo per programmare e trattare qualunque sorgente XML. Gli ingegneri di Apple hanno però saggiamente escluso tali classi, optando per un ambiente più snello. La richiesta di velocità e la pesantezza d'esecuzione di
NSXML poco si sposavano con il sorprendente hardware dell'
iPhone. Per ovviare, basta affidarsi a
KISSXML, fortemente ispirato, nonché basato, sulla famosa
libreria del linguaggio C conosciuta come
libxml2, alla quale somiglia per le prestazioni soddisfacenti, anche a beneficio di una scrittura più ordinata e semplice del codice e di una complessità facilmente gestibile.
Ma se non volessimo affidarci completamente a XML, per esempio muovendoci nell'ipotesi di dover reperire e
digerire dati da un servizio in Rete, allora ci toccherebbe lavorare con
JSON. Molto conosciuto e utilizzato, tale
formato è apprezzato per la semplicità e la compattezza, due caratteristiche su cui si deve decisamente puntare per ridurre latenze nella connessione a Internet dal
melafonino e ritardi d'esecuzione. Riprendendo un po' il discorso degli abbonamenti internet mobili, la caratteristica di
compattezza ci permette pure di risparmiare qualcosa in termini di banda utilizzata e quindi traffico generato.
JSON è supportato da moltissimi servizi web. Di sicuro i principali e più importanti restituiscono risposte
JSON. In tal caso uno strumento che vale la pena studiare è
JSON Framework, uno tra i più semplici.
Infine concludiamo questo nostro piccolo viaggio parlando di
OpenFlow, cambiando dunque settore di interesse. Il nome richiama alla mente
Cover Flow, l'interfaccia che accompagna i possessori di iPod. Ora essa può essere replicata su
iPhone grazie a questa sorta di reimplementazione in versione aperta. E a vedere i risultati di certi programmatori c'è da dire che l'obiettivo, almeno estetico, è stato raggiunto.
Le interfacce possono così arricchirsi di riflessi ed effetti di prospettiva. Se si lavora con elementi multimediali, e in special modo con immagini, un codice ben scritto permette perfino di ottenere velocità di rendering ancora maggiori, senza rinunciare, come detto, all'estetica.