Da oggi inauguro una nuova sezione (categoria per essere corretti) dedicata allo sviluppo di applicazioni su Apple iPhone! Premetto da subito che molti degli articoli che pubblicherò avranno un “taglio” in linea con lo spirito di questo blog, cioè saranno in maggioranza per utenti avanzati. Tuttavia, come ho già fatto per altri argomenti, cercherò di essere il più chiaro possibile e, dove necessario, inserire qualche “concetto base” utile ad un pubblico più ampio. Dico questo perché non ho intenzione di pubblicare l’ennesimo “Hello World”, creato con Interface Builder; in rete ne troverete abbastanza. Mi piacerebbe altresì affrontare l’argomento in profondità, affrontando tematiche e tecniche difficili da trovare in rete.
Consigli utili per lo sviluppo su Apple iPhone
Per chi desidera iniziare, o per chi ha già provato a scrivere applicazioni per iPhone, elenco alcuni consigli “personali” spero utili:
- Dotavi di un Mac: sembra ovvio ma è meglio sottolinearlo! Anche un Mac Book va benissimo…
- Cercate in rete: su Internet troverete moltissime informazioni su come inziare, dalla registrazione come sviluppatori alle Apple ai tool e alle SDK necessarie per iniziare a sviluppare
- Studiate bene il C: senza una buona conoscenza del C (se non buonissima) è molto complesso capire ed imparare a sviluppare per Apple iPhone. A tal proposito non posso che consigliarvi la bibbia di questo linguaggio, ovvero il noto Kernighan & Ritchie (dal nome degli autori Brian W. Kernighan e Dennis M. Ritchie) che trovate in linea su Google Libri
- Armatevi di pazienza: l’Objective-C è il linguaggio utilizzato per sviluppare (in generale) su Apple e, in particolare, su iPhone. Ideato da Brad J. Cox all’inizio del 1980, si poneva come strato aggiuntivo al C standard, ereditando molto da un altro noto linguaggio: SmallTalk-80. L’Objective-C fa il suo ingresso “ufficiale” in Apple sul finire del 1996, e sarà usato per scrivere OS X. L’ambiente di sviluppo nato dall’introduzione di Objective-C è Cocoa! Il fatto che Objective-C sia alla fine un misto di C/C++ e sintassi puramente Cocoa, inizialmente vi manderà fuori di testa soprattutto perché alcune cose non funzioneranno nonostante la corretta sintassi utilizzata. Comunque sia vi assicuro che è solo una questione di abitudine; un buon programmatore superata la prima settimana di “inferno” comincerà già a sentirsi a proprio agio.









22
Ottima idea questa rubrica. Avevo già cercato e raccolto un po’ di documentazione da leggere ma per mancanza di tempo al momento è tutto di lato… vediamo cos’hai da raccontarci!
Ciao,
Emanuele
Sai che ultimamente stavo facendo un pensierino allo sviluppo di applicazioni per iPhone?
Fortunatamente ho studiato per anni C/C++ ma ancora non ho preso un MAC (vabè è già nella lista della spesa).
Cmq seguirò la rubrica con molto piacere, sicuramente ci proporrai cose interessanti
Ciao Giovambattista, mi piacerebbe molto programmare applicazione per il melafonino, conosco il C grazie ad alcuni anni di studio e vorrei dunque ampliare le mie conoscenze. Potrei chiederti di segnalare una guida sul come iniziare?
Grazie mille in anticipo
@OrSc:
Tutte le informazioni necessarie e sufficienti per iniziare lo sviluppo su Apple iPhone, tutorial, demo e video, si trovano effettivamente sul sito della Apple (meglio se sei registrato come sviluppatore). In alternativa ti consiglio di cercare su Google Libri, dove troverai molti testi sia su Objective-C che su iPhone/Cocoa. Su Internet, poi, c’è molto, vedi ad esempio iSpazio, ma se cerchi con Google vedrai che troverai moltissime info. Infine scarica tutti i sorgenti che trovi e studiali, prova a modificarli e codifica, codifica e codifica… l’unico modo per imparare bene a sviluppare su iPhone (ma è una regola generale) è porsi un obiettivo e scrivere codice…
L’anno scorso, in corrispondenza del lancio in Italia dell’iPhone 3G, avevo pensato anch’io di iniziare a sviluppare applicazioni per iPhone (subodorando il forte business che se ne potrebbe derivare individuando l’opportuna killer application).
). Non è un costo minimale
Poi però ho desistito, perchè lo start-up iniziale, in termini di costo mi è sembrato difficilmente azzerabile in tempi brevi.
Infatti è necessario:
1) Acquistare un Mac (anche mini): Apple non permette lo sviluppo su sistemi differenti dal suo (viva la chiusura del software
2) Acquistare un iPhone ? E’ un passaggio che si potrebbe evitare (esiste l’emulatore) ma a mio avviso è sempre preferibile poter poi fare i test sull’hardware reale. Anche questo non è un costo minimale.
3) Anche se lo SDK per sviluppatori è gratuito, lo stesso non si può dire il poter poi “passare” i propri applicativi su Apple Store. Anche lì è necessario pagare un dazio alla Apple (se non sbaglio si parte da 99$). E’ affrontabile, ma è pur sempre un costo da ricuperare succcessivamente.
Insomma, in definitiva, avevo stimato uno start-up iniziale pari a circa 1300/1400 €.
Per ditribuire applicazione a partire da pochi dollari ne vale veramente la pena ?
@Cristiano: sono le stesse cose che ho pensato anch’io. Devo dire che questa “chiusura” non la comprendo molto, soprattutto ora che Apple ha prodotto un device (l’iPhone) che dovrebbe avere un target trasversale. Tuttavia, per quanto riguarda il punto 1, cioè l’impossibilità di sviluppare applicazioni per iPhone su sistemi Windows o Linux, credo che quello non sia un “blocco” stidiato a tavolino, come invece lo possono essere gli altri.
Come sai su Apple iPhone è possibile sviluppare applicazioni seguendo due strade: WebKIT e XCode. Con la prima opzione, in pratica, si sviluppa in HTML/Javascript, quindi quello che si va a realizzare è un’applicazione Web per essere corretti. Questo approccio permette di sviluppare applicazione Apple iPhone anche su sistemi Windows; vedi ad esempio l’estensione di Aptana IDE per lo sviluppo di applicazione per iPhone.
La strada con XCode è quella più pulita e ricercata, in quanto genera effettivamente applicazioni nel senso noto del termine (eseguibili insomma). Essendo iPhone una sorta di OSX lite, cioè un piccolo Apple portatile, quando sviluppi con XCode per iPhone è come se stessi sviluppando un’applicazione Cocoa per Mac. In pratica un ambiente di sviluppo per iPhone in grado di girare anche su Windows dovrebbe portarsi con se tutto il Kernel Mac… è come voler sviluppare un’aplicazione Windows su Mac, mancherebbero le chiamate al sistema.
Morale, visto che Mac emula perfettamente Windows, sarebbe il caso di passare tutti su Mac, così parte dei problemi sarebbero risolti.
Speriamo comunque che le politiche di sviluppo Apple diventino un tantino più “open” in futuro…
@Emanuele: @Giovambattista Fazioli:
I agree on that!