¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 4)

trabajando-de-forma-divertida-con-un-mac-de-apple

¿Que es Swift? Es muy potente: enum, programación funcional, map, filter, estructuras, protocolos y extensiones. Te cambia la manera de desarrollar aplicaciones móviles.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el tercer post Ginés nos contó todas las actividades divertidas que puedes hacer en Estocolmo.

Os dejamos el cuarto post.
¿Qué es Swift al programar una app?
La verdad es que ha sido un cambio para desarrollar aplicaciones de iOS. Un cambio abismal.

Yo venía de desarrollar aplicaciones para Objective-C. Estaba acostumbrado al lenguaje y me resultaba un lenguaje cómodo de usar. Al principio, un poco complicado, pero era cómodo porque tenías todas las estructuras. Digamos que Apple, los ingenieros de Apple, proporciona todas las estructuras de los eventos, como el viewDidLoad. Cuando creabas un UIViewController, tenías un pequeño esqueleto a la hora de desarrollar una aplicación que te permitía hacer cosas.

Cuando llegó Swift fue como una explosión. Es un lenguaje que se escribe diferente. Es un poco parecido a Java a la hora de escribir. Pero utiliza programación funcional, que yo había utilizado muy poquito. Que ahonda mucho más en los protocolos, luego hablaré un poco más sobre ellos. Ahora se pueden crear estructuras que no estabas acostumbrado a utilizar. Éstas te proporcionan una versatilidad y potencia abismal. Hasta llegar al punto que no solo se utiliza para el desarrollo de aplicaciones para iOS. También se utiliza para el desarrollo de backend en empresas como Facebook.

Es un lenguaje de programación muy potente. Es muy potente, por ejemplo, porque tenemos los enum puedes hacer cualquier cosa con ellos. Es una herramienta súper potente, es que puedes crear no solo el enum, te permite llamar funciones, te da mucha versatilidad si quieres crear como varios tipos, o un tipo que tiene varios tipos, por decirlo de alguna manera. Pero luego, también tenemos, como he comentado antes, la programación funcional que te permite manejar estructuras como los arrays. Con todo ese tipo de cosas, ya te vienen las funciones. Entonces ya no tienes que estar creando los for o bucles, como todo lo que dicen españolizando costumizado. Ya no hay que customizar tanto. Sabes que tienes map si sabes que vas a recorrer todo el array, o vas hacer un filter, vamos a filtrar. Se indica condición booleana y ya está. Entonces, al final, implica que estás escribiendo menos código.

También tenemos las estructuras, que es un poco un pequeño sustituto de las clases. Parece que a los ingenieros de Apple no les gusta que utilicemos las clases. Nosotros usamos mucho las estructuras y, la verdad, es que funcionan prácticamente igual y se supone que no estás trabajando con un objeto por referencia.

Al final también han potenciado, y es otra herramienta que te permite no usar clases aunque parezca raro, es la programación orientada a protocolos. Y lo que han potenciado muchísimo. Un protocolo te permite hacer cualquier cosa. Tú con un protocolo defines las propiedades que quieras utilizar, las funciones. La instancia que las quiere utilizar, adopta el protocolo y, automáticamente, tienes esas esa instancia tiene esas propiedades y esas funciones. Y luego puedes tener una implementación por defecto que es una extensión del protocolo. Eso da muchísima versatilidad y está funcionando bastante bien.

La transición de una manera de pensar para la programación orientada a objetos a una programación orientada a protocolos, más programación funcional, más enum que hace mil cosas, no es sencilla. La verdad es que es un lenguaje de programación muy potente y, cuando lo dominas, es muy práctico y muy cómodo. Escribes muchas menos líneas de código. Creo que la gente debe aprenderlo o intentar aprender un lenguaje de programación como este. Pensado en esta manera, porque te cambia totalmente la manera de pensar a la hora de desarrollar aplicaciones móviles.

En el quinto post Ginés desglosa las principales diferencias entre un programador y un ingeniero iOS, y como es la interrelación con el equipo de trabajo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

Inicia Sesión con tu Usuario y Contraseña

¿Olvidó sus datos?