Jul.12

Programación IOS… ¿por donde empiezo? (I)

En mi anterior entrada os decía que usare el tiempo que dedique al blog para intentar responder aquellas cosas que realmente vea útiles y a mi me hayan ayudado y/o sorprendido. Por ello,sin duda, tengo claro que esta debe ser la primera entrada…la pregunta que los desarrolladores que he tenido a mi cargo (Web, Windows & Android) me han hecho mas veces en los últimos años, la pregunta que yo mismo me tuve que responder a trompicones hace ya 4 o 5 años cuando, por un proyecto de mi empresa, me inicie (forzosamente) en el desarrollo para dispositivos IOS.

A esta pregunta siguieron otras del estilo ¿puedo programar IOS desde Windows?¿que IDE necesito?¿que lenguaje tengo que aprender? y así un sinfín de ellas. Pues bien intentare responderlo de manera muy concreta, como me hubiera gustado encontrarlo a mi en su día.

Antes de empezar aclarar que todo depende, depende del tipo de app que estés planteándote desarrollar. Todo lo expuesto aquí es válido para apps nativas, si hablamos de webapps o híbridas hay bastantes soluciones alternativas como Phonegap o Appcelerator que serán analizadas en futuros posts.

 

¿Puedo programar IOS desde Windows?

La respuesta es si pero no , aunque hay soluciones como xamarin o  Phonegap que permiten desarrollar para IOS desde entornos windows pero siempre vas a necesitar un OS X para, como poco, subir la app resultante al store. La verdad es que, después de investigar un poco,  desistí pronto de seguir intentándolo.  Ahora,  después de años desarrollando para IOS desde OSX se me hace difícil pensar en como manejar la generación de los certificados necesarios y la subida de la app sin tener que pasar en ningún momento por un mac (real o virtual). Asumiendo que vas a necesitar un OS X bajo mi punto de vista tienes tres opciones:

 

  1. Usar un Mac. La solución ideal, pero la mas cara e “incomoda” si necesitas seguir desarrollando en los otros entornos. A mi me resultaba incomodo porque quería seguir trabajando el resto de cosas en windows ya que tengo siempre varios proyectos a la vez sobre la mesa…
  2. Reciclar un ordenador (o usar el tuyo con dual boot) e instalarle un “Hackintosh” (que no es mas que cualquier máquina no fabricada por Apple capaz de ejecutar OS X con la distribución adecuada, recomiendo iAtkos). Este puede ser un camino largo y doloroso según el hard de la máquina donde lo quieras instalar pero mi recomendación, si quieres trastear, es que empieces por visitar OSX86 Project.
  3. Usar un OS X corriendo bajo una máquina virtual (en windows o linux). Puedes utilizar el que mas te guste, VMware, Oracle VirtualBox,  etc. Cualquier PC medianamente decente (con bastante memoria eso si) os permitirá trabajar bien en entorno virtualizado. Puedes ver un vídeo de como instalarlo AQUI.

 

Yo he probado en un momento u otro las tres soluciones y, finalmente, tanto si eres desarrollador windows como linux mi recomendación (y lo que yo hago ahora)  es que uses una máquina virtual e instales sobre ella la última versión de OS X. Esto te permitirá seguir desarrollando y trabajando bajo windows pero a la vez desarrollar para IOS (yo uso una segunda pantalla).

Otra ventaja importantísima de esta solución es que, por política de Apple, lo normal es que a cada actualización importante de IOS suele seguir  una de su SDK y de su IDE (xCode). Para desarrollar para las ultimas versiones de IOS siempre has de tener actualizadas esas dos cosas y, por supuesto, implican actualización de OSX…  ¿acaso os imagináis repetir la película de la instalación del hackintosh a cada update significativo de Apple? La opción de la máquina virtual permite abrir otra instancia e instalar y migrar ahí de forma segura todo tu entorno de trabajo.

 

¿Que IDE necesito?

Una vez que ya tienes tu OS X disponible, lo siguiente es que vayas al Apple Developer Center y descargues de ahí la ultima versión de su IDE, que no es otro que xCode. Con la descarga de xCode se descarga también el IOS SDK,  con eso tendrías suficiente para empezar. En futuro será necesario que te crees una cuenta de Apple Developer Program ( por el módico precio de 99€ anuales), esto es básico ya que sin ello solo podrás realizar pruebas en simulador (no probar en dispositivo es mala idea) y no podrás subir nada al  App Store.

 

¿En que lenguaje se programa?

Se programa utilizando Objetive C, para los mas ancianos del lugar (¡como yo!) decir que es un lenguaje que usa un modelo de objetos similar a SmallTalk será suficiente para que lo entiendan, para el resto decir que intenten imaginar Objetive C como una fina capa superpuesta sobre C.

Si eres desarrollador de C++ (como era mi caso) el paso será un poco mas doloroso… requiere un cambio  de mentalidad, los mas experimentados habrán vivido algo parecido a principios de los 90 con el paso de la programación estructurada a la POO. Os recomiendo este excelente artículo de Genbeta, ilustra bastante bien en que consta el cambio.

Con esto, que no es poca información, concluye esta entrada. Si aun no has desistido, ya sabes, toca remangarse y ponerse a trastear…para cuando tengas todo instalado puedes empezar con una introducción ligerita a Objetive C. Ya verás como en un ratito tendrás tu Hola Mundo! funcionado.

Share this Story:
  • facebook
  • twitter
  • gplus

About Roger

Leave a comment