Como convertirte en Programador iOS

1. Introducción

EfectoApple
EfectoApple
13 min readJul 18, 2016

--

Así que estás pensando en convertirte en Desarrollador iOS. Llevas tiempo dándole vueltas y quieres saber como ser programador iOS.

Te imaginas sentado frente a tu ordenador trabajando en diferentes proyectos mientras escuchas tu playlist favorita de Spotify.

como ser programador ios-programador-trabajando

Eso es genial, pero puede que te estés preguntando

¿Por donde empezar?

Hoy hay más recursos que nunca. Jamás ha existido tanta cantidad de información sobre cualquier tema al alcance de tu mano. Esto es algo bueno pero también tiene su parte negativa. Puedes perderte entre tanta información.

El objetivo de este post es explicar todo lo que me gustaría que alguien me hubiera contado cuando comencé con la Programación iOS.

Voy a intentar aclarar que es lo que necesitas saber sobre como ser programador iOS.

Lo primero que me gustaría hacer es desmentir algunas afirmaciones que he escuchado muchas veces.

2. Cazando Mitos

Tengo que comprar un Mac para programar aplicaciones

como ser programador ios-macbook

FALSO. Es recomendable tener un Mac propio pero no es obligatorio. Por menos de 1 € la hora ó 19 € al mes podrás utilizar un Mac compartido a través de internet. No hablamos de máquinas virtuales sino ordenadores Mac con Intel Core i5 y entre 8GB y 16GB de RAM.

Unicamente necesitas un navegador web para acceder a la plataforma y una conexión a internet.

Este servicio te ofrece todo lo necesario para el desarrollo de aplicaciones iOS. Es una opción perfectamente válida para quien no tiene ordenador Mac y no quiere hacer un desembolso grande pero busca comenzar con la Programación iOS.

Puedes echar un vistazo y comprobarlo por ti mismo aquí: Mac in Cloud

Necesito ser Informático para programar aplicaciones
FALSO. Cualquier persona puede aprender lo necesario para desarrollar apps, incluso si no ha tocado antes un ordenador en su vida. El proceso de aprendizaje se basa en entender y dominar una serie de conceptos y luego practicar cada día.
Necesito un iPhone para programar aplicaciones iOS
FALSO. Es recomendable pero no obligatorio. La mayoría de las funcionalidades de una app se pueden lemaar mediante el simulador integrado en Xcode.
Es muy complicado desarrollar aplicaciones iOS
FALSO. Unicamente hay que aprender una serie de conceptos básicos y entender un lenguaje de programación. A partir de ahí, se trata, como cualquier otra habilidad, de practicar, practicar y practicar.
Hace falta pagar 99 € para poder desarrollar aplicaciones iOS
FALSO. Unicamente hay que pagar esa cantidad si deseas vender tus aplicaciones a través de la App Store. Puedes desarrollar cualquier aplicación sin pagar ninguna licencia de desarrollo.

Resumiendo, lo mejor es que te quedes con esto:
[caja-roja]Por menos de 20 € al mes cualquiera puede introducirse en el Desarrollo iOS y aprender a desarrollar sus propias aplicaciones.[/caja-roja]

Ahora que hemos visto lo que NO necesitas para desarrollar apps, vamos a ver con que conocimientos debes contar para poder ser Desarrollador iOS.

3. ¿Qué tengo que saber para desarrollar apps para iOS?

En este artículo vamos a suponer que no tienes ningún tipo de experiencia en este campo pero lo que veremos a continuación también puede servirte si has programado antes.

Programar aplicaciones iOS se apoya en cuatro aspectos fundamentales:

3.1. Conocer los fundamentos de la programación

como ser programador ios-codigo

Si nunca has programado antes, éste debería ser tu primer paso. Empezar a entender como funciona el desarrollo de software.

Puede que hayas oído alguna vez que la programación es algo muy complicado y que no todo el mundo puede crear software.

Esto no es cierto.

