Francisco José García Navarro
Francisco José García Navarro
June 10, 2025

WWDC 2025: Liquid Glass, Swift 6.2 y un LLM dentro de tu app

WWDC 2025: Liquid Glass, Swift 6.2 y un LLM dentro de tu app
" Apple reescribe el diseño de iOS por primera vez en 12 años, corrige el rumbo de la concurrencia y abre su modelo de lenguaje on-device a los developers "

Apple acaba de hacer algo que no hacía desde 2013 con iOS 7: rediseñar de arriba abajo la interfaz de todo su ecosistema. Se llama Liquid Glass y es, junto con la nueva nomenclatura (iOS 26, no iOS 19), la señal más clara de que Apple considera esto el inicio de una nueva era.

Pero debajo del cristal hay cambios que importan mucho más a quienes escribimos código para vivir. Swift 6.2 reconoce que la concurrencia estricta fue demasiado lejos y da marcha atrás parcial con "Approachable Concurrency". Apple abre su LLM on-device a developers con el Foundation Models framework. Y Xcode 26 integra ChatGPT directamente en el editor.

He pasado toda la noche viendo sesiones después del keynote. Esto es lo que necesitas saber.

Liquid Glass: el mayor rediseño visual desde iOS 7

Empecemos por lo que todo el mundo ha visto: Liquid Glass es el nuevo lenguaje de diseño de Apple, inspirado en visionOS. Toolbars translúcidas, controles con profundidad, reflejos dinámicos, capas de vidrio que reaccionan al contenido detrás. Es bonito. Es llamativo. Y va a ser un dolor de cabeza para muchos equipos.

Lo importante para developers:

  • Si usas componentes estándar de UIKit y SwiftUI, la adaptación es en gran parte automática. UINavigationBar, UITabBar, UIToolbar y sus equivalentes SwiftUI adoptan Liquid Glass sin cambios de código. Los iconos de app tienen un nuevo formato multi-capa con profundidad, creado con la nueva herramienta Icon Composer.
  • Apple da un año de gracia. Puedes desactivar Liquid Glass en tu app y mantener el aspecto anterior durante un ciclo. Pero la deadline implícita es clara: para otoño de 2026, tu app debe tener el nuevo look.
  • Si tienes UI custom pesada (barras personalizadas, overlays, controles dibujados a mano), necesitas trabajo. Los materiales translúcidos, los efectos de profundidad y los nuevos estilos de barra requieren revisión manual.

El cambio de nomenclatura es significativo: ya no es iOS 19, es iOS 26. Todas las plataformas comparten el número del año: iOS 26, iPadOS 26, macOS 26 (Tahoe), watchOS 26, visionOS 26, tvOS 26. Apple quiere que el número represente cuándo estará disponible para usuarios, no una versión secuencial interna.

Para apps enterprise con ciclos de soporte largos, esto simplifica la comunicación con product managers y clientes: "soportamos iOS 26 y 25" es más intuitivo que "soportamos iOS 19 y 18".

Swift 6.2: Apple reconoce que fue demasiado lejos

Esta es la sección que más me interesa. Y la que más va a afectar a los equipos que, como nosotros, llevamos meses peleándonos con la concurrencia estricta de Swift 6.

Approachable Concurrency es la respuesta de Apple al feedback masivo de la comunidad: Swift 6 tenía razón en el objetivo (seguridad frente a data races) pero la ejecución era demasiado agresiva para apps móviles. Demasiados errores del compilador para problemas que no existían en la práctica. Demasiada ceremonia para código que no necesitaba concurrencia.

Swift 6.2 cambia el modelo mental:

Tu código es single-threaded por defecto. Los nuevos proyectos en Xcode 26 tienen Default Actor Isolation en MainActor. Todo corre en el main actor a menos que explícitamente digas lo contrario. Se acabó el baile de @MainActor en cada vista, cada ViewModel, cada callback.

// Swift 6.2 con Approachable Concurrency
// Esta clase corre en MainActor por defecto. Sin anotar nada.
class UserViewModel {
    var users: [User] = []

    func fetch() async {
        // Esto corre en el main actor (el caller's context)
        users = await api.fetchUsers()
    }

    @concurrent
    func processInBackground() async {
        // ESTO sí corre en background. Lo marcas explícitamente.
        let result = heavyComputation()
        // ...
    }
}

@concurrent es la nueva anotación para decir "quiero que esto corra en el thread pool concurrente". Es opt-in, no opt-out. El principio es progressive disclosure: empiezas en single-thread, introduces concurrencia cuando la necesitas.

nonisolated(nonsending) es el nuevo comportamiento por defecto para funciones async nonisolated: corren en el contexto del caller, no saltan al executor global. Esto elimina una categoría entera de errores de Sendable que aparecían cuando una función async se ejecutaba en un contexto inesperado.

