Quando si è sviluppatori iPhone (e non), ma probabilmente il discorso è valido anche in molti altri settori, si sa: è inutile reinventare ogni volta la ruota e, trovare risorse utili, come siti, forum, librerie e progetti OpenSource da cui trarre spunti, sicuramente è importante quanto utile un po’ per tutti. Quando si è alle prime armi, però, specialmente nei confronti di una nuova piattaforma (nel nostro caso iOS), non sempre affidarsi a risorse esterne fin da subito può essere un bene. Avere a disposizione ogni volta che ne abbiamo bisogno codice pronto, piuttosto che librerie complete di tutto, ci fa “giustamente” diventare pigri, il che riduce notevolmente il nostro livello di apprendimento sulla la tecnologia in uso. Quindi, che siate già programmatori o meno non importa, il mio consiglio è quello di studiare prima di tutto e per bene l’ambiente, il linguaggio e tutto quanto ha da offrire la piattaforma e, solo dopo aver preso la dovuta dimestichezza con i primi strumenti, pensare e affidarsi ad eventuali risorse esterne.
Allora si, che i tempi di sviluppo potranno e dovranno essere accorciati in qualsiasi modo, anche con l’aiuto di codice “preso qua e la” (sia chiaro, prendere spunto o cercare aiuti non significa copiare!). Non dimentichiamoci inoltre che nel mercato moderno il tempo è denaro e, per uno sviluppatore, un giorno di ritardo può comportare una perdita pesante in termini di guadagno, così come un giorno guadagnato sarà un vantaggio anche a livello economico.
Ecco perchè, solo quando si hanno le giuste conoscenze della tecnologia che si usa, è utile iniziare a cercare librerie, trucchi, risorse, tutorial e via dicendo, che ci permettano di guadagnare tempo e, magari perchè no, anche di semplificare il nostro lavoro.
Cosa servirà al nostro progetto?
Analizzando gli obiettivi del progetto che realizzeremo (ricordo si tratta di un convertitore di valute in versione full e lite), mi sono subito reso conto che la connessione ad internet, con le richieste di aggiornamento dei rates, è fortemente presente. Un altro punto importante da non strascurare è sicuramente la condivisione dell’ app sui social media, inutile ai fini delle funzionalità proprie dell’applicazione, ma sempre molto utile per quanto concerne il marketing virale.
Una volta identificati alcuni punti importanti dove possiamo (in teoria) guadagnare tempo, è utile spulciare la rete alla ricerca di librerie, articoli di blog, tutorials, ecc… con i quali trarre vantaggi per accelerare il nostro lavoro. Per questo mi piace tenere sempre con me una lista che raccoglie le risorse che potrebbero tornarmi utili.
Risorse esterne gratuite
Librerie
- ASIHTTPRequest (wrapper per la connessione ad internet, molto utile perchè comprende la gestione di code di connessione)
- TBXML (Un parser potentissimo e rapidissimo, per il recupero delle informazioni da file XML. Leggere per credere)
- TouchJSON (La libreria per il parse di file JSON per eccellenza, gli altri progetti sono indietro anni luce al momento)
- ShareKit (Un kit per lo share via mail o via social network)
- PullToRefresh (Un’elegantissima soluzione per fare un refresh dei dati presenti in una tabella)
- Stack Owevflow (Risorsa che certo non può mancare all’appello)
Siti di riferimento
E molto utili possono risultare anche altre risorse nel web, proprio come questa che seguite (devAPP), magari in lingua inglese:
- Cocoa with Love (Una delle migliori risorse su Objective-C)
- Cocoa is my girlfriend (Un ottimo blog)
- Ray Wenderlich (un’ottima risorsa)
- iDevRecipes (Un blog contenente parti di codice utili a riprodurre funzionalità grafiche avanzate, come il “nipple” di Twitter)
Per quanto mi riguarda, queste sono le librerie/risorse che tengo sempre a portata di mano. Nel caso in cui abbia la necessità di dover guadagnare un po’ di tempo durante lo sviluppo delle mie applicazioni iPhone e iPad. Da non trascurare, ovviamente, il mio amato GitHub, la risorsa per eccellenza, che offre molto più di quanto possiate immaginere.
Per ora vi lascio, consigliandovi di tenere a mente, come me, queste risorse, in quanto quasi tutte, prima o poi, possono tornarci utili.
NOTA: Allo stato attuale del nostro progetto non sappiamo ancora se useremo JSON o XML per recuperare i dati, per questo motivo ho fatto che inserire nel nostro elenco entrambe le librerie.











