Salve a tutti, ho deciso di scrivere questo post dopo aver passato un fine settimana intero a cercare di capire il modo migliore di sviluppare applicazioni per dispositivi mobili.
Credo possa interessare a programmatori alle prime armi, e spero possa essere di aiuto anche a me.
Ho l'esigenza di creare applicazioni CROSS-PLATFORM; Android, iOS e possibilmente Windows Mobile usando un solo codice (con al massimo pochi interventi)
Queste applicazioni sono di vario tipo: web, giochi, libri interattivi e utility aziendali.
Sono arrivato a queste MIE conclusioni, e i pro e contro li ho scritti in base alle MIE esigenze.
QUESTO POST NON VUOLE ESSERE UNA GUIDA, NON PRENDETE PER ORO COLATO QUELLO CHE HO SCRITTO
Vi chiedo di partecipare alla discussione per segnalare errori e dare suggerimenti.
WEB APPS
Se l'esigenza è quella di programmi che si interfacciano con siti o social network, non si hanno molte esigenze di sfruttare l'hardware del dispositivo e non serve grafica complessa la soluzione più rapida ed efficace dovrebbe essere HTML5, CSS e Javascript.
Tra i vari tools che ho provato sembra che Appcelerator e Phonegap, siano le soluzioni migliori. Oltre a questi e in aggiunta ci sono vari tool di sviluppo che offrono una GUI per le varie componenti che altrimenti andrebbero aggiunte a mano.
PROS: Grande portabilità è tutto Web) e velocità di sviluppo.
CONTROS: Non si hanno molte possibilità di sfruttare l'ambiente nativo.
GIOCHINI
Per fare dei semplici giochini, senza troppo impegno, si possono sfruttare framework come Corona SDK e MOAI.
Il primo è a pagamento e usa LUA come linguaggio, il secondo gratuito e si utilizza con Eclipse.
PROS: Molto semplice l'utilizzo di Corona, un po' meno quello delle librerie MOAI.
CONTROS: Di Corona il prezzo (anche se non dovrebbe essere un problema)
GIOCHI
Se l'esigenza è quella di sviluppare giochi ad un livello più alto, la soluzione migliore sembrerebbe Marmalade (altrimenti detto Airplay SDK).
C'è la possibilità di utilizzare i programmi Adobe, li ho descritti brevemente in seguito.
LIBRI INTERATTIVI e UTILITY AZIENDALI
In questo caso devo aprire la parentesi dei prodotto Adobe (Flash, Flash Builder, Air).
Adobe Air:
Non mi piace molto l'idea di fare installare per forza Air sul dispositivo, quindi non vorrei utilizzare molto questi tools. Tuttavia risultano essere abbastanza semplici e versatili.
Si possono utilizzare per fare giochi e apps di utilità, sfruttando le conoscenze che già ho di Flash e ActionScript. Se poi si associa anche l'interfacci di Catalyst diventa ancora più immediato. Probabilmente per un'azienda che mi chiede un software particolare utilizzerei questi programmi e sarebbe secondario il problema di Air.
Ho voluto tralasciare il problema legato ai costi e alle license perchè non mi interessa.
Vi prego di aiutarmi a capire se le mie conclusioni sono giuste, grazie mille.