Si bastasen un par de newsletters... para resumir una WWDC
Como nuestro café, la conferencia ha venido cargada así que vamos a intentar poner un poco de orden para no atragantarnos. ¡Divide y vencerás!
Esta semana ha sido LA semana. Una Worldwide Developer Conference claramente dividida en 2 partes: una fue evolución de los sistemas operativos y otra, la manera en que Apple integrará la Inteligencia Artificial en ellos. El ritmo fue, como viene siendo habitual los últimos años, bastante frenético debido a la cantidad de cosas que quisieron enseñarnos.
Respecto a las novedades evolutivas, bastantes, no de un calado excesivamente profundo, pero si orientadas a que nuestros dispositivos sean más personales. Nuestra idea es que se trataba del camino a seguir desde hace tiempo, cumplir un roadmap que bien pudo ser diseñado hace años. La diferencia con lo que vino a continuación, significa que la irrupción de la IA le hizo a Apple ponerse la pilas. Creo que el llevarlo de forma paralela será todo un acierto, una cosa son los nuevos sistemas y otro la capa de Apple Intelligence. Una IA integrada que será también muy personal al contar acceso a los datos que tienes en tus dispositivos, y los cruza para proporcionar una información tan valiosa como precisa. Pero tranquilo, Todo casi todo, pasa en tu iPhone. Muy buena pinta, pero: en beta y en inglés a partir de otoño. Las cosas de palacio van despacio. Y según rumores con lista de espera.
Un apunte que no podemos dejar pasar antes de entrar en harina: casi la gran mayoría de las novedades presentadas está accesibles mediante APIs para ser incorporadas por los desarrolladores. Algo que, si bien empieza a ser tendencia, solía no ser así hace unos años. Demos gracias a Jobs, o quizás todo lo contrario… 🤔
Organización por favor
Apple lleva tiempo haciendo cambios en cuanto a la documentación. Desde el lanzamiento de librerías para crearla, organizarla y publicarla hasta integración con servicios para descubrir paquetes interesantes desarrollados por la comunidad. Esta vez ha sido un lavado de cara del punto de encuentro de toda la documentación para desarrolladores de sus sistemas. Más allá de retoques, tiene una landing de entrada que promete no ser sólo bonita sino también práctica para descubrir y encontrar documentación.
Tenemos una mudanza. Y no pequeña, porque toda la estructura del proyecto Open Source de Swift en GitHub, pasa a estar bajo el paraguas de la organización swiftlang. Ya no dependerá por tanto, de la misma estructura que el propio software de Apple. Desconocemos las implicaciones internas, pero nuestra intuición es que es algo más legal y organizativo que funcional ya que Apple no cambia su implicación en el proyecto.
SwiftUI es lo suficientemente maduro para seguir evolucionando
Si frenéticas fueron las charlas inaugurales, no lo son menos los What’s new de los grandes frameworks. Especialmente denso, fue el de SwiftUI. Nada del otro jueves, pero muchos pequeños detalles, por lo que este vídeo es un resumen que te recomienda acudir a otros, donde cuentan las novedades con más detenimiento. Hay que tomárselo con calma, es mucho contenido y ya sabemos que no siempre es posible aplicarlo los primeros días.
No sabemos si es la flexibilidad del framework o simplemente que aún está refinando comportamientos, pero hay varios cambios en la forma de construir aplicaciones. Afortunadamente, no rompen lo anterior así que keep calm and @available.
Una librería para testearlos a todos
Hay un muchachito nuevo en el barrio. Ya os adelantamos en su día, que dentro del proyecto de Swift, se estaba gestando un proyecto para crear una librería de testing más moderna que los XCTest, basada en macros y usando todas la capacidades del lenguaje Swift. Ha culminado en el framework Swift Testing y presentada en esta WWDC. Ejecución en paralelo por defecto, una sintaxis bastante sencilla para las comprobaciones, declaración de múltiples entradas… una maravilla oiga.
Lo mejor de todo, por si lo anterior fuese poco, es que será compatible desde Xcode 16 en adelante. Da igual que tu aplicación corra en sistemas anteriores a los presentados, que al ser algo a nivel lenguaje no habrá problema. Y puede coexistir con los planes de existentes. Porque testar también puede ser divertido. Y recuerda: este es el nuevo sistema de test unitarios por defecto en Xcode 16. ¿Sigue funcionando XCTest? Sí, claro. Pero si creamos un nuevo proyecto usará la nueva librería Testing que ya está cargada y forma parte del conjunto de Cocoa y Cocoa Touch.
Con la concurrencia hemos topado: Swift 6 no es tan fiero como lo pintan
El miedo a la comprobación estricta de concurrencia, y a los avisos que aparecieron cuando adoptaste Swift 5.10 en tu proyecto, debe desaparecer. Los porqués son varios. Algunos de estos avisos ahora serán errores, pero otros ya no porque el compilador a mejorado para analizar flujos y evitar falsos positivos. Otra ventaja es que se puede actualizar un proyecto a Swift 6 sin activar la comprobación si necesitas utilizar otras características desde el primer día. Incluso permite migrar librería a librería por si el proveedor de turno está perezoso.
Se trata de un nuevo modo del lenguaje, como se hiciera en alguna versión anterior que incluía cambios importantes. Esto permite realizar migraciones paso a paso y paquete a paquete. El golpe no ha sido tan duro y sin duda, un código libre de data races es mucho más robusto y predecible. Recuerda que, aunque en Swift 5.9 y anteriores no se mostrasen estos errores, no significa que no estuvieran ahí.
Teatro de variedades
Una de las APIs que más protagonismo ha tenido es la de animaciones y transiciones. Mucha tela que cortar: empezando por un nuevo tipo de navegación de pilas, se le suma la unificación de las animaciones entre plataformas (las de SwiftUI está disponibles en UIKit y AppKit). Por si fuese poco, se le unen nuevas transiciones y mayor control sobre las mismas en nuestros queridos SF Symbols. Todo un lujo para nuestra vista, y para nuestro código.
Las preview también se encuentran entras las funcionalidades agraciadas con novedades y mejoras. Una de ellas es un nuevo modificador que permite crear variables de estado, ya no tendremos que crear vistas embebidas y otros experimentos. Además, la compilación ahora se asemeja más a la de la propia aplicación, por lo que serán más ágiles y tardarán menos en refrescar los cambios. Supusieron un antes y un después en el diseño y prueba de interfaces gráficas y siguen evolucionando con el sistema.
Vision Pro: pocas novedades para el usuario, muchas para los desarrolladores
No podemos olvidar las expectativas de cómo Apple iba a avanzar con Apple Vision Pro y no decepcionó. Aunque en principio solo se habló que cosas de poco calado, como nuevos gestos para invocar el menú y poca cosa más, cuando levantamos el capó en la verdadera conferencia inaugural, el Platforms: State of the Union, la verdad que por dentro está cargado de novedades.
Ahora las empresas que hagan apps a publicar en el Business Manager de Apple podrán acceder a la cámara del dispositivo y ver lo que ve el usuario o al passthrough que monta la realidad con el mundo digital. Podrán usar el motor neural y con ello no habrá limitación a las posibilidades que sacar en aplicación industrial o empresarial al dispositivo.
También tenemos nuevos APIs como TableTopKit que nos permite colocar experiencias y objetos sobre superficies o una API volumétrica que nos permite modificar este tipo de experiencias como queramos (no como hasta ahora que tenían un tamaño fijo). Y por supuesto: ahora podemos colocar las múltiples ventanas y elementos de nuestra app donde queramos, con mucha más libertad.
Si quieres saber más de estas novedades, pásate por el directo que hicimos junto a Eduardo Herranz de Spatial Voyagers contando todas las novedades, que tienes aquí. Y no olvides que nuestra formación Vision Developer Program os daremos un adelanto de todo esto.
Y poco más
Tras una semana intensa, vuelta a la calma. Recordad que no hace falta verse todo el contenido, ni tiene que ser en los primeros días. El año que viene habrá otra WWDC y la rueda seguirá girando. A nosotros ya sabéis que nos encanta aprender cosas nuevas.
Durante las siguientes semanas prometemos traer las novedades más importantes para los desarrolladores, que hayan podido quedar sepultadas la avalancha del mainstream. Si queréis dejarnos un comentario o contarnos cualquier cosa, estamos en los canales habituales, nuestro correo caffeswift@gmail.com y la cuenta de X @caffeswift. Y pronto tendréis el primero de los Caffè Swift especial WWDC24.