12 Responses to “Creiamo un’applicazione completa | Le risorse esterne gratuite”
16 Febbraio 2011
Tweets that mention Creiamo un'applicazione completa per #iPhone | Le risorse esterne gratuite -- Topsy.com[…] This post was mentioned on Twitter by thinkdiff ch, Rynox and iPadWorld.it, devAPP. devAPP said: Creiamo un’applicazione completa per #iPhone | Le risorse esterne gratuite http://bit.ly/hJBXjC […]
16 Febbraio 2011
kiriComplimenti per l’idea di creare un’app ex-novo.. molto utile !!
Volevo chiedere quando (o se) l’utilizzo di librerie esterne o di framework al di fuori di quelli ufficiali dell’ SDK Apple all’interno delle app è consento ai fini dell’approvazione dell’app per pubblicarla nell’App Store ?
non riesco a comprendere quale sia il “limite” che Apple consente per l’utilizzo di librerie terze..
grazieee e complimenti!!
16 Febbraio 2011
francescomolto utile per chi come me si è trovato da un giorno all’altro a sviluppare anche per iOS.
sapere quello che vuoi ottenere, e perdere tempo a cercare come farlo subito, è la cosa che fa incxxxare di più.
ottima la doverosa ed imprescindibile premessa :
STUDIARE STUDIARE STUDIARE
freellino
17 Febbraio 2011
Paolo@kiri Ciao, quando usi una libreria esterna, la prima cosa che devi guardare è la sua licenza d’uso, che non vada in conflitto con i termini del conttratto di pubblicazione su AppStore, quindi ad esempio non puoi usare librerie con licenza GPL. Seconda cosa: non si possono linkare framework nella propria app, ma lincare staticamente librere (vedi ad esempio l’uso di Cocos2D).
Saluti
@quadrani
17 Febbraio 2011
MuffaOttimo elenco di risorse, che in effetti sono le più famose e valide.
Solo un piccolo appunto: credo anch’io che TouchJSON non sia affatto male, ma non è il più veloce tra i parser.
Io mi trovo bene con JSONKit (https://github.com/johnezang/JSONKit) e posso confermare che è il più veloce che ho provato (è scritto in C e non in OBJ-C).
17 Febbraio 2011
kiriGrazie Paolo per la precisa risposta :-).
quindi posso linkare librerie ( ovviamente guardando la licenza..) e non framework !!
scusa ma non ho mai lavorato con Cocos2.ho visto 1 pò.. qual è la differenza ? ‘linki’ la libreria e non il framework ??
grazieee
17 Febbraio 2011
le0n@paolo
e quali sono le licenze ammesse sull’appstore oltre la BSD e quelle protette dal copyright?
la GNU GPL, citando wikipedia, “assicura all’utente libertà di utilizzo, copia, modifica e distribuzione” , non ammettendo questa licenza significa non avere a disposizione tutto quel software classificato come “free software” o “software libero”…
ammesso volessi usare un software con copyright bisognerebbe che paghi lo sviluppatore della libreria per poterla usare?
17 Febbraio 2011
gomoliakoil copyright non prevede necessariamente un costo, nel senso che chi ne detiene il diritto, non è obbligato a cedere qualcosa in cambio di una retribuzione. Si può anche cedere i diritti in modo gratuito.
Per quanto riguarda la GPL, la licenza è molto ottusa e non nego che non mi piaccia per niente, e come già detto non si possono usare parti di codice o librerie con quella licenza all’interno di un progetto iPhone che poi verrà distribuito/venduto su AppStore.
ecco il testo:
http://katolaz.homeunix.net/gplv3/gplv3-it-final.html le clausule sono la 6a-b-c.
La maggior parte delle librerie di iPhone sono rilasciate sotto licenza MIT, lo stesso progetto proposto in questo tutorial è sotto licenza MIT, con la clausula che vieta la redistribuzione a fini di lucro a, tranne che all’autore del progetto.
17 Febbraio 2011
le0nDa utente Linux è normale che ho pensato alla GPL (senza non esisterebbe Linux), ma nella sua versione 2 (la 3 è stata molto criticata).
Le clausole che indichi effettivamente sollevano problemi nel mondo iPhone, più che altro per il fatto dell’estensione della licenza al’intero progetto e non solo limitata alla libreria inclusa (altrimentile app sarebbero tutte gratis e sapremmo cosa fa il codice)…nella v2 della GPL non mi ricordo questa estensione , sbaglio?
Comunque complimenti per la lista 😉
19 Febbraio 2011
BrunoBell’elenco, grazie mille!
23 Febbraio 2012
albertociao a tutti, avrei l’esigenza di fare una app che fondamentalmente sia collegata ad un file di numbers ossia tipo una rubrica dove posso fare sia una ricerca incrociata per numero o nome o.. sia inserire nuovi dati. Ovviamente poter esportare o importare il database.
Suggerimenti?? grazie
30 Maggio 2012
TommibvPer cortesia se poteste fare più attenzione a come mettete la punteggiatura negli articoli ve ne sarei grato.
bel blog.