Oro parece, sideloading no es
También un repaso a las novedades actuales y futuras de Swift, herramientas y trucos para facilitar el desarrollo de aplicaciones, y creación de mini juegos
Ya os veníamos avisando en ediciones anteriores que la DMA, o Ley de Mercados Digitales, de la Unión Europa iba a traer cola. Se han anunciado nuevos cambios en la distribución de aplicaciones para iOS que realizan los de Cupertino. Lo más importante, y la novedad en este caso, es la nueva forma de distribución mediante una página web. Ya no hace falta adherirse a una tienda de aplicaciones de terceros, pero algunas de las condiciones pasan por tener una aplicación con más de un millón de instalaciones en el último año. En resumidas cuentas, que no será una selva, y que se necesita la aprobación y notarización de la propia Apple. ¡Ah! Y por supuesto, no está exentas del Core Technology Fee.
No hay confirmación oficial, pero el anuncio repentino parece estar motivado por las voces discordantes acerca del cumplimiento de la nueva ley, pues no parecían suficientes los cambios anunciados anteriormente. La multa puede ser muy alta y la compañía ha preferido poner ya la venda, ante la gravedad de la posible herida. No sabemos si este será el último cambio, pero lo que si esperamos es seguir aquí para contároslo.
Saludo a developers, lo que no puedes perderte de Swift 5.10 y lo que vendrá en Swift 6
Los de la manzana han publicado una nueva edición de su suerte de newsletter mensual a modo de carta abierta a los desarrolladores. En ella aglutinan noticias y novedades, así como algunos artículos destacados sobre las herramientas y frameworks de creación de software para sus plataformas. Pese a que sólo referencia contenido de la propia empresa, es un must para mantenerse al día y para descubrir algún que otro truco o documentación que a lo mejor no teníamos en nuestro arsenal.
Si sois lectores habituales, ya sabréis que vamos por la versión 5.10 del lenguaje Swift. Es cierto que ya no hicimos eco de la noticia en la pasada edición, pero es más cierto aún que el compañero Donny Walls ha preparado una recopilación de los cambios más importantes que es canela fina.
Una característica de las última versiones de Swift que aún no hemos tocado son los paquetes de parámetros. Entre las mejoras más plausibles están la mejora en la implementación de vistas compuestas de SwiftUI como VStack y HStack, cuyo inicializador era distinto por cada número de parámetros que puede soportar, con un máximo de 10. Con esta característica se dotaba al lenguaje de sintaxis para crear este tipo de implementaciones mediante lógica. Para mejorar la implementación y soportar más casos de usos, Swift 6 prepara un cambio en cómo se construye esta característica del lenguaje. Sus desarrolladores nos cuentan los detalles en el blog de Swift.
Opcionales, TDD y visualización de datos
Ciertamente pecamos muchas veces de meternos demasiado en harina, así que hoy dedicamos una de las piezas a una característica básica y que define el lenguaje: los tipos opcionales. Desde SwiftLee nos muestran 5 cosas que deberíamos saber sobre ese misterioso interrogante que plaga nuestros códigos.
En el mismo blog nos encontramos otro artículo pero esta vez sobre algo muy distinto, el Test-Driven Development, o es cristiano, el desarrollo orientado a pruebas. Empezando por explicarnos que el primer paso del TDD es crear un test que falle, y luego crear el código para que éste se ejecute con éxito. Y concluyendo que no es todo blanco o negro, y que una buena estrategia es utilizarlo donde realmente suponga una ventaja, como en la resolución de bugs.
Al hilo de la resolución de errores, veamos una forma muy útil para depurar el trabajo con bases de datos. Cómo no, en el mundo Swift y Apple estamos hablando de nuestra querida, y a veces también odiada, librería CoreData. Os dejamos un estupendo artículo de AsynLearn sobre cómo visualizar la base de datos de nuestra aplicación cuando está instalada en uno de los simuladores de Xcode. Spoiler: una vez localizado, no es más que un archivo SQLite.
Actores y variables de entorno
Pese a que siempre me chirría castellanizar el término, qué juego dan los actores (el tipo actor). Parece magia que nuestro código asíncrono además de no bloqueante, sea seguro pero ojo, podemos bloquear el hilo principal en SwiftUI si no tenemos cuidado. Recordad que un gran poder, conlleva una gran responsabilidad.
Por un lado tenemos el MainActor, que asegura la ejecución en el hilo principal, y por ende la actualización de la interfaz. Pero por otro, también podemos crear actores globales para aislar y proteger la ejecución de nuestros tipos. En esta pieza tenemos una basta explicación y algún que otro ejemplo de cómo implementarlo.
Todas la aplicaciones, aunque no seas consciente de ello, utilizan variables de entorno para modificar el comportamiento en compilación y ejecución, según el sistema y la configuración sobre la que se ejecuten. Existen varias formas de uso según el lenguaje y las plataformas, pero en lo que a Swift se refiere, aquí tienes las formas más extendidas de gestionar este tipo de datos dentro de tus aplicaciones.
Minijuegos y pruebas de velocidad
Dos breves para terminar. La primera es la adaptación de Playdate a Swift. Se trata de una especie de motor de creación de videojuegos orientado a plataformas con muy bajos requisitos, que ha sido portado a Swift gracias al proyecto Embedded Swift.
En segundo término hablamos de la tercera versión de Speedometer, el medidor de rendimiento de los navegadores web más completo, desarrollado por el equipo de WebKit y abalado por los principales motores de renderizado web.
Nuevo Caffè Swift, IA generativa
¿Qué prepara Apple para los nuevos sistemas con la llegada de la IA generativa? En el último programa, que ya tenéis para escuchar como podcast en Cuonda o ver cómo vídeo en Youtube.
Arturo y Julio nos cuentan que han estado haciendo desde la última vez que grabaron, hace más de un mes, y descubrimos cosas muy interesantes sobre notificaciones del kernel Darwin o el protocolo Transferable de Swift.
Luego nos comentan las noticias más destacadas como la llegada de Swift 6 y luego se remangan para meterse en faena. ¿Cómo serán las herramientas de IA generativa que Apple lanzará el próximo junio en la WWDC? ¿Qué enfoque tendrá Apple? ¿Cómo funcionan las distintas capas de IA para optimizar los resultados lo mejor posible?
Una charla cafetera sobre el futuro del desarrollo en entornos Apple a través de los próximos asistentes de IA generativa de tipo MMLLM.
Y poco más
Os informamos de que ya van quedado menos plazas para la nueva edición de nuestra formación intensiva Swift Developer Program. Será impartido por Arturo Rivas y el pasado jueves pudimos ver un anticipo a modo de masterclass. La formación empieza el día 1 de Abril, podéis encontrar toda la información en nuestra web. Debido a la alta demanda hemos tenido que realizar 2 convocatorias del formato para este año.
Aquí cerramos la persiana una semana más. Esperamos vuestros comentarios, preguntas, y otras hierbas y matujos en nuestros canales habituales: correo electrónico caffeswift@gmail.com y la cuenta de X @caffeswift.
Nos leemos pronto, si Jobs quiere, y hasta entonces: un saludo y Good Apple Coding.