8. ¿Qué necesito aprender para crear aplicaciones para iOS?

Transcripción

Primera duda que puede tener cualquier persona que se plantee empezar a crear aplicaciones para iOS: ¿es difícil o puede hacerlo cualquier persona? Lo mismo que dije en el episodio 5: la programación, que será lo que necesitamos aprender para crear aplicaciones, no es algo que sea difícil, sino más bien complejo. Hay muchos conceptos nuevos y muchas cosas que aprender. Pero, es algo que, si se estudia poco a poco y se entiende, no es difícil.

Así que, ¿está al alcance de cualquier persona? Yo diría que sí, teniendo ganas de aprender y dedicando tiempo. Pero, obviamente cada persona es distinta y cada una necesitará más o menos tiempo para aprender todos estos nuevos conceptos.

Antes de ver qué pasos tenemos que seguir para aprender a programar para iOS, debemos saber qué tenemos exactamente que estudiar y cuál es nuestra meta final. Para ello, tenemos que ver los lenguajes de programación de iOS.

Lenguajes de programación utilizados en iOS

Cuando salió iOS con el lanzamiento del primer iPhone, el lenguaje con el cual se podían programar aplicaciones, se llamaba Objective-C. Sin embargo, en 2014, Apple lanzó un nuevo lenguaje llamado Swift que, hoy en día, es el principal lenguaje utilizado para programar para cualquier sistema de Apple.

Este nuevo lenguaje, va recibiendo año tras año nuevas actualizaciones y mejorándose a sí mismo. Actualmente estamos en la versión de Swift 3. Así que, hoy en día, tenemos dos opciones para programar una app en iOS: Objective-C o Swift.

Objective-C vs Swift

Ahora bien, ¿cuál deberíamos aprender y qué diferencias hay entre ellos? En primer lugar, Objective-C, era un lenguaje un poco más enrevesado, complejo y a bajo nivel podríamos decir. Swift, por lado, es un lenguaje más moderno, más parecido a lenguajes comunes de más alto nivel.

Generalmente, se necesitan más líneas para hacer lo mismo en Objective-C, que, en Swift, por lo cual podríamos hacer una conclusión rápida que Swift es un lenguaje más sencillo y más apropiado para estos tiempos.

Vistas estas diferencias y teniendo en cuenta que Apple lo creó hace poco y lo está actualizando constantemente, yo te recomendaría, sin ninguna duda, que aprendieras Swift. Y, es el que vamos a proponer aquí como ejemplo.

Barrera de entrada para programar para iOS

Perfecto, ahora ya sabemos que nuestro objetivo es aprender a programar en Swift, que es el lenguaje principal para crear aplicaciones para Ios. Ahora, tenemos que ver una pequeña barrera de entrada que tenemos a la hora de crear aplicaciones para iPhone, IPad, incluso Mac y todo lo que tienen que ver con el mundo Apple.

Resulta que, para crear aplicaciones en estos sistemas, necesitamos un programa llamado Xcode. Este programa, es el encargado de facilitarnos la vida a la hora de crear aplicaciones y nos permitirá convertir a todo nuestro código en una aplicación real.

Este programa, obviamente propiedad de Apple sólo está disponible en macOS, el sistema operativo que llevan todos los Mac. Con lo cual, quiere decir que necesitaremos un Mac para poder programar para iOS. Es una pequeña barrera de entrada que no tiene Android, donde puedes programar tanto en Mac, Windows o Linux, da igual el sistema en el que estés.

Pasos para programar para iOS

Visto este apunte, vamos a ver los pasos que tendríamos que seguir e iremos bastante rápido porque como ya hemos dicho, tenemos que seguir los mismos pasos de Android al principio.

El primero es la programación básica. Tendremos que empezar a estudiar todo esto de la programación y empezar a ver instrucciones básicas como los condicionales, los bucles o las variables.

El problema aquí, es que la mayoría del material que se puede encontrar en internet, de programación básica, no va a estar en Swift. La mayor parte de libros, artículos o cursos, suelen estar en otros lenguajes más generalistas o populares como Java o PHP.

Swift, como ya hemos visto, es un lenguaje muy reciente y que, además, nos sirve solamente para desarrollar para sistemas de Apple, lo cual ambas cosas contribuyen a que no sea un lenguaje muy popular a la hora de enseñar en la educación.

De todas maneras, en el caso de que no puedas encontrar un curso de iniciación en Swift, no pasa nada. Puedes aprender programación básica en Java que, al fin al cabo, es lo mismo. Luego, simplemente tendrás que aprender cómo hacer lo mismo en Swift, pero, verás como simplemente cambian cuatro pinceladas; el concepto que es lo más importante, es el mismo.