Lo que esto significa en la práctica: si activaste Swift 6 language mode y te encontraste con cientos de errores, Swift 6.2 con Approachable Concurrency debería eliminar una parte significativa de ellos. Apple incluso incluye herramientas de migración automática.

Mi recomendación: si estabas esperando para migrar a Swift 6, este es el momento. Swift 6.2 con Approachable Concurrency es lo que Swift 6 debería haber sido desde el principio.

Otras novedades del lenguaje:

  • InlineArray: arrays de tamaño fijo con almacenamiento inline, sin allocación en heap. Sintaxis: var buffer: [50 of UInt8].
  • Span: alternativa segura a buffer pointers para acceso a memoria contigua.
  • Interoperabilidad mejorada con C++, Java (proyecto swift-java en desarrollo activo), y JavaScript.
  • Swift Testing: ahora soporta attachments custom para triaje de fallos y exit tests para verificar código que debe terminar bajo condiciones específicas.

Foundation Models: un LLM on-device para tu app

Aquí está la apuesta fuerte de Apple en IA para developers. El Foundation Models framework da acceso directo al LLM on-device de Apple Intelligence (un modelo de ~3B parámetros) mediante una API Swift nativa.

import FoundationModels

let session = LanguageModelSession()
let response = try await session.respond(
    to: "Resume este texto en 3 puntos clave: \(text)"
)
print(response.content)

Las capacidades clave:

  • On-device, sin red: corre enteramente en el dispositivo. Los datos nunca salen. Funciona offline. Para apps enterprise con requisitos de privacidad, esto es exactamente lo que se necesitaba.
  • Generación estructurada: con @Generable y @Guide defines tipos Swift que el modelo devuelve directamente. No parseas strings — obtienes structs tipados.
  • Tool calling: el modelo puede invocar funciones que defines en tu código. Le das herramientas (buscar en base de datos, llamar a una API) y el modelo decide cuándo usarlas.
  • Streams: el modelo genera tipos parcialmente mientras procesa, para mostrar resultados incrementales en la UI.
  • Playground en Xcode 26: puedes experimentar con prompts directamente en Xcode sin escribir código de app.

Limitaciones importantes: el modelo on-device no está diseñado para conocimiento general ni razonamiento avanzado. Es bueno para resumen, clasificación, extracción de entidades, reformulación y tareas dirigidas. Para preguntas abiertas sobre el mundo, necesitas un modelo cloud. Solo disponible donde Apple Intelligence está disponible.

Mi opinión: para casos de uso enterprise — clasificar tickets de soporte, extraer datos de texto libre, resumir documentos, generar respuestas predefinidas — el Foundation Models framework es extremadamente valioso. Privacidad por diseño, sin coste de API, sin latencia de red. Es el tipo de IA que un CTO puede aprobar sin consultar al DPO.

Xcode 26: ChatGPT integrado y mejoras de build

ChatGPT llega a Xcode sin necesidad de cuenta ni API key. Los developers pueden usar el modelo para escribir código, debuggear y documentar directamente en el editor. También puedes integrar otros LLMs mediante API keys propias.

Más allá de la IA, Xcode 26 trae mejoras prácticas:

  • Swift Build open-source: Apple unifica los sistemas de build entre Xcode y Swift Package Manager. Esto es enorme para CI/CD y builds en servidor.
  • Grabación de UI tests: interactúas con tu app y Xcode genera el código de test automáticamente, incluyendo grabación de vídeo para identificar fallos. Esto baja drásticamente la barrera de entrada para UI testing.
  • String Catalogs mejorados: generan símbolos Swift automáticamente para autocompletar, y añaden comentarios de contexto para traductores.
  • Extensión Swift para VS Code: nuevo panel de proyecto, herramientas de DocC, indexación en background por defecto, y soporte LLDB integrado.
  • Containerization framework: permite crear, descargar y ejecutar contenedores Linux en Mac. Optimizado para Apple Silicon. Para equipos que necesitan entornos de servidor local para testing, esto elimina la dependencia de Docker.

SwiftUI: Chart3D, Liquid Glass automático y accesibilidad

SwiftUI adopta Liquid Glass automáticamente en sus componentes estándar. Las barras de navegación, tab bars y toolbars ganan el efecto translúcido sin cambios de código.

Chart3D es la novedad más visual: Swift Charts ahora soporta gráficas tridimensionales. PointMark, RuleMark y RectangleMark aceptan un eje Z para posicionar datos en el espacio. Para apps de datos científicos, financieros o de IoT, esto permite visualizaciones que antes requerían librerías de terceros.

SF Symbols 7 llega con más de 6.900 símbolos, nuevas animaciones y soporte para gradientes. Los nuevos iconos de app multi-capa se crean con Icon Composer, una herramienta dedicada que genera las capas de profundidad necesarias para Liquid Glass.

