¿Te suena el framework SwiftUI? ¡No nos extraña nada! Esta nueva forma para crear Apps de Apple se ha convertido en una gran sensación en libros, blogs y tutoriales, podcasts… Pero, ¿a qué se debe este gran interés? ¿Realmente es una herramienta de gran utilidad para desarrolladores? ¡Hoy en el nuevo post de Apple Coding Academy te lo contamos todo sobre el tema!
SwiftUI, ¿qué es exactamente?
Tal y como hemos adelantado brevemente, SwiftUI es un nuevo framework para crear Apps dentro del ecosistema Apple. Desde su presentación en la conferencia mundial de desarrolladores (WWDC) de 2019, ha marcado un antes y un después en la forma de desarrollar Apps para entornos Apple.
Siguiendo la línea de React Native y Flutter, este framework permite crear aplicaciones de manera declarativa. Es decir, los programadores no contarán con Storyboard o archivos XIB; en cambio, dispondrán de una vista previa mientras que avanzan con el diseño, cambiando el paradigma de declaración imperativa utilizado en la librería clásica Ulkit por la nueva programación declarativa mucho más moderna y eficiente.
Ventajas de la programación declarativa de SwiftUI
A diferencia de la programación imperativa, con la forma de diseño en la que se basa SwiftUI se declaran de forma abstracta las tareas que queremos llevar a cabo y el lenguaje se encarga de cómo hacerlo.
Gracias a la programación declarativa, cualquier posible modificación de estado quedará definida con anticipación, y la interfaz será capaz de responder ante estos cambios. Por lo tanto, el resto será inmutable.
¿El resultado? Aplicaciones iOS más compactas (necesitando menos código), seguras y reutilizables. ¿Sabías que conlleva una reducción entre un 35% y 50% en cuanto a costes y tiempo?
¿Es un framework multiplataforma?
¡Por supuesto! Otra de las grandes ventajas de SwifUI es su compatibilidad multiplataforma. Con su empleo, los desarrolladores podrán crear proyectos para todos los dispositivos Apple.
Por si fuera poco, el mismo código dará lugar a un aspecto diferente dependiendo del dispositivo en el que se ejecute.
Los property wrappers más importantes en SwiftUI
Si no estás familiarizado con el concepto de los empaquetadores de propiedad o property wrappers, una de las herramientas más útiles que nos ofrece el lenguaje Swift desde su versión 5.1, te contamos:
Como hemos mencionado anteriormente, las vistas de SwiftUI no tienen estado. Por lo tanto, si quieres modificar cualquier dato dentro de una vista, dentro de una pantalla hecha con SwiftUI, no puedes, ya que ninguno de los datos es variable o puede modificarse. Pero para ello están los empaquetadores de propiedades, que utilizan clases que sí son mutables.
De este modo, se genera una propiedad, la cual está conectada a la instancia de una clase, por lo que realmente estás tocando una clase completa unida a esa propiedad donde hay un valor (valor empaquetado), que es el que propaga ese dato. Con esta acción, se permite que sea mutable, haciendo que la vista reaccione. Por lo tanto, cada vez que hay un cambio en un empaquetador de propiedad de la propia view, la vista se invalida y se refresca.
Dicho esto, te vamos a hablar de 3 de los más importantes:
@State. Es una propiedad local a la vista que marca un estado de forma que cualquier cambio en él invalida la vista y la actualiza.
@ObservedObject. El contenedor de los viewmodels que forman parte de la arquitectura MVVM que utiliza SwiftUI, donde se guarda una instancia de una clase de tipo Observable Object, que dentro tiene propiedades de tipo @Published, las cuales actúan como un @State, pero permitiendo sacar la capa de datos fuera de la propia vista.
@Binding. Es la referencia a la propiedad interna de un @State o un @Published con el objeto de propagar la referencia del dato entre distintos componentes de vistas para que yo pueda tocar un elemento en la vista B a partir de la referencia y que reaccione en la vista A, porque yo he pasado la propia referencia.
Entonces, ¿merece la pena formarse en SwiftUI?
El mundo del desarrollo de Apps se encuentra en constante evolución y, del mismo modo que ocurre con el lenguaje de programación Swift, SwiftUI seguirá creciendo en un futuro.
Además, si tenemos en cuenta las numerosas ventajas que hemos comentado a lo largo del post, afirmamos que es necesario formarse en este framework si quieres especializarte dentro del entorno Apple.
Para ello, cuentas con la ayuda de Apple Coding Academy. En nuestra plataforma encontrarás una gran variedad de oportunidades para formarte en este ámbito, tanto si eres un particular como si formas parte de una empresa o institución. En caso de estar interesado, contáctanos. ¡Estaremos encantados de atenderte!