8 sept. 2026
Una preview de SwiftUI debería permitirnos cambiar una vista y comprobar el resultado casi de inmediato. Sin embargo, esa ventaja desaparece cuando la previsualización necesita iniciar la aplicación, abrir una base de datos o esperar la respuesta de un servidor antes de mostrar contenido. La preview deja de ser una herramienta de diseño rápida y se convierte en otra ejecución frágil de la aplicación.
El problema no está en #Preview. Xcode compila y ejecuta el código que le entregamos, incluida cualquier tarea asíncrona iniciada por la vista. Si esa ruta alcanza el servicio de producción, la previsualización hereda su latencia, sus errores, sus credenciales y su dependencia de la conexión. La solución consiste en separar la obtención de datos mediante un protocolo e inyectar una implementación en memoria con escenarios estáticos.
Leer articulo7 sept. 2026
Rust y Swift comparten una promesa poco habitual: ofrecer seguridad de memoria sin depender de un recolector de basura. Ambos dos liberan recursos de forma determinista, permiten construir abstracciones de alto nivel y evitan gran parte de los errores que sufriríamos al gestionar punteros manualmente. Sin embargo, llegan a ese resultado desde puntos de partida muy distintos.
Rust hace que la propiedad de cada valor forme parte central del lenguaje. El compilador comprueba quién posee un recurso, durante cuánto tiempo puede prestarse y en qué momento deja de ser utilizable. Swift, en cambio, combina semántica de valor para struct y enum, conteo automático de referencias para las clases y un sistema de ownership que normalmente permanece oculto tras copias implícitas.
Leer articulo5 sept. 2026
El framework Observation dio un salto importante con @Observable, pero hasta ahora había una diferencia bastante grande entre lo que SwiftUI podía hacer automáticamente y lo que teníamos disponible fuera de una vista. En SwiftUI basta con leer una propiedad observable desde el body para que el sistema registre la dependencia y vuelva a evaluar la vista cuando cambie. En un controlador, un coordinador o una capa de infraestructura, en cambio, mantener una observación durante toda la vida de un objeto requería bastante más trabajo. Swift 6.4 y los SDK 27 incorporan withContinuousObservation precisamente para cubrir ese hueco.
Leer articulo4 sept. 2026
Apple ha incorporado en iOS 27 un nuevo framework llamado MediaIntelligence, pensado para entender conjuntos de imágenes y el contenido temporal de los vídeos directamente en el dispositivo. A primera vista puede parecer una nueva capa del framework Vision, pero su propósito es diferente: Vision produce observaciones sobre una imagen o un fotograma; Media Intelligence conserva resultados, relaciona elementos entre distintos recursos y responde a preguntas sobre una colección completa o una línea temporal.
Leer articulo3 sept. 2026
La concurrencia en Swift no consiste únicamente en ejecutar varias tareas a la vez. Una parte fundamental del modelo introducido con Swift Concurrency es impedir que dos contextos concurrentes accedan de forma insegura al mismo estado mutable. Sendable y @Sendable son dos de las herramientas que permiten al compilador comprobarlo incluso antes de que el código llegue a ejecutarse.
Sendable es un protocolo marcador. No define métodos ni propiedades que debamos implementar, sino una garantía semántica: un valor de un tipo Sendable puede transferirse entre distintos dominios de concurrencia sin introducir una carrera de datos. Esto ocurre, por ejemplo, cuando enviamos un valor a un actor, lo devolvemos desde una tarea o lo capturamos desde código que puede ejecutarse concurrentemente.
Leer articulo