Accessibility Nutrition Labels: accesibilidad declarativa

Esta novedad me emociona especialmente porque conecta directamente con la European Accessibility Act, que acaba de entrar en vigor este mes de junio. Apple introduce Accessibility Nutrition Labels, un sistema declarativo para que las apps publiquen su nivel de soporte de accesibilidad.

Es conceptualmente similar a las Privacy Nutrition Labels del App Store: declares qué features de accesibilidad soporta tu app (VoiceOver, Dynamic Type, reduce motion, etc.) y esa información se muestra a los usuarios.

Para apps enterprise en Europa, esto se alinea perfectamente con los requisitos de la EAA. Ya no es solo cumplir en el código — es declarar públicamente tu nivel de cumplimiento.

App Intents: más profundo con Apple Intelligence

App Intents sigue expandiéndose como el framework central de integración con el sistema. Las novedades más relevantes:

  • Shortcuts con Apple Intelligence: los Shortcuts ahora pueden invocar directamente el LLM on-device o Private Cloud Compute. Un usuario puede crear un shortcut que usa IA para comparar transcripciones de clase con sus notas.
  • Intelligent Actions: un nuevo tipo de shortcut habilitado por Apple Intelligence que permite acciones contextuales más sofisticadas.
  • Spotlight mejorado: busca archivos, carpetas, eventos, apps y mensajes, todo rankeado por relevancia usando IA. Puede ejecutar tareas directamente (enviar email, crear nota, reproducir podcast).

Más novedades relevantes

  • macOS 26 Tahoe: Liquid Glass llega al Mac. iPhone Mirroring mejorado. Spotlight completamente rediseñado con IA.
  • iPadOS 26: ventanas redimensionables y movibles reales, barra de menú estilo Mac accesible con swipe, app Preview nativa para PDFs, Files con vista de lista y columnas ajustables.
  • watchOS 26: Workout Buddy (coach virtual con IA que analiza frecuencia cardíaca, distancia, ritmo y Activity Rings). Smart Stack con sugerencias contextuales. Gestos de una mano para Series 9/10/Ultra.
  • visionOS 26: compatibilidad con mandos PlayStation VR2 Sense y Logitech Muse (stylus). Spatial widgets mejorados. Personas más realistas.
  • Translation API: acceso programático completo a los modelos de traducción de Apple, incluyendo traducción en vivo durante llamadas FaceTime.
  • Network framework: integración nativa con Swift Concurrency. Sintaxis declarativa para definir el protocol stack. Send/receive como funciones async.
  • MLX: framework open-source de Apple para computación numérica y ML en Apple Silicon. Ejecutar modelos como DeepSeek directamente en Mac con M3/M4 Ultra.

Conclusión: qué hacer ahora

La WWDC 2025 es una WWDC de corrección de rumbo y nueva visión. Liquid Glass marca una nueva era visual. Swift 6.2 arregla lo que Swift 6 rompió. Y el Foundation Models framework abre la puerta a IA on-device sin compromisos de privacidad.

Si tuviera que elegir tres acciones concretas para un equipo iOS enterprise:

  1. Activa Approachable Concurrency y Default Actor Isolation en MainActor. Si estabas atascado con la migración a Swift 6, Swift 6.2 es tu momento. El modelo mental es mucho más simple: todo en main actor, @concurrent cuando necesites background. Empieza con un módulo de prueba.
  2. Evalúa el Foundation Models framework para tus casos de uso. Clasificación de texto, resumen, extracción de entidades, generación de respuestas predefinidas — todo on-device, sin API costs, sin latencia, sin preocupaciones de privacidad. Haz un prototipo esta semana.
  3. Revisa tu app con Liquid Glass activado. Si usas componentes estándar, la adaptación debería ser mayormente automática. Si tienes UI custom, identifica qué necesita trabajo ahora. Tienes un año de gracia, pero no lo dejes para septiembre de 2026.

Ha sido una WWDC con mucha sustancia debajo del brillo del cristal. Liquid Glass acapara los titulares, pero Approachable Concurrency y Foundation Models son los cambios que van a impactar tu código diario. Toca explorar.

¿Necesitas ayuda con la adopción?

💡 ¿Tienes un proyecto que necesita migración? Podemos ayudarte a hacer la transición de forma eficiente y sin interrupciones en tu flujo de desarrollo.

📩 Contáctanos aquí para más información.

Share:
Sobre el autor
Francisco José García Navarro

Francisco José García Navarro

Francisco José García Navarro es el cofundador y CEO de AtalayaSoft e ingeniero de software iOS experimentado con más de 25 años en desarrollo de software. Especializado en aplicaciones iOS nativas, Francisco tiene una amplia trayectoria trabajando con clientes de alto perfil como Banco Santander, Fox International Channel, Repsol y National Geographic.