Dejaré en las notas del programa dos cursos para este paso. El primero es un curso de Udacity, completamente gratuito, pero en inglés, donde se ve programación básica con Swift.

El segundo es un curso también de Udacity enfocado para alguien que ya sabe programación básica y simplemente necesita ver cómo se hace en Swift. Este curso sería muy útil para lo que ya comentaba anteriormente, de aprender con otro lenguaje.

De todas formas, para alguien que no sabe nada de programación, yo le recomendaría aprender con alguno de los materiales que proponía en el capítulo 5, ya que entran más en profundidad a ver y entender los conceptos, aunque estén hechos en Java. Y, después, una vez que los conceptos están aprendidos, me iría a ver este curso que decía ahora de Swift, para gente que ya sabe de programación básica.

El siguiente paso, después de la programación básica (ya sea porque hemos hecho un curso de programación básica con Swift o, como recomiendo yo, haciendo uno de programación básica en otro lenguaje y luego pasar por Swift), es la programación orientada a objetos (POO).

Como comentábamos en el mismo capítulo 5 al que hago referencia, la POO es una forma de programar. Necesitamos estudiar a fondo todos los conceptos de POO porque iOS, al igual que Android, es un sistema totalmente orientado a objetos.

Creo recordar que los cursos de Udacity que decía antes, ya introducen la POO. Así que, de alguna manera, ya estaríamos aprendiendo esta programación. De la misma manera que recomendaba hacer un curso más completo de programación básica en otro lenguaje, lo mismo digo aquí.

Recomendaría hacer uno de los cursos de POO que proponía en el capítulo de Android y luego, extrapolarlo a Swift porque, una vez más, todo es lo mismo o casi igual. El concepto que es lo que realmente importa, va a ser el mismo. Con lo cual, es mejor incluso hacer un curso en otro lenguaje que entre más a fondo en los conceptos y luego, traducirlo a Swift.

Vamos al siguiente gran y último paso: aprender iOS. Ahora mismo, tendríamos que saber programar tanto a nivel básico como orientado a objetos, a través del lenguaje Swift. Ahora tenemos que estudiar de qué se componen las aplicaciones de iOS, crear interfaces de usuario, responder a los eventos, utilizar el hardware del móvil, etc. Todo ello lo haremos estudiando iOS, el framework.

Como dije en Android, lo mismo en iOS, este paso es infinito. iOS es un sistema enorme con miles de funcionalidades y es imposible saber utilizar todas y cada una de ellas. Se trata de obtener una buena base y a partir de ahí, ir aprendiendo a medida que los proyectos que hagamos, lo vayan necesitando.

3 recursos para aprender a programar para iOS

Para ello voy a dejar en las notas del programa, tres recursos, todos ellos bastante completos y que nos guiaran paso a paso a través de todo este mundo de iOS. El primero está en inglés y gratuito de la web que llevo diciendo todo el rato, pero es muy buena: Udacity y son una serie de cursos.

El segundo es en inglés también y es de una web de pago: Raywanderlich que está, sobre todo, especializada en el desarrollo de iOS. Son cursos en video que cubren desde lo más básico hasta incluso cosas bastante avanzadas. Por último, una web de cursos en español que ya mencioné en el capítulo de Android: Platzi, donde encontraremos varios cursos interesantes de desarrollo de iOS.

Ahora que en este podcast ya hemos temas de desarrollo en Android y iOS, nos falta una gran pieza del desarrollo de aplicaciones: el desarrollo back-end. Y si, esto será el tema del siguiente capítulo. Veremos temas de servidores, de comunicación con aplicaciones, bases de datos, etc. Empezaremos a indagar en todos estos conceptos que la gran mayoría de aplicaciones utilizan y hacen verdaderamente útil una aplicación.

Si solo programáramos en Android o iOS, sin un desarrollo back-end, la verdad que las aplicaciones no serían tan útiles como hoy en día. De todas maneras, por ahora vamos a dejarlo ahí y en el siguiente capítulo veremos todo lo que hay detrás del desarrollo o programación back-end.

Links:

Si te ha resultado útil este artículo puedes hacer que también lo sea para otras personas compartiéndolo en , LinkedIn o .

Como siempre para cualquier duda o sugerencia puedes contactar conmigo y estaré encantado de poder ayudarte.

¡Suscríbete

a la newsletter!

Simple y llanamente te mantendré al día una vez al mes a través de un email con artículos o noticias de interés relacionadas con el mundo de las aplicaciones móviles. ¡Nada de spam!