Esta es la continuación del post anterior, en este vamos a profundizar mas en temas del lenguaje, sobre todo en SwiftUI donde Apple ha mostrado mas mejoras, considero las siguientes como las mas relevantes.
- Swift Refactoring
Revisemos este apartado en la documentación de Apple, nos dice prácticamente que podemos aplicar “refactor” a una fracción del código para migrarlo al tipo “async”, seguramente no aplicara a todos los casos pero se agradece el cambio y me parece interesante, para adoptar async de manera mas rápida.
- Soporte Markdown para AttributedString en SwiftUI
Ahora podemos usar un cadena con atributos en SwiftUI usando el formato de markdown, y funciona de la siguiente manera:
let cadena = try AttributedString(markdown: "page link")
Link a la documentation de apple: https://developer.apple.com/documentation/foundation/attributedstring
- Nuevas funciones de Xcode 13.
Funciones de colaboración.
Xcode ahora agrega nuevas funciones de colaboración para el equipo de desarrollo, compatibles con Xcode Cloud, GitHub, Bitbucket y GitLab. Ahora podrás iniciar, revisar, hacer merge y crear pull request desde Xcode, ver los comentarios de tus compañeros de trabajo directamente en el código y comparar de manera rápida versiones diferentes. Algo que actualmente complementamos con otras herramientas pero que teniendo la integración directa se agradece demasiado, de los features que a mas de uno les va a gustar.
Comentarios en el código
Esta función también cae excelente, actualmente lo resolvemos desde la plataforma donde estemos trabajando. Pero tenerlo directamente en el IDE ahorrara mucho tiempo.
Comparación rápida.
Ahora podrás tener una vista que te permitirá comparar entre dos versiones del código y directamente desde el contexto actual de edición, otra función que nos ahorrara tiempo al momento de estar trabajando con nuestro código en un espacio colaborativo.
Cloud Signing
Ahora solo tendremos que colocar nuestro Apple ID y nuestra Mac estará configurada para desarrollo y despliegue basado en los roles que actualmente tengamos asignados en nuestra cuenta de desarrollo todo de manera automática.
Modo Vim
Muchas combinaciones de teclas y modos de edición familiares a los usuarios de Vim estarán soportado directamente en el editor de Xcode, en la barra de abajo podemos ver los indicadores de en qué modo estamos trabajando.
Reportes de caídas y comentarios
Todos los reportes de caídas que nos envían los usuarios desde Testflight aparecerán en la sección Organizer en Xcode en tan solo unos minutos, incluyendo los comentarios completos con el feedback de los testers, así nos podrán decir exactamente que es lo que paso cuando experimentaron la caída. El log de la caída será mostrado al darle clic y te enviara también de manera directa a la linea de código donde surgió la falla.
- Versión de compilación
Ahora la versión que se envie a revisión a la tienda podrá detectar si tenemos un número valido de compilación y si no es el caso o tenemos uno incorrecto o que se repite a uno anterior, nos dará la opción de aumentarlo de manera automatica, sin necesidad de subir una nueva versión.
Este creo que ayudara mucho también a evitar esos molestos intentos de subir de nuevo si se nos olvido aumentar el numero de compilación.
- Swift package manger collections
Están disponibles desde ya, es una excelente adición al actual manejador de dependencias de Apple y nos permite usar y especificar colecciones de dependencias principalmente para descubrir paquetes y decidir que paquetes son mejores para nuestro proyecto.
Esta diseñado para tener listas de provedores de paquetes que son de confianza y que es alguien en quien ya confias, en lugar de estar buscando por internet a ver que encuentras.
Actualmente ya hay una lista de proveedores oficial y son las siguientes:
- Swift Server Workgroup: Forman parte del proyecto de Swift y han publicado su colección que son proyectos incubados por el mismo grupo. https://swift.org/sswg
- Swift Package Index: Crearon un sitio web que de manera dinámica creara las colecciones de los paquetes de Swift. El sitio permitirá descargar colecciones completas de cualquier creador. https://swiftpackageindex.com
- Apple’s OSS Swift Package. Estas son la colección oficial y vendrá incluido de manera predefinida con Xcode 13.
Por ultimo también podrás crear tu propia colección y compartirla con todo el mundo. Estará utilizando un proceso de firmado similar al de las apps, para verificar autenticidad e integridad de los paquetes.
- AsyncImage
Este es un nuevo control para SwiftUI y nos permitirá establecer imágenes remotas en nuestras vistas, este control descargara por nosotros la imagen y la colocará de manera automática, podemos tener control en el como manejar los resultados, colocar un placeholder en caso de error todo a través del mismo control.
AsyncImage(url: model.imageURL)
Con estos increíbles cambios concluimos esta serie de post, sin duda en el futuro voy ir trabajando sobre algunos temas en especifico, comenzare a escribir algunos tutoriales sobre lo nuevo visto en la WWDC, pero mientras me gustaría saber que opinas de este nuevo blog y que te gustaría que publicara aquí, saludos a todos.