Llegamos a ustedes gracias a:



Noticias

Swift 5.5 introduce async/await, concurrencia estructurada y Actors

[27/09/2021] Swift 5.5, la última versión del lenguaje desarrollado por Apple que pretende sustituir a los lenguajes basados en C, se ha publicado con capacidades centradas en la concurrencia y las colecciones de paquetes.

Descrito en un boletín del 20 de septiembre como un "lanzamiento masivo", se puede acceder a Swift 5.5 desde swift.org. La versión ofrece interoperabilidad de concurrencia con el predecesor de Swift, Objective-C, una propuesta que une las características de concurrencia de Swift y la expresión basada en convenciones de las funciones asíncronas en Objective-C. El objetivo es permitir que las API asíncronas de Objective-C sean inmediatamente utilizables con el modelo de concurrencia de Swift.

Aunque el desarrollo moderno de Swift implica una gran cantidad de programación asíncrona, las API han sido difíciles de usar, señaló el proyecto. Una capacidad async/await en Swift 5.5 define la semántica de las funciones asíncronas. Esta propuesta pretende hacer todo el proceso más natural y menos propenso a errores. Swift async/await también puede utilizarse para escribir y utilizar funciones que devuelven muchos valores a lo largo del tiempo. Este trabajo se ha realizado a través de la propuesta Async/Await Sequences.

Otra nueva característica, la concurrencia estructurada, se describe en las notas de la versión como la que permite la ejecución concurrente de código asíncrono con un modelo que es ergonómico, predecible y admite una implementación eficiente.

Otras nuevas capacidades de Swift 5.5:

  • Para el gestor de paquetes Swift (SwiftPM), se introduce el concepto de colecciones de paquetes en el ecosistema de paquetes. Las colecciones se crean como documentos JSON estáticos y contienen una lista de paquetes y metadatos adicionales por paquete. Se publican en un servidor web o en una infraestructura tipo CDN. SwiftPM adquiere una nueva interfaz de línea de comandos para añadir y eliminar colecciones y las indexará en segundo plano, permitiendo a los usuarios descubrir más fácilmente los paquetes de las colecciones.
  • Se introducen Actors. Un actor sirve como tipo de referencia (actor) que protege el acceso a su estado mutable.
  • Las envolturas de propiedades, introducidas en Swift 5.1 para abstraer los patrones de acceso comunes para las propiedades, se están extendiendo a los parámetros de las funciones y los parámetros de cierre. Anteriormente, esta capacidad estaba limitada a las variables locales y a las propiedades de tipo.