¿Así que quieres crear tu propia app? ¡¡¡Eso es genial!!! Crear una app es una experiencia divertida y gratificante. Todavía recuerdo la alegría cuando creé una app por primera vez hace años, aunque la app sea tan simple y elemental.
Antes de sumergirnos en la programación de iOS, vamos a repasar las herramientas que necesitas para crear una app y preparar la mentalidad para aprender el desarrollo de apps para iOS.
Las herramientas
Apple ha favorecido un ecosistema cerrado frente al sistema abierto. iOS sólo puede ejecutarse en los dispositivos propios de Apple, incluyendo el iPhone y el iPad. Es muy diferente a su competidor, Google, que permite que Android se ejecute en dispositivos móviles de diferentes fabricantes. Como aspirante a desarrollador de iOS, lo que esto significa para ti es que necesitarás un Mac para el desarrollo de aplicaciones.
1. Consigue un Mac
Tener un Mac es el requisito básico para el desarrollo de iOS. Para desarrollar una app para el iPhone (o el iPad), necesitas conseguir un Mac con un procesador basado en Intel que funcione con la versión 10.15.4 de macOS (o posterior). Si ahora tienes un PC, la opción más barata es comprar el Mac Mini. En el momento de escribir este artículo, el precio de venta del modelo básico es de 799 dólares. Puedes conectarlo al monitor de tu PC. El modelo básico del Mac mini viene con un procesador Intel Core i3 de cuatro núcleos a 3,6 GHz y 8 GB de memoria. Debería ser suficiente para ejecutar las herramientas de desarrollo de iOS sin problemas. Por supuesto, si tienes un mayor presupuesto, consigue el modelo superior o un iMac con mejor potencia de procesamiento.
What about Hackintosh? Is it an option if you do not have a Mac? I heard that we can use it to run Mac on Windows machines. While you may have heard of some success cases of using Hackintosh for iOS development, it is not the recommended approach. If you are serious about learning iOS development and afford the upfront cost, a Mac is a worthwhile investment.
2. Registra tu ID de Apple
Necesitarás un ID de Apple para descargar Xcode, acceder a la documentación del SDK de iOS y otros recursos técnicos. Y lo que es más importante, te permitirá desplegar tu app en un iPhone/iPad real para probarla.
Si has descargado una app de la App Store, es bastante seguro que ya tengas un ID de Apple. En caso de que no hayas creado tu ID de Apple antes, tienes que conseguir uno. Sólo tienes que ir a la web de Apple (https://appleid.apple.com/account) y seguir los procedimientos para el registro.
3. Instalar Xcode
Para empezar a desarrollar apps para iOS, Xcode es la única herramienta que necesitas descargar. Xcode es un entorno de desarrollo integrado (IDE) proporcionado por Apple. Xcode proporciona todo lo que necesitas para poner en marcha el desarrollo de tu aplicación. Ya incluye la última versión del SDK de iOS (abreviatura de Software Development Kit), un editor de código fuente integrado, un editor de interfaz gráfica de usuario (UI), herramientas de depuración y mucho más. Lo más importante es que Xcode viene con un simulador de iPhone (y iPad) para que puedas probar tu aplicación sin los dispositivos reales.
Para instalar Xcode, sube a la Mac App Store y descárgalo. Si utilizas la última versión de Mac OS, deberías poder abrir la Mac App Store haciendo clic en el icono del dock. En caso de que no lo encuentres, puede que necesites actualizar tu Mac OS.
En la Mac App Store, simplemente busca «Xcode» y haz clic en el botón «Get» para descargarlo.
Una vez completado el proceso de instalación, encontrarás Xcode en el Launchpad.
En el momento de escribir este libro, la última versión de Xcode es la 12. A lo largo de este libro, utilizaremos esta versión de Xcode para crear las apps de demostración. Incluso si usted ha instalado Xcode antes, le sugiero que actualice a la última versión. Esto debería facilitarte el seguimiento de los tutoriales.
4. Inscríbete en el Programa para Desarrolladores de Apple (Opcional)
Una pregunta habitual sobre el desarrollo de una app para iOS es si es necesario inscribirse en el Programa para Desarrolladores de Apple (https://developer.apple.com/programs/). La respuesta corta es opcional. En primer lugar, Xcode ya incluye un simulador de iPhone y iPad integrado. Puedes desarrollar y probar tu app en Mac, sin necesidad de inscribirte en el programa.
A partir de Xcode 7, Apple ha cambiado su política respecto a los permisos necesarios para construir y ejecutar apps en los dispositivos. Antes, la compañía exigía el pago de 99 dólares al año para poder desplegar y ejecutar sus apps en un iPhone o iPad físico. Ahora, ya no es necesario ser miembro del programa. Todo el mundo puede probar sus aplicaciones en un dispositivo real sin necesidad de inscribirse en el Programa para Desarrolladores de Apple. Dicho esto, si quieres probar algunas funciones avanzadas como las compras dentro de la aplicación, las notificaciones push o CloudKit, sigues necesitando solicitar la afiliación al programa. Y lo que es más importante, no podrás enviar tu aplicación a la App Store sin pagar la cuota anual de socio.
Entonces, ¿deberías inscribirte en el programa ahora? El Programa para Desarrolladores de Apple cuesta 99 dólares al año. No es mucho dinero pero tampoco es barato. Como estás leyendo este libro, probablemente seas un recién llegado y acabes de empezar a explorar el desarrollo de iOS. El libro está escrito para principiantes. Vamos a empezar con algo sencillo. No vas a aprovechar las funciones avanzadas hasta que no domines las habilidades básicas.
Por lo tanto, incluso si no te inscribes en el programa, podrás seguir la mayor parte del contenido para construir una aplicación y probarla en tu dispositivo. Por ahora, guarda tu dinero. Te avisaré cuando tengas que inscribirte en el programa. En ese momento, te animo a unirte al programa cuando estés listo para publicar la app en la App Store!
El enfoque de aprendizaje
He estado enseñando programación iOS desde 2012 a través de blogs, cursos online y talleres presenciales. Lo que he descubierto es que es el enfoque de aprendizaje y la mentalidad lo que marca la diferencia entre fracasar y conseguirlo. Antes de hablar de Swift y de la programación en iOS, quiero que te equipes con la mentalidad adecuada y que entiendas la forma más efectiva de aprender a programar.
Suéltate las manos
Una de las preguntas más populares sobre cómo aprender a programar es:
¿Cuál es la mejor manera de aprender a programar en iOS?
En primer lugar, gracias por leer este libro. Lamentablemente, tengo que decirte que no se puede aprender a programar sólo leyendo libros. Este libro tiene todo lo que necesitas para aprender Xcode, Swift y el desarrollo de aplicaciones iOS.
Pero la parte más importante es pasar a la acción.
Si tengo que dar una respuesta a la pregunta, diré que «Aprender haciendo». Está en el corazón de mi enfoque de enseñanza.
Déjame cambiar un poco la pregunta:
¿Cuál es la mejor manera de aprender inglés (u otros idiomas extranjeros)?
¿Cuál es la mejor manera de aprender ciclismo (o cualquier otro deporte)?
Probablemente conozcas la respuesta. Me gusta especialmente esta respuesta en Quora sobre el aprendizaje de un nuevo idioma:
Sigue esta rutina: escucha 1 hora al día, habla 1 hora al día, publica 1 entrada en el diario.
– Dario Mars Patible
Se aprende con la práctica, no sólo estudiando la gramática. Aprender a programar es algo muy parecido a aprender un idioma. Tienes que realizar acciones. Tienes que trabajar en un proyecto o en unos ejercicios. Tienes que sentarte frente a tu Mac, sumergirte en Xcode y escribir el código Swift. No importa cuántos errores cometas durante el proceso. Sólo recuerda abrir Xcode y codificar mientras lees este libro.
Motivaciones
¿Por qué quieres aprender a desarrollar apps? Qué te motiva a sacrificar los fines de semana y las vacaciones para aprender a codificar?
Algunas personas empiezan a aprender desarrollo de apps sólo por el dinero. No hay nada malo en ello. Es posible que quieras construir tu negocio de aplicaciones para obtener algunos ingresos secundarios y eventualmente convertirlo en un negocio a tiempo completo. Eso es completamente comprensible. Quién no quiere vivir una vida rica?
Sin embargo, en febrero de 2019, había más de 2,2 millones de aplicaciones en la App Store. Es realmente difícil poner una aplicación en la App Store y esperar ganar un montón de dinero de la noche a la mañana. Te desanimarás fácilmente o incluso te rendirás si el dinero es tu principal razón para crear apps, especialmente cuando te encuentres con artículos como este:
- Cuánto dinero gané en la App Store (https://sitesforprofit.com/how-much-money-app-store)
Entonces la realidad se impuso.
199 unidades antiguas = 209 dólares en ventas = 135 dólares de ganancias (netas para mí). Para poder poner la aplicación en la tienda de aplicaciones necesitaba pagar la cuota de desarrollador de 99 dólares.
Así que después de 2 meses y 1 semana mis ganancias (antes de impuestos) eran de 36 dólares.
– James
Programar es difícil y desafiante. Encuentro que las personas que dominan con éxito el lenguaje son aquellas que tienen un fuerte deseo de construir aplicaciones y son entusiastas para aprender a programar. Suelen tener una idea en su mente y quieren convertirla en una app real. Ganar dinero no es su principal preocupación. Saben que la aplicación puede resolver sus propios problemas y será beneficiosa para otros. Con un propósito tan poderoso en mente, pueden superar cualquier obstáculo que se les presente.
Así que piensa de nuevo por qué quieres aprender a programar.
Busca un compañero
«La mejor manera de aprender es enseñando» es un viejo dicho. Sin embargo, sigue funcionando en el mundo moderno. No hace falta ser un experto para enseñar. No estoy hablando de dar una conferencia en una universidad o de enseñar a un grupo de estudiantes en una clase formal. La enseñanza no siempre es así. Puede ser tan sencillo como compartir tus conocimientos con un colega o un compañero de clase sentado a tu lado.
Intenta encontrar a alguien que también esté interesado en aprender a programar en iOS. Cuando aprendas algo nuevo, intenta explicar los materiales a tu compañero. Por ejemplo, después de construir tu primera app, enséñale a tu amigo cercano cómo funciona y cómo puede crear una app también.
¿Y si no puedes encontrar un compañero para compartir lo que has aprendido? No te preocupes. Empieza un blog en medium.com (o en las plataformas que quieras), escribe un post cada día y documenta todo lo que aprendas.
Esta es una de las formas más efectivas de aprender, ya que yo aprendo mucho mientras publico tutoriales en appcoda.com, así como, desarrollo mi primer libro.
A veces crees que conoces bien los materiales. Pero una vez que tienes que explicar el concepto a otra persona y responder a las preguntas, lo más probable es que no hayas entendido el material a fondo. Y esto te motivará a estudiar los materiales aún más. Dale una oportunidad a este método mientras aprendes a programar en iOS.
Sé paciente
El valor es la pasión y la perseverancia por objetivos a muy largo plazo. El valor es tener resistencia. El valor es seguir con tu futuro, día tras día. No sólo durante la semana, no sólo durante el mes, sino durante años. Y trabajar muy duro para hacer realidad ese futuro. El valor es vivir la vida como si fuera un maratón, no un sprint.
– Dra. Angela Lee Duckworth
Algunos de mis alumnos me preguntaron: «¿Cuánto tiempo se tarda en ser un buen desarrollador?»
Se necesita tiempo para dominar la programación y convertirse en un gran desarrollador. Suele llevar años. No semanas, ni meses, sino años.
Este libro te ayudará a iniciar el viaje. Aprenderás todos los fundamentos de la programación en Swift y en iOS y, finalmente, construirás una app. Dicho esto, se necesita tiempo y muchas prácticas para convertirse en un programador profesional.
Ten paciencia. No pongas tus expectativas demasiado altas para tu primera app. Simplemente disfruta del proceso, crea algo sencillo y divertido. Sigue leyendo y codificando a diario. Con el tiempo dominarás la habilidad.
Encuentra tu idea para la app
Siempre animo a mis alumnos a que tengan su propia idea para la app cuando empiezan a aprender a desarrollarla. La idea no tiene que ser grande. No es necesario que construyas la próxima app de Uber o que se te ocurra una nueva idea para cambiar el mundo. Sólo tienes que empezar con una idea muy pequeña que resuelva un problema.
Déjame darte un par de ejemplos.
Un ejemplo clásico que solía mencionar es el Diccionario Cockpit. Es una app construida por Manolo Suárez, que es piloto de profesión. Tuvo una idea de app mientras aprendía a programar apps. La idea no era muy sofisticada, pero resolvía su propio problema. Hay decenas de miles de términos de aviación en forma abreviada. Incluso para un piloto experimentado con más de 20 años de experiencia en aviación, es imposible recordar todos los acrónimos y términos técnicos. En lugar de utilizar un diccionario impreso, pensó en crear una aplicación práctica para que los pilotos pudieran buscar todo tipo de términos de aviación. Una idea sencilla, pero genial para resolver su propio problema.
Otro ejemplo es la aplicación NOAA Buoy Data. Aunque esta aplicación ya no está disponible en la App Store, quiero citarla como ejemplo. La aplicación fue diseñada para recuperar los últimos datos meteorológicos, de viento y de olas del Centro Nacional de Boyas de Datos (NDBC) de la Administración Nacional Oceánica y Atmosférica (NOAA). Desarrollada por Leo Kin, se le ocurrió la idea de la aplicación durante su recuperación de la operación.
«Después de la operación, tuve que llevar un collarín durante tres meses. Durante esos tres meses, no podía moverme mucho e incluso me costaba caminar o incluso levantar los brazos. Mi fisioterapeuta me aconsejó que caminara todo lo que pudiera para hacer ejercicio y recuperar los músculos atrofiados de las piernas.
Hay una isla cerca de donde vivía a la que me gustaba mucho ir caminando. El único problema era que sólo se puede llegar a ella durante la marea baja. Y si subía la marea, no había forma de volver a casa, salvo nadando. Como estaba muy debilitado físicamente, tenía mucho miedo de quedarme atrapado en la isla sin poder volver. Mientras caminaba, siempre iba a la página web de la NOAA para comprobar lo alta o baja que era la marea y si tenía tiempo suficiente para caminar hasta la isla y volver.
Durante una de mis caminatas, se me ocurrió la idea de que debía construir una app. Aunque nadie más usara la app, no importaría porque me ayudaría a seguir las mareas y a volver a tiempo.»
– Leo Kin
Su app puede no interesarte, pero estaba resolviendo un problema al que se enfrentaba en ese momento. Probablemente la gente de esa isla también se beneficiaría de su app.
Tener tu propia idea de aplicación te dará un objetivo claro y te motivará a seguir aprendiendo. Ahora dedica un poco de tiempo y anota tres ideas de app a continuación:
Resumen
Eso es todo para la introducción. Dedica algo de tiempo a instalar Xcode en tu Mac, y a idear tu propia app. Aunque no te enseñe a construir exactamente la misma app, aprenderás las técnicas de codificación que te capacitan para construir tu propia app.
Cuando pases al siguiente capítulo, empezaremos a programar en Swift.
Así que prepárate