SwiftUI
Qué es
Imagina describirle una habitación terminada a un decorador en vez de mover tú mismo cada mueble. Así funciona SwiftUI. Es el declarativo de interfaz de usuario (UI, User Interface — la parte de la app que se ve en pantalla) de Apple para construir interfaces en todas las plataformas de Apple con un único conjunto de herramientas compartido. En lugar de cambiar las vistas paso a paso tú mismo, describes cómo debería verse la interfaz para un estado dado, y el framework mantiene la pantalla sincronizada a medida que ese estado cambia. Funciona en Xcode con un lienzo de vista previa en vivo, así que ves los cambios mientras escribes.
Fortalezas
- Declarativo y conciso — mucho menos código repetitivo que el enfoque más antiguo de UIKit/AppKit.
- Actualizaciones automáticas impulsadas por el estado mediante
@State,@Bindingy observación. - Las vistas previas en vivo hacen que iterar sobre el diseño sea rápido y visual.
- Un solo framework apunta a iPhone, iPad, Mac, Watch y TV con código compartido.
- Soporte incorporado para animación, accesibilidad, modo oscuro y tipografía dinámica.
Contrapartidas
- Las más nuevas (Application Programming Interfaces — Interfaces de Programación de Aplicaciones, bloques de construcción listos para usar) requieren versiones recientes del sistema operativo (SO, Operating System — el software central del dispositivo), lo que puede ser un problema si necesitas dar soporte a dispositivos más antiguos.
- Para interfaces muy personalizadas o poco comunes, a veces tienes que recurrir a la interoperabilidad con UIKit/AppKit.
- Algunos comportamientos son opacos, y depurar problemas de diseño o de estado puede ser frustrante.
- Evoluciona rápido, así que los ejemplos pueden quedar desactualizados entre versiones del sistema operativo.
Mejor para
SwiftUI es la opción correcta para apps nuevas en plataformas de Apple donde quieres avanzar rápido, mantener la base de código pequeña y apuntar a versiones actuales del sistema operativo. Encaja de forma natural con los tipos de valor y la concurrencia de Swift.
Encaje con vibe coding
SwiftUI se adapta bien a la construcción asistida por IA (Inteligencia Artificial) porque las vistas son pequeñas, componibles y autocontenidas — fáciles de generar para un modelo y fáciles de verificar para ti en el lienzo de vista previa. Pídele al asistente que modele el estado de la pantalla explícitamente con @State/@Observable, que divida las vistas grandes en subvistas pequeñas, y que impulse las listas a partir de datos identificables. Mantén una única fuente de verdad para el estado y deja que los bindings fluyan hacia abajo; esa única regla evita la mayor parte de la confusión en el código SwiftUI generado.
import SwiftUI
struct CounterView: View {
@State private var count = 0
var body: some View {
VStack {
Text("\(count)").font(.largeTitle)
Button("Add") { count += 1 }
}
}
}