14 sept. 2026
Los sheet llevan años siendo una de las herramientas más habituales de SwiftUI para presentar contenido temporal. En el iPhone cuando está en vertical, el patrón funciona especialmente bien: la vista aparece desde la parte inferior, puede adoptar diferentes alturas mediante detents y mantiene clara la jerarquía entre el contenido principal y el modal.
El problema aparece cuando dejamos de pensar en una pantalla de iPhone con dimensiones prácticamente fijas. Con iOS 27, las aplicaciones de iPhone deben estar preparadas para ejecutarse en entornos redimensionables, incluyendo iPhone Mirroring y diferentes tamaños disponibles al ejecutarse en un iPad. En ese contexto, una presentación que siempre crece desde la parte inferior deja de ser necesariamente la mejor solución. En una ventana ancha y relativamente baja, un panel lateral puede aprovechar mucho mejor el espacio disponible.
Leer articulo13 sept. 2026
Durante años, hablar de Swift para la web ha significado casi siempre hablar del lado servidor. Vapor y Hummingbird permiten construir servicios HTTP, APIs y aplicaciones completas sin abandonar el lenguaje, pero la interfaz que recibe el navegador continúa escribiéndose normalmente con HTML, CSS y JavaScript. ElementaryUI propone dar un paso más: compilar Swift a WebAssembly y ejecutar en el navegador una interfaz declarativa y reactiva inspirada en SwiftUI.
El proyecto no ha aparecido de la nada. Su base es Elementary, una librería creada por Simon Leeb para generar HTML desde Swift en el servidor. ElementaryUI reutiliza esa misma sintaxis de elementos HTML, pero sustituye la salida de texto por nodos reales del DOM y añade estado, eventos, ciclo de vida y animaciones. Son dos piezas relacionadas, aunque todavía conviene entenderlas por separado.
Leer articulo12 sept. 2026
Durante años, throws ha tenido una limitación peculiar dentro de un lenguaje tan orientado al sistema de tipos como Swift: una función podía avisar de que fallaba, pero no podía expresar en su firma qué tipo concreto de error era capaz de propagar. Para el código que llamaba a esa función, el error recibido por catch era siempre any Error, aunque la implementación solo pudiera lanzar un único enum. Swift 6 corrige esta asimetría con los errores tipados, introducidos por SE-0413.
Leer articulo11 sept. 2026
Codable evita buena parte del código repetitivo necesario para convertir JSON, listas de propiedades y otros formatos en tipos de Swift. Sin embargo, cuando la estructura recibida no coincide con el modelo, la experiencia cambia por completo. El error contiene casi siempre la información necesaria para localizar el problema, pero hasta ahora aparecía enterrada entre nombres de tipos, valores opcionales y representaciones internas de cada CodingKey.
Swift 6.3 mejora esta situación mediante SE-0489. La propuesta hace que DecodingError y EncodingError adopten CustomDebugStringConvertible, de modo que su representación de depuración muestre el tipo de fallo, la ruta hasta el valor problemático y el contexto de una forma mucho más directa.
Leer articulo10 sept. 2026
Crear interfaces que se adapten correctamente a diferentes tamaños de ventana se ha convertido en una necesidad cada vez más importante dentro del ecosistema Apple. SwiftUI lleva años ofreciendo herramientas para construir interfaces flexibles, pero durante mucho tiempo muchas soluciones han terminado recurriendo a GeometryReader, tamaños calculados manualmente o valores almacenados como estado.
containerRelativeFrame() ofrece una alternativa mucho más declarativa cuando lo único que necesitamos es que una vista mida su tamaño en relación con el contenedor disponible. No necesitamos observar cambios de geometría, almacenar medidas ni introducir estado adicional: describimos la relación entre la vista y su contenedor y dejamos que SwiftUI la resuelva dentro del propio sistema de layout.
Leer articulo