Aprende a Programar Apps para iPhone con  Swift, SwiftUI y UIKit - lafactoriaapple

Qué es SwiftUI

SwiftUI aprovecha todo el poder de Swift para crear las Interfaces Gráficas de nuestras Apps de manera sencilla e innovadora. Con este conjunto de herramientas podremos crear las Vistas de nuestras Aplicaciones para todos los dispositivos Apple. Gracias a SwiftUI dejaremos de utilizar los Storyboards y el Interface Builder, los cuales serán reemplazados por un Editor de Código y una Zona de Previsualización (Canvas).

Fue presentado en la WWDC 2019 y ha supuesto un gran cambio en la forma de crear nuestras Apps.

SwiftUI tiene una Sintaxis Declarativa lo que implica que será mucho más sencillo crear las Interfaces Gráficas. Sin duda un gran cambio respecto al Código que se generaba con los Storyboards.

Ya no tendremos que utilizar UIKit para generar las Vistas de nuestras Apps

Esta nueva funcionalidad está disponible a partir de la versión 11 de Xcode, así mismo sólo los iPhone/iPad que tengan la versión iOS 13 en adelante, podrán ejecutar Apps creadas con SwiftUI (igualmente para las versiones iguales o superiores de tvOS 13, watchOS 6 y macOS Catalina 10.15). Si queremos que nuestra App sea compatible con versiones anteriores de estos Sistemas Operativos, entonces no podremos utilizar SwiftUI.

Xcode ha introducido las Previews para ver en tiempo real los cambios en nuestras Vistas conforme escribimos el código en SwiftUI, sin tener que compilar nuestra Aplicación.

No todo será escribir Código con SwiftUI, también se podrá hacer Drag and Drop al Canvas para colocar manualmente los elementos gráficos de nuestra App, generándose automáticamente el Código correspondiente.

SwiftUI no utiliza el Patrón MVC (Modelo-Vista-Controlador), las comunicaciones entre las distintas Vistas ahora se realizan utilizando la Librería Combine, siguiendo el Patrón MVVM (Modelo-Vista-Vista-Modelo).

A diferencia con UIKit, ahora no habrá Delegados ni Listener para atender las interacciones de los usuarios con la App.

Vamos a tener un único Framework para crear las Interfaces de Usuarios de todos los dispositivos Apple. El mismo Código de Interfaz de Usuario valdrá para todos los dispositivos, y será cada Sistema Operativo en cuestión el que se encargue de mostrar los elementos gráficos en la forma adaptada a cada dispositivo.

Se podrá portar el Código de Interfaz Gráfica entre todos los dispositivos, tan sólo habrá que hacer pequeños retoques para que la compatibilidad sea total. Todo esto lo conseguiremos con la mínima cantidad de Código.

Más en esta Sección