Creo que la mayoría de la gente que afirma eso, son personas que han intentado programar algo por su cuenta y no han sido capaces.

¿Y sabes cual creo que ha sido su error?

Saltarse este paso.

Intentar sentarse frente a un ordenador para programar cualquier cosa sin haber ni siquiera leído algo sobre Fundamentos de Programación.

Es como si ahora mismo cualquiera de nosotros se encontrara en un quirófano y tuviera que realizar una operación a corazón abierto.

¿Por donde empezarías?

Yo probablemente tendría problemas hasta para ponerme los guantes de cirujano.

¿Te imaginas a alguien que tuviera que invertir cientos de millones de euros en bolsa sin haber comprado una acción en su vida?

Nada bueno podría salir de eso.

El 99% de las personas pueden aprender a desempeñar el 100% de los trabajos del mundo. Y la programación, evidentemente no va a ser una excepción. Te aseguro que programar no es complicado, simplemente, como cualquier habilidad nueva que quieras aprender hay que entender una serie de conceptos básicos antes de poder ponerte a programar.

Si te encuentras en esta fase, ponte en contacto conmigo aquí y yo te aconsejaré sobre algún libro o curso con el que puedas comenzar.

La mayor ventaja de comenzar por aquí es que comprenderás los fundamentos básicos para siempre. En el futuro dará igual con que lenguaje de programación trabajes, ya que las bases son comunes a todas las plataformas, por lo que este conocimiento te servirá para cualquier plataforma en la que decidas trabajar.

Así que si por tu cabeza pasa el adentrarte en el mundo de la programación, mi primer consejo sería que buscaras un libro de Programación Orientada a Objetos lo más básico posible que te permita comprender los fundamentos del desarrollo de software.

Evidentemente si ya tienes experiencia programando, lo más probable es que domines todos estos conceptos, por lo que podrías pasar directamente a la Fase 2.
[caja-roja]Cualquiera, sin importar edad o experiencia puede aprender los conceptos fundamentales de la programación[/caja-roja]

3.2. Conocer el lenguaje de programación — Swift/Objective-C

como ser programador ios-swift-objective-c

Una vez que dominas los conceptos básicos de la programación orientada a objetos el siguiente paso debería ser sentirte cómodo con el lenguaje de programación que vas a utilizar. Desde el comienzo de las aplicaciones iOS el lenguaje utilizado para desarrollar apps es Objective-C. En 2014 Apple lanzó un nuevo lenguaje creado por ellos mismos: Swift.

En el momento de escribir este artículo, estos dos lenguajes coexisten y por este motivo existen diferentes puntos de vista sobre que lenguaje es mejor para comenzar.

¿Alguien que quiere introducirse en el mundo del Desarrollo iOS debería comenzar con Objective-C? ¿O por el contrario, es preferible que comience a desarrollar aplicaciones con el nuevo lenguaje de Apple: Swift?

Aquí podría organizarse un debate en el que habría muchos puntos de vista y que podría dar para un post entero. Yo solo te voy a dar mi opinión. Si la tuya es diferente, puedes utilizar los comentarios del post.

Si tuviera que recomendar a alguien con que lenguaje comenzar hoy en día para aprender Desarrollo iOS, le diría: Objective-C. Por los siguientes motivos:

  • La comunidad iOS todavía habla en Objective-C: Ha sido el único lenguaje disponible para nosotros durante 6 años. Esto ha generado una cantidad de documentación enorme utilizando Objective-C. Existen decenas de blogs en inglés sobre Desarrollo iOS donde se explican funcionalidades muy útiles y la gran mayoría están escritos utilizando Objective-C. Cientos de repositorios en GitHub escritos en este lenguaje. Stack Overflow, el sitio web por excelencia sobre dudas de programación está plagado de posts en Objective-C. Si no eres capaz de comprender Objective-C no serás capaz de aprovechar esta montaña de conocimiento.
  • Los frameworks de Apple están escritos en Objective-C: Todas las librerías que Apple pone a tu disposición para poder trabajar están escritas en Objective-C. Cuando encuentres algún error en tu aplicación y tengas que examinar tu código con detenimiento para entender que está fallando, desearás entender Objective-C
  • Objective-C es 100% estable: Swift tiene una pinta genial pero el lenguaje todavía está evolucionando y no es completamente estable. Apple ha hecho un gran trabajo pero necesita más tiempo para pulir muchos aspectos. Por el contrario, Objective-C tiene más de 30 años. En madurez gana por goleada a Swift.

