giovedì 26 marzo 2009

Sviluppare per iPhone

Tutto quello che si trova sull'App Store è sviluppato con l'apposito SDK, liberamente accessibile a tutti (previa registrazione). Per approfondire al meglio gli aspetti dello sviluppo, qualche tempo fa avevo intervistato un programmatore, Luca Infante; per vari motivi l'intervista non venne mai pubblicata, ma ora posso riproporla su queste pagine:

Puce: Luca, da quanto tempo sviluppi software?
Luca: Iniziai a sviluppare con REALBasic nel 2000, dedicandomi già da subito al software per Mac. Nel corso degli anni, durante il completamento degli studi, ho avuto occasione di cimentarmi anche con piattaforme di sviluppo per Windows, ma devo ammettere che grazie alla struttura di Mac OS X (e dell'iPhone) sviluppare software con Xcode è più agevole, e per certi versi "divertente", il che mi spinge ad applicarmi e a migliorare in continuazione. Probabilmente è un discorso molto soggettivo, visto che anche Xcode non è immune da difetti ma personalmente lo trovo un passo avanti rispetto agli altri. Attualmente sviluppo ancora software gestionali su Windows, mentre nel mondo Apple collaboro da alcuni anni con l'Apimac per lo sviluppo di dizionari, di Clean Text e altri progetti di cui al momento non posso parlare. Ultimamente lo sviluppo del software è realizzato in collaborazione con mio fratello Fabrizio, e a livello personale abbiamo in mente diverse idee, orientate sia a Mac OS X che all'iPhone.

Puce: come si realizza un'applicazione per iPhone?
Luca: L'unica difficoltà sta nella gestione dei certificati, perlomeno per la prima volta che ci si ha a che fare. Per il resto l'SDK è un sistema completo e semplice da gestire, che si integra al 100% con Xcode. Registrandosi gratuitamente sul sito di Apple, è possibile scaricare l'SDK e utilizzarlo per sviluppare applicazioni da testare sull'emulatore (con i dovuti limiti che l'emulatore non può emulare, come la gestione completa degli accelerometri o il GPS). Per la creazione dei propri prodotti vi sono molti template utili sia ai meno esperti sia ai più esperti. Questi template possono essere di grande aiuto per chi ha poca esperienza di programmazione, ma ha comunque in mente un'idea interessante che vorrebbe portare sull'iPhone. Ovviamente un minimo di conoscenze sono indispensabili, e chi ha già esperienza con lo sviluppo su Mac o in generale con l'Objective-C non dovrebbe riscontrare grandi problemi nello sviluppo di software per iPhone. Una volta terminato lo sviluppo, se si vuole testare il proprio software su un vero iPhone (o iPod Touch) e pubblicarlo poi sull'AppStore, sarà necessario pagare ad Apple i 79 Euro per l'iscrizione annuale all'iPhone Developer Program e ottenere i certificati di cui parlavo sopra.

Puce: cosa ti piace di più, e quali sono i limiti attuali dell'SDK?
Luca: sono affascinato dall'intera suite Xcode, che trovo completa, semplice e anche gradevole a livello utente. Nello specifico dell'iPhone ci sono limitazioni all'accesso di alcune funzionalità specifiche, ma non creano grossi problemi. Sarebbe invece molto apprezzabile che venissero tolti quei limiti che Apple ritiene indispensabili per assicurare un adeguato livello prestazionale e di stabilità (come il multitasking). Personalmente sono per una piattaforma che permetta uno sviluppo completo, anche nel caso di dispositivi "chiusi" come l'iPhone; Android è una piattaforma interessante e più aperta, ma al momento attuale ritengo sia ancora indietro rispetto all'iPhone (anche se con tutta probabilità sarà il concorrente più pericoloso). In ogni caso la critica maggiore va alle limitazioni per la pubblicazione sull'App Store: in alcuni casi le decisioni sono state corrette in altri casi hanno creato numerose polemiche...

Puce: a proposito di pubblicazione, come si pubbliva il proprio software sull'AppStore?
Luca: La pubblicazione è estremamente semplice. Apple offre una documentazione completa sulla procedura, e un sito apposito per il caricamento delle applicazioni e di tutte le informazione associate (prezzo, descrizione, screenshot, ecc...). All'inizio mancavano alcune opzioni ma nel corso del tempo, col feedback degli sviluppatori, sono state aggiunte le funzioni mancanti e quelle più richieste. Fatto questo non resta che attendere l'approvazione di Apple, che al momento attuale avviene in tempi piuttosto veloci. Anche per la pubblicazione degli aggiornamenti c'è una procedura guidata molto rapida.

Puce: dal punto di vista dello sviluppatore, cosa ti piace e cosa non ti piace dell'AppStore?
Luca: il sistema di pubblicazione assicura automaticamente un'immediata visibilità a livello mondiale, e consente di snellire le procedure burocratiche. Tuttavia non è possibile gestire direttamente il pagamento in royalties nel caso in cui il progetto sia sviluppato da più persone, e poi c'è sempre l'incognita che il proprio lavoro non venga pubblicato. Un'altro problema era legato al precedente sistema di visibilità sull'AppStore, che induceva alcuni sviluppatori scorretti ad introdurre modifiche minime pur di far apparire la propria applicazione tra le ultime novità; ora Apple oltre ha rimediato a questo problema e continua a migliorare la gestione dell'AppStore anche dal punto di vista delle recensioni, per evitare voti fasulli, sia in positivo che in negativo.

Puce: hai in progetto altri software per iPhone?
Luca: Sì, il futuro è pieno di idee. In principio ero intenzionato allo sviluppo di giochi ma con l'attuale "scesa in campo" di tutti (o quasi) i colossi il mercato la situazione è diventata complicata più: è difficile fare un gioco "discreto" e venderlo a pochi Euro, quando a prezzi altrettanto bassi trovi giochi della Gameloft o della Sega. L'unico sistema per fare concorrenza è avere un'idea originale e venderla a prezzo stracciato (79 centesimi o un euro e mezzo) sperando di fare grossi volumi. Da un certo punto di vista questo è stimolante, perché sei sempre alla ricerca di nuove idee, dall'altro è un po' frustrante perché ti rendi conto che la concorrenza può investire molto più tempo e denaro per realizzare prodotti più accattivanti da vendere comunque a prezzo concorrenziale. Questa situazione ha spostato le mie idee sugli altri applicativi: al momento sto lavorando su GPS e accelerometri, ma ho in programma la realizzazione di prodotti per la consultazione di database, sia locali che online.

Puce: vuoi esprimere liberamente il tuo pensiero su iPhone e AppStore?
Luca: In passato ho usato Palm e varie versioni di Symbian ma solo con l'iPhone (e dopo il rilascio dell'SDK) ho trovato qualcosa che si avvicina veramente alla mia idea di smartphone. Non mi sono trovato male nemmeno con Windows Mobile ma trovo che come sistema in se abbia grossi limiti di usabilità. L'iPhone sarà ulteriormente migliorato (Apple si è rivelata spesso molto attenta alle richieste dei clienti) ma le sue attuali funzioni unite all'elevata usabilità lo rendono a mio avviso il miglior smartphone sul mercato. Ogni aggiornamento di firmware aggiunge poi nuove caratterische e nuove funzionalità più o meno interessanti e più o meno evidenti, a dimostrazione del fatto che si tratta di un prodotto sul quale Apple sta dedicando molte risorse.
L'App Store infine è una vera e propria killer application. Il 30% trattenuto da Apple è onesto se rapportato al guadagno che se ne può ricavare e al ritorno d'immagine che crea. Inoltre, parlando da utente, alcuni giochi non hanno nulla da invidiare alla loro controparti su PSP o Nintendo DS, con il vantaggio che sono molto più convenienti e te li ritrovi direttamente sul telefono, senza portarti appresso un'altro dispositivo.

Nessun commento:

Posta un commento