Hasta que SwiftUI, o la IA, manejen los errores, tendremos que hacerlo nosotros
También Swift fuera de Apple, IA y Vision Pro para seguir con el mainstream y los iconos como carta de presentación.
Tranquilo, sólo vamos a hablar del Apple Vision Pro en este primer párrafo y ya podemos seguir con nuestras vidas. Más allá de los diferentes hechizos que han necesitado los no estadounidenses para hacerse con unas (¡nosotros las hemos conseguido para la academia!), la noticia ha saltado al confirmarse que algunas de las aplicaciones más destacadas no estarán disponibles, al menos en el inicio. En Apple Coding Daily nos cuentan cómo la causa puede ser más debida a cómo está hecha la aplicación y que no se trate de una decisión estratégica.
SwiftUI es una maravilla pero tiene sus sombras
Apple ya advirtió que la mejor forma de hacer aplicaciones era utilizando el lenguaje Swift y el framework SwiftUI. Pues aquí creemos que es cierto. Uno de los elementos clave de cualquier aplicación son sus botones, y Keith Harrison nos cuenta cómo configurar su estilo y reutilizarlo en las vistas. Consejo off-topic: crear estilos de botones, textos (fuentes, variaciones y tamaños), iconos… simplifica enormemente cualquier cambio y mantiene la armonía dentro de la aplicación. La base de los estilos son los ViewModifier
, pero si lo que necesitas es crear un nuevo componente, tu mejor opción son los @ViewBuilder
como nos cuenta cuteiosdev.
Y no sólo eso, gracias a la composición de vistas podemos incluso crear botones con acciones asíncronas como en esta pieza de Thomas Duran, que nos ofrece un detallado tutorial sobre cómo hacerlo de forma sencilla. Y abundando en el gran melón que es la asincronía, desde iOS 15 en adelante tenemos la vista nativa AsyncImage para cargar imágenes de fuentes externas. Aunque la API está muy bien pensada, utilizar otras características de iOS para la caché, por ejemplo, no termina de ser demasiado intuitivo. Claro está que siempre podemos crear nuestra propia implementación de carga asíncrona de imágenes como la que nos proponen los compañeros de AsyncLearn.
No podemos evitar los errores, pero si gestionarlos
El tipado de errores lanzados por las funciones en Swift está visto para sentencia, y no tardaremos en verlo implementado en las siguientes versiones del lenguaje. Pero con el desarrollo actual y siendo organizados, en el blog Holy Swift tenemos un extenso artículo sobre el manejo controlado de errores, que hace posible no perder la cabeza a la hora de gestionarlos.
Si quieres ir incluso más allá, podríamos también controlar los reintentos de ejecución de un bloque de código en caso de error. Nos hemos topado con esta librería que propone una forma muy eficaz, y con su toque de syntactic sugar, para hacerlo. Además de incluir una documentación exhaustiva sobre como usarla, es Open Source y puedes ver el código de su autor.
Apple es (casi) Swift pero Swift no es sólo Apple
Si dejamos de lado el vetusto Objective-C, el lenguaje de programación por antonomasia en los productos de la manzana es Swift. Se trata de un lenguaje de propósito general, por lo que se puede utilizar en más sistemas y con otros entornos como Visual Studio Code.
Swift es un lenguaje abierto de propósito general que funciona también en Linux o Windows, gracias a que el mismo está desarrollado en C.
El sistema más evidente es Linux (pero Windows también) y el tipo de software que suele ejecutar este SO son las aplicaciones de lado servidor.
Después de casi un año de espera tenemos otra version alpha, la segunda, de la librería para desarrollar AWS Lambda con Swift. Aunque no es una versión final, damos fe de que hay ya código, incluso en producción, utilizando este framework con excelentes resultados.
Así es tu icono, así es tu app
Algo que muchas veces se nos olvida a las personas que trabajamos con aplicaciones en general, y desarrollando las mismas en particular, son los iconos de la aplicación.
Por encima de las imágenes de marketing en los diferentes stores, hay algo que sobresale, no sólo en el momento de la descarga, si no en todas y cada una de las interacciones del usuario con la app.
Os dejamos una pieza del blog Create with Swift donde argumentan la importancia que tienen la elección y el diseño del icono. En el artículo encontrarás todos los lugares y las ocasiones en que es visto, así como consejos y guías de diseño para los sistemas de Apple.
Esta es probablemente la IA que esperamos de Apple
Permítenos hablar de Samsung, concretamente de su móvil recién presentado, y buque insignia de la marca, el Galaxy S24. La principal novedad es la IA, integrada hasta en el último rincón del sistema y, en la medida de lo posible, ejecutada en local por sus nuevos procesadores creados específicamente para estar tareas. ¿Ejecución en local? ¿Procesadores especializados? Me suena de algo…
La tendencia es incluir modelos entrenados en los terminales móviles. Los pros: privacidad, mayor rapidez, entrenamiento personalizado. Los contras: menor potencia y modelos mucho más simples.
Son rumores, o no tanto, pero Apple parece estar en la misma carrera, saldremos de dudas dentro de apenas 5 meses en la WWDC. Parece que el camino es el contrario a modelos como GPT: en lugar de un modelo enorme y multimodal, serán modelos pequeños y específicos para cada tarea, de forma que se puedan ejecutar en local con mucha menor potencia. El punto que más nos esperanza nos da, es que gracias a todos los datos que tu iPhone conoce, es posible que se suplan la falta de potencia con una mayor especialización. ¿Quién sabe?
Y poco más
Hasta aquí la segunda edición de la newsletter Caffè Swift. Mil gracias por la acogida que hemos recibido y esperamos seguir cumpliendo tus expectativas. Estamos siempre abiertos a sugerencias y si quieres contactar con nosotros, puedes hacerlo en caffeswift@gmail.com o a través de nuestra cuenta en X como @caffeswift.
Nos leemos pronto, si Jobs quiere, y hasta entonces: un saludo y Good Apple Coding.