¿Qué encontrarás en este post?
ToggleLenguaje programación iPhone
Una duda común es qué herramientas y lenguajes se utilizan para crear apps para el iPhone y iPad. En estos momentos son muchos los que desean crear apps para iPhone y iPad, partiendo desde experiencias muy distintas: desde programadores hasta webmasters que quieren crear una versión iPad de sus portales, pasando por entusiatas de los dispositvos iOS, que sin tener experiencia de programación, quieren empezar a crear apps para su iPhone o iPad. Con este artículo espero resolver las dudas sobre lenguaje programación iPhone que suelen asaltar a los que quieren empezar pero no saben por donde. Explicaré cuales son las principales tecnologías, herramientas y lenguajes para crear apps para el iPhone y iPad y en qué casos conviene usar cada una.Las 3 tecnologías: Objective C & Cocoa vs Lua y Corona SDK vs PhoneGap
Básicamente tenemos 3 opciones de lenguaje programación iPhone, que veremos en detalle a continuación.Objective C y Cocoa, la alternativa Apple
Objective C y Cocoa son, respectivamente, un lenguaje de programación y una “librería de clases” (conjunto de herramientas que acompaña al lenguaje) creados y proporcionados por Apple. Es lo que usa Apple para crear sus propias aplicaciones, tanto para iOS (iPhone y iPad) como para el mac. El coste de estas herramientas es nulo, Apple lo proporciona de forma gratuita con cada mac. Se trata de un lenguaje muy potente y un conjunto de herramientas muy completas. Para programar en Objective C y Cocoa, se utiliza un entorno de programación llamado Xcode, que también es proporcionado libre de coste por Apple. La dificultad de utilizar este lenguaje es comparable a Java, aunque Objective C sea, en mi escasamente humilde opinión, muy superior a Java. Es notablemente más sencillo que C++. Para programar en Objective C y Cocoa es necesario tener experiencia previa de programación orientada a objeto. Es decir, cualquier programador de Java, C++, C#, Python, Ruby, o Php puede dar el salto a Objective C y Cocoa tras un período de formación relativamente corto, como puede ser mi curso de introducción al desarrollo para iPhone y iPad. No es conveniente abordar el desarrollo de apps para iPhone o iPad con Cocoa si no se tiene experiencia previa de programación. Hace falta un mac para usarlas.Ventajas
- Es la herramienta que usa Apple para sus propios desarrollos, por lo tanto, todas las nuevas tecnologías de Apple estarán disponibles primero para el programador de Cocoa y Objective C.
- Sirve para crear apps para iPhone, iPad y Mac. Es la herramienta ideal para crear apps para iPhone y iPad medianamente complejas. Se tiene accesso a todas las funcionalidades del sistema operativo del iPhone o iPad (iOS).
- El coste es bajísimo, dado que las herramientas son gratuitas.
- Es de Apple. O:-)
Desventajas
- No sirve para crear apps para Android o Windows Phone.
- El desarrollo inicial es un poco más farragoso que con otras tecnologías, pero una vez que arrancas el proceso es sencillo y placentero.
- Requiere experiencia previa de programación.
Cómo aprender Cocoa y Objective C
En estos momentos tenemos la oferta de formación más amplia de Cocoa y Objective C en España. Desde nivel básico hasta monográficos avanzados.
Corona SDK y Lua
Corona es una serie de herramientas creadas por Ansca Mobile para desarrollar apps para iPhone, iPad y Android, con un énfasis especial en los juegos y las apps sencillas. El lenguaje utilizado es Lua, un lenguaje muchísimo más sencillo que Objective C y muy utilizado para juegos (como World of Warcraft). Cualquier programador, independientemente de su experiencia previa, puede aprender Lua y Corona en muy poco tiempo, como por ejemplo con mi curso de Desarrollo de Juegos con Corona para iPhone, iPad y Android. Incluso personas sin ningún tipo de experiencia de programación pueden aprender a programar con Lua, aunque lógicamente con algo más de esfuerzo. En este último caso, es fundamental aprender primero los fundamentos de la programación. Una buena opción en este caso es optar por el curso de Desarrollo de Juegos con Corona para iPhone, iPad y Android para usuarios sin experiencia de programación. Podríamos decir que Lua & Corona son el “flash” para iPhone, iPad y Android: ideal para juegos y apps sencillitas que necesitan ser implementadas rápidamente.Ventajas
- Es más fácil “arrancar” con Lua y Corona que con Objective C. Está especialmente indicado para apps y juegos sencillos.
- Permite crear apps para iPhone, iPad y Android.
- Desarrollo más rápido.
- Herramientas baratas, aunque no gratuitas.
- El lenguaje, aunque sencillo, es muy bueno.
- Se puede desarrollar en un mac o en Windows.
Desventajas
- No es adecuado para aplicaciones complejas.
- No permite acceder a todas las características del sistema operativo (iOS o Android).
- Las novedades que vayan saliendo para iOS o Android tardan un poco más en estar disponibles.
- Está especializado para juegos y apps sencillas.
- No es de Apple. O:-)
Cómo aprender programación de apps con Corona y Lua
Estamos preparando dos cursos de Corona y Lua. Uno para usuarios sin ninguna experiencia de programación y otro para programadores. Todavía estamos definiendo el curso para que se adapte a las necesidades de los alumnos, y nos gustaría que nos ayudases. Rellena esta encuesta y podrías ganar una matrícula gratis.
PhoneGap
PhoneGap permite crear aplicaciones sencillas para iPhone, Android y otros muchos dispositivos (Palm, Blackberry, Windows Phone, etc). No son aplicaciones para iPhone, sino que lo simulan y se ejecutan dentro del explorador. La interfaz gráfica se crea con HTML 5 y CSS y la funcionalidad con Javascript.Ventajas
- Aprovecha conocimientos que ya son comunes, como HTML y Javascript.
- Abarca muchas plataformas.
- Para aplicaciones muy sencillas, es algo rápido.
- Se puede desarrollar en Windows y en Mac.
Desventajas
- No son aplicaciones nativas en ninguna de las plataformas y a veces se nota.
- No permiten usar todas las facilidades del sistema operativo.
- Simular ciertas características de aplicaciones nativas puede ser complejo y farragoso.
- No es una opción para aplicaciones mínimamente complejas.
Cómo aprendo a crear apps con PhoneGap
Estamos definiendo un curso de introducción a PhoneGap. Pronto publicaremos más información. Mientras tanto, prueba este libro.