Herramientas para programación de Apps en iOS

Autor: | Última modificación: 15 de abril de 2024 | Tiempo de Lectura: 5 minutos
Temas en este post:

Lenguaje 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

herramientas-ios-app-store-programación de Apps en iOS
Objective C y Cocoa son la «lengua materna» de las apps para iPhone
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

  1. 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.
  2. 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).
  3. El coste es bajísimo, dado que las herramientas son gratuitas.
  4. Es de Apple. O:-)

Desventajas

  1. No sirve para crear apps para Android o Windows Phone.
  2. 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.
  3. 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.
corona-SDK
Corona es un SDK alternativo especialmente indicado para juegos sencillos.
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

  1. Es más fácil «arrancar» con Lua y Corona que con Objective C. Está especialmente indicado para apps y juegos sencillos.
  2. Permite crear apps para iPhone, iPad y Android.
  3. Desarrollo más rápido.
  4. Herramientas baratas, aunque no gratuitas.
  5. El lenguaje, aunque sencillo, es muy bueno.
  6. Se puede desarrollar en un mac o en Windows.

Desventajas

  1. No es adecuado para aplicaciones complejas.
  2. No permite acceder a todas las características del sistema operativo (iOS o Android).
  3. Las novedades que vayan saliendo para iOS o Android tardan un poco más en estar disponibles.
  4. Está especializado para juegos y apps sencillas.
  5. 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.
icono-phone-gap
PhoneGap, el que más abarca y menos aprieta
La interfaz gráfica se crea con HTML 5 y CSS y la funcionalidad con Javascript.

Ventajas

  1. Aprovecha conocimientos que ya son comunes, como HTML y Javascript.
  2. Abarca muchas plataformas.
  3. Para aplicaciones muy sencillas, es algo rápido.
  4. Se puede desarrollar en Windows y en Mac.

Desventajas

  1. No son aplicaciones nativas en ninguna de las plataformas y a veces se nota.
  2. No permiten usar todas las facilidades del sistema operativo.
  3. Simular ciertas características de aplicaciones nativas puede ser complejo y farragoso.
  4. 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.

¿Cual uso?

Si quieres crear muchas aplicaciones muy sencillitas y que se ejecuten en muchos dispositivos, prueba PhoneGap. Si quieres crear aplicaciones de forma rápida y que no sean muy complejas, prueba Corona. Si quieres crear aplicaciones de gran calidad, que requieran usar las últimas tecnologías o que necesiten usar facilidades del sistema operativo, usa Cocoa. Si quieres crear una «versión» iPad de tu portal web ya existente, prueba PhoneGap. Si quieres aprender a programar para dispositivos móviles, empieza por Corona. Si quieres hacer apps tanto para iPhone como para Mac, usa Cocoa. Si quieres aprender una tecnología con demanda creciente en el mercado laboral, aprende Cocoa. Si quieres hacer varios juegos sencillos, usa Corona. Si quieres hace run juego complejo, usa Cocoa. Si quieres hacer apps empresariales, con acceso a bases de datos, usa Cocoa. Si todavía tienes dudas, pregúntame. 🙂

Publicaciones electrónicas

Ahora bien, ¿y si lo que quieres crear no es una app, sino una publicación electrónica? Es decir,si tienes una publicación en papel y quieres transformarla en una publicación para el iPad, ¿qué tecnología usas? Si tienes algo que deseas compartir o quieres formar parte de KeepCoding, escríbenos a [email protected].

Posts Relacionados