Ejecutar SwiftUI preview en Mac OS Mojave

Uno de los grandes anuncios de Apple en el pasado WWDC fue sin duda el del nuevo framework SwiftUI. Este framework que cambia por completo la forma en como se hacen las interfaces para dispositivos IOS en el día de hoy llega con muchas novedades, pero puede que una de las que mayor ilusión hacen como desarrollador sea la de poder ver al momento como se va creando la interfaz que voy escribiendo en código y como esta va cambiando conforme mi código se modifica.

Esta forma de autorefresco de la pantalla de preview del código que estamos escribiendo va ser de mucha utilidad para nosotros por dos motivos principales, uno obvio, que vemos al momento el resultado de aplicar cualquier modificación que hacemos a un objeto y vemos como este quedará en la pantalla de nuestro terminal sin tener que compilar e instalar, y el segundo la ganancia en tiempos de desarrollo. 

Cada compilación e instalación para probar a ver que tal queda un efecto, o un color, o un borde, al final del desarrollo de una aplicación supone un tiempo considerable.

SwiftUI revolucionará la forma de crear interfaces para las aplicaciones IOS

SwiftUI está disponible para probar en beta desde el mismo día de su presentación aunque por desgracia para muchos de nosotros, para poder utilizar esta función tan resultona del live preview lo tenemos que ejecutar en una máquina que este corriendo Mac OSX Catalina. Por supuesto la versión de Catalina también está en beta y eso para los que no queremos tener una versión inestable del sistema operativo en nuestros equipos es una faena.

Por suerte salen a la luz pequeños trucos para poder quitarnos el gusanillo y probar SwiftUI en toda su extensión , incluyendo el live preview, sin tener que instalar Mac Osx Catalina, utilizando Mac Osx Mojave como sistema operativo. Eso sí, Xcode 11 es indispensable ya que SwiftUI solo es compatible con IOS 13 y esa versión solo está soportada por Xcode 11.

¿Qué hacer para utilizar SwiftUI preview con Mojave?

Para ver y probar todo el potencial de SwiftUI en Mojave, incluyendo el modo previo de vista, lo tenemos que hacer utilizando los playgrounds. De momento solo se puede mediante este tipo de proyectos.

Cuando creemos el payground con el que trabajar tenemos que añadir una línea de código al final del proyecto, y esta línea es la que hace toda la magia. Como veis en la captura esta linea de código es:

PlaygroundPage.current.liveView = UIHostingController(rootView: ContentView())

La clase que instanciamos como rootview del UIHostingController es la struct que devolverá la View padre de toda nuestra jerarquía de vistas de la pantalla que estemos haciendo.

No es lo mismo esta forma que utilizarlo directamente dentro de nuestro proyecto de Xcode, pero para ir practicando e ir probando todas las novedades que incorpora SwiftUI sí que nos puede venirnos muy bien.

Esperemos que en las betas venideras de Xcode se permita utilizar esta funcionalidad sin tener que disponer de Catalina como sistema operativo. Por lo que algunos dicen, en las presentaciones de la WWDC, algunos ingenieros de Apple tenían SwiftUI y el live preview corriendo en Macs con Mojave, por lo que técnicamente no parece que sea un impedimento. 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *