¿Qué encontrarás en este post?
ToggleCómo desarrollar para iOS (iPhone & iPad) en Codemotion 2012
El sábado pasado, 24/03/12, me estrené en Codemotion 2012 con una charla sobre programación para iPhone, en el track 4, 9:30h.CodeMotion es el evento tecnológico que reunirá en Madrid a técnicos, desarrolladores y estudiantes de todas las comunidades y lenguajes. Por primera vez se celebrará en España después de 5 años de éxito en Italia.
Introducción a la Programación iPhone
Desde un principio, la organización me había pedido algo para principiantes, y basándome en la experiencia obtenida con mis cursos, decidí hacer algo que sirviese al que desea crear Apps pero no sabe ni por donde empezar. La idea era servir como breve guía de las tecnologías y herramientas que hay que dominar para empezar en este mundillo.¿Por qué programar para iOS (iPhone & iPad)?
“La crisis es la mejor bendición que puede sucederle a personas y países, porque la crisis trae progresos. La creatividad nace de la angustia como el día nace de la noche oscura. ” Albert EinsteinAlbert Einstein escribió esto refiriéndose a la Gran Depresión, una de la peores crisis que afectó al mundo hasta entonces. Recuerdo que cuando estudiaba ese periódo el el colegio, jamás pensé que llegaría a vivir algo similar … y aquí estamos. Sin embargo, en toda crisis hay oportunidades. Durante la Gran Depresión, muchas fueron las empresas que desaparecieron, pero otras florecieron como nunca. Un denominador común de éstas últimas era que proporcionaban un producto creativo e innovador a precios moderados. El cine vivió una época dorada al ofrecer un ocio innovador a precios bajos. En plena depresión se lanzaron clásicos como Ciudadano Kane o El Mago de Oz. Mientras en la mayoría del mundo vivía una pesadilla, en Hollywood se creaba la “Fábrica de sueños”. También fue la época del despegue de la industria automovilística. Aquellos fabricantes que adoptaron métodos nuevos, como las lineas de producción, pudieron no solo sobrevivir, sino que vencieron, al ofrecer coches baratos accesibles a toda la población. Producto innovador a precio moderado: ¿a qué os suena? Cuando estuve en EEUU, al charlar con Aaron Hillegass , me confirmó lo que ya veía en España: hay una gran demanda de buenos desarrolladores de iOS (y de Android, aunque algo menos). A menudo recibo en LinkedIn pedidos de empresas buscando buenos desarrolladores de iOS, y no solo empresas españolas. Es una de las tecnologías con más potencial de crear empleo en estos momentos. Vivimos una crisis, pero también un boom: al igual que hace 10 años todos querían tener su sitio web, hoy todos quieren tener su App. Tanto si quereis crear vuestro propio producto o trabajar en el de otro, tenéis una gran oportunidad. En España ya se hacen cosas muy buenas, como por ejemplo Camera+, uno de los grandes éxitos de la AppStore, se desarrolla cerca de Madrid. ¿Por qué vosotros no? De ahí la importancia de Codemotion 2012.
Herramientas de desarrollo para iPhone
Lua y Corona
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). Aunque la sintáxis es similar a C, recuerda en muchos aspectos a Lisp. Es como Javascript pero con un cerebro. 😉 Es una buena opción, si quieres hacer muchos juegos sencillitos. 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.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. Se puede desarrollar en Mac, Windows y hasta con pizarra y tiza. No tiene acceso a las funcionalidades del sistema operativo, como pueda tener una app nativa, aunque hay formas de comunicar código javascript con código Objective C fuera del explorador. Bueno para apps muy sencillas que requieran ejecutarse en muchos dispositivosObjective C y Cocoa: la alternativa de Apple
Si vas a desarrollar para iOS, es indispensable al menos saber algo de Objective C y Cocoa (aunque uses alguna otra opción, como es Corona), ya que toda la documentación presupone conocimiento de Objetive C. Hay varios componentes que debemos conocer:- iOS: el sistema operativo
- Objective C: el lenguaje
- Cocoa: la librería de clases
- MVC (model view controller): El pan nuestro de cada día
- Xcode: el entorno de programación
- iOS developer program: el club
iOS
Se trata de un Unix BSD, con un nucleo muy similar al de OSX. Se puede programar usando C y las librerías estándares de Unix. . La seguridad es muy estricta y hay “algo así” como cuotas tanto de memoria, como espacio en “disco” y procesador.Objective C & Cocoa
A language that doesn’t affect the way you think about programming, is not worth knowing. — Alan PerlisObjective C fue inventado en los 80 por Brad Cox, uniendo C y parte de la filosofía de Smalltalk . Steve Jobs licenció Objective C y fundó NeXT. Cuando Apple compró NeXT en el 96, NextStep pasó a llamarse OSX & Cocoa. Objective C es un lenguaje dinámico, es decir, muchas de las comprobaciones que otros lenguajes hacen en tiempo de compilación éste las aplaza hasta tiempo de ejecución. Esto hace que sea mucho más flexible que lenguajes como C++. Objective C es un lenguaje que sorprende mucho al que viene de Java o C++, ya que aunque comparte ciertas características con dichos lenguajes, algunos de los rasgos que lo definen provienen de Smalltalk.