Confía en mi. Comienza por Objective-C.

Si te sientes cómodo con el inglés te recomiendo este libro para aprender todo sobre este lenguaje. Si por el contrario prefieres algo en castellano, puedes contactar conmigo y te recomendaré algún libro que puede serte muy útil.

3.3. Conocer Xcode

como ser programador ios-xcode-icon

Una vez que tienes conocimientos básicos de programación y conoces el lenguaje con el que vas a programar, el siguiente paso es conocer tu Entorno de Desarrollo. Se trata de una app que utilizarás para desarrollar apps. Se llama Xcode y se puede descargar gratis de la Mac App Store.

Desde Xcode desarrollarás tanto la interfaz de tu aplicación como todo lo que sucede de forma invisible al usuario. Además dispone de un simulador en el que podrás probar tus apps sin necesidad de disponer un iPhone, un iPad o un Apple Watch.

Xcode como cualquier IDE tiene sus defectos, pero después de probar varios entornos de desarrollo, a mi me parece que funciona muy muy bien.

3.4. Conocer las bases de la Programación iOS

Cualquier plataforma en la que quieras comenzar a programar tiene una serie de particularidades y herramientas a las que debes adaptarte.

Android las tiene. Windows Phone las tiene.

iOS también las tiene.

Son una serie de conceptos que debes conocer para poder desarrollar aplicaciones iOS. Debes aprender a utilizar estas herramientas de la forma adecuada.

La mayoría de las veces puedes adquirir estos conocimientos sobre iOS a través de libros, blogs o incluso algún curso sobre la plataforma.

Como ya te he dicho antes, estoy a tu disposición, puedes enviarme un email si necesitas que te recomiende algo con lo que comenzar.

4. ¿Qué herramientas necesito?

4.1. Mac

Las opciones que tienes aquí dependen únicamente de cuanto dinero te quieras gastar:

  • Opción mínima inversión: Por menos de 19 euros al mes puedes acceder a un Mac a través de internet y disponer de todo lo necesario para el desarrollo de aplicaciones iOS utilizando el servicio Mac in Cloud.
  • Opción básica: Adquirir un Mac de segunda mano a buen precio. No necesitas el modelo más reciente de Apple para poder programar. Con una máquina de hace 3 ó 4 años es suficiente. Existen muchos mercados de segunda mano donde puedes encontrar un Mac perfecto para programar por 400 ó 450 euros.
  • Opción media: Adquirir un Mac Mini. Este es el Mac más asequible que puedes comprar directamente a través de la web de Apple. Su versión básica cuesta 549 €. Puedes acoplarle un teclado y un ratón y utilizar tu monitor de ordenador como pantalla.
  • Opción máxima inversión: Si dispones de presupuesto y vas en serio con el desarrollo de apps esta es la opción recomendada. Adquirir un MacBook Pro o un iMac donde poder aprender todo sobre el Desarrollo iOS. En este caso hablamos de un desembolso a partir de 1.269 €.

4.2. Darte de alta como Desarrollador de Apple

como ser programador ios-apple-developer-program

No hay que confundir este paso con el de ingresar en el Apple Developer Program, del que hablaremos en el punto 4. Cualquiera puede registrarse como Desarrollador de Apple totalmente gratis. Al registrarte, tendrás derecho a descargar Xcode, acceder a la documentación de Apple y otros recursos técnicos como videos de desarrollo.

Para registrarte únicamente tienes que visitar la web de Desarrolladores de Apple. El proceso de registro es muy sencillo. Tendrás que crearte un Apple ID (si no lo tienes ya) y rellenar tu perfil personal.

4.3. Instalar Xcode

Para comenzar a desarrollar apps para iPhone, iPad, Apple Watch y Apple TV, la única herramienta que tendrás que descargar será Xcode. Xcode te ofrece todo lo que necesitas para comenzar con el Desarrollo de apps. Dispone de la última versión del SDK de iOS, un editor de código, un editor de interfaces, herramientas de depuración y mucho mas. Además, Xcode viene con un simulador donde podrás probar tus apps sin necesitar dispositivos físicos.

Para descargar Xcode, abre la aplicación Mac App Store. Una vez dentro, en la caja de búsqueda escribe “Xcode” y presiona intro. Cuando aparezca el listado de resultados, elige Xcode y pulsa en el botón OBTENER para descargarlo.

Una vez que lo hayas descargado podrás encontrarlo en el Launchpad de tu Mac.

En el momento de escribir este artículo, la última versión de Xcode es la 7.3.1 Es recomendable que mantengas la versión de Xcode actualizada siempre que puedas.

4.4. Inscribirte en el Apple Developer Program (Opcional, solo si quieres vender tus apps a través de la App Store)

Algo que suele preguntarse mucha gente es si es necesario inscribirse en el Apple Developer Program y pagar los 99 € al año que cuesta para poder desarrollar aplicaciones iOS. La respuesta es “depende”.

Si decides inscribirte en el iOS Developer Program, Apple te permitirá vender tus aplicaciones a través de la App Store.

Si eres alguien que comienza a explorar el Desarrollo iOS podrás utilizar el simulador de Xcode para probar tus aplicaciones o incluso tus propios dispositivos si dispones de un iPhone o un iPad. Puedes esperar para pagar la cuota hasta que seas capaz de crear algunas apps que merezca la pena distribuir a través de la App Store.

Por tanto, mi recomendación es no pagar hasta que hayas desarrollado una app que creas que puede generar algunos ingresos a través de la App Store. Ya sea por publicidad, por precio fijo o mediante compras integradas.

5. Consejos Finales sobre como ser Programador iOS

Hemos hablado de todo lo que NECESITAS para introducirte en el Desarrollo iOS. Lo que te enumero a continuación son una serie de consejos que creo que pueden servirte como aceleradores durante tu proceso de aprendizaje.
Crea tu propia app

como ser programador ios-appstore

Puedes aprender leyendo muchos tutoriales, viendo muchas clases en vídeo o devorando libros de desarrollo pero la mejor forma de aplicar todo el conocimiento que vas adquiriendo es comenzando un proyecto propio desde cero.

Piensa en una app que te gustaría tener. Seguro que en algún momento has tenido alguna idea que podría convertirse en una buena aplicación movil. Ahora es cuando puedes llevar a cabo esa idea. No importa que tus conocimientos sean muy básicos. Lo que debes hacer es aprender a la vez que vas desarrollando tu proyecto. No esperes a convertirte en un experto Desarrollador iOS para comenzar con tu idea. Puedes hacerlo desde el principio. Solo tiene que cumplir una condición. Tiene que ser una idea que te motive, en la que realmente creas y que te ilusione llevar a cabo. De esta forma, cuando lleguen los momentos duros en los que no sepas como continuar, encontrarás las ganas que necesitas para superar cualquier problema. No tiene que ser una app revolucionaria, solo tiene que ser tu idea, tu proyecto.

Recuerdo la primera aplicación que desarrollé y vendí a través de la App Store. Es una sensación increíble desarrollar algo desde cero y ver como hay gente que paga por ello. Experimentar eso hace que todo el trabajo anterior merezca la pena.
[caja-roja]Lo único que te separa de vender tus propias aplicaciones en la App Store son tus propios pensamientos que te dicen que no puedes hacerlo[/caja-roja]

Encuentra a alguien que sepa más que tu
Busca un mentor. Ya. No esperes. Comienza a buscarlo ya mismo. No tiene que ser el mayor experto en Desarrollo iOS del mundo. Simplemente debe cumplir una condición: Tiene que ser alguien que sepa más que tu. Tener a alguien a quien recurrir en los momentos en los que te encuentres en un callejón sin salida es algo que NO TIENE PRECIO. Se trata de ahorrar tiempo. De convertir las semanas que te llevaría solucionar un problema a ti solo, en unas pocas horas si dispones de la ayuda de la persona adecuada.
Piensa primero, Busca después
Existe un mal que suele afectar a muchos programadores. Este mal proviene de la cantidad de información que tenemos disponible. Cualquier problema, bug o callejón sin salida que encontremos mientras desarrollamos nuestras apps, es casi 100% seguro que otro lo ha sufrido antes que tú. Y lo más probable es que ya esté publicado como solucionarlo. El proceso de trabajo que puede generarte problemas es el siguiente:

  • Encuentro algún obstáculo que no se como solucionar.
  • Acudo a la web para comprobar si alguien ha tenido el mismo problema que yo.
  • Compruebo que hay varias personas con el mismo problema.
  • Encuentro la solución rapidamente.
  • Copio la solución y la pego en mi código.
  • Problema resuelto.

Este proceso hace que nos acomodemos a la hora de programar. No dedicamos el tiempo suficiente a analizar el problema y nos convertimos en máquinas que programan copiando partes de código encontradas en Stack Overflow.

Una de las habilidades más necesarias para un programador es el análisis y resolución de problemas. Si basamos nuestra forma de programar en este proceso, cada vez nos costará más resolver futuros problemas por nosotros mismos. Por tanto, antes de buscar en internet la solución a un problema, piensa por tu cuenta que opciones se te ocurren para resolverlo por ti mismo. A largo plazo será mucho mejor para ti.

Programa, programa, programa

como ser programador ios-jobs-quote

Nadie nace sabiéndolo todo.

Los mayores expertos del mundo en Desarrollo iOS, en sus comienzos no sabían ni como instalar Xcode.

Recuerda lo que decía el conocido guitarrista Paco de Lucía:

[caja-roja]“Cualquiera puede convertirse en el mejor guitarrista del mundo si está dispuesto a ensayar catorce horas al día todos los días de su vida”[/caja-roja]

La repetición es la madre de la destreza. La genialidad no es otra cosa que la práctica diaria.

Si realmente quieres saber como ser Programador iOS solo tienes que hacer una cosa: Programar. Y tienes que hacerlo durante el tiempo que sea necesario. No es un tema de capacidad. Quítate eso de tu cabeza. Es algo que puedes hacer siempre y cuando estés dispuesto a practicar el tiempo que haga falta.

Comienza poco a poco a leer documentación en inglés
Nunca podrás llegar a ser un buen desarrollador si no comienzas a acostumbrarte a manejar documentación técnica en inglés. Apple dispone de una cantidad enorme de documentación que abarca todos los niveles de desarrollo. Desde como introducirte en el Desarrollo de Apps iOS hasta funcionalidades muy avanzadas. No existe una biblioteca mejor donde puedes aprender todo sobre iOS: Documentación de Apple

El problema para mucha gente es que ésta documentación está en inglés. Por eso mi recomendación es que de vez en cuando vayas consultando esta fuente de información, para que poco a poco te encuentres cada vez más cómodo con ella.

6. Para terminar

Esto es todo.

He intentado contarte lo mejor posible como ser programador iOS. Espero que este artículo haya servido para aclarar tus ideas sobre como ser programador iOS.

Te deseo mucha suerte en tu camino. Si tienes cualquier pregunta o duda al respecto puedes utilizar los comentarios del post y estaré encantado de ayudarte en todo lo que pueda.

--

--

EfectoApple
EfectoApple

Conviértete en Desarrollador iOS. Únete al Efecto Apple, recibe contenido exclusivo y programa tu futuro.