Swift 5.1 ofrece estabilidad modular para estructuras binarias

0
23

Swift 5.1, una actualización del lenguaje de uso general de Apple, que sustituye a los lenguajes basados en C, introduce la estabilidad del módulo. La estabilidad del módulo permite a los desarrolladores de Swift crear marcos binarios que funcionarán con futuras versiones del lenguaje.

Swift 5.1 introduce un nuevo archivo de interfaz de módulo basado en texto que describe la API de un marco binario, permitiendo la compilación de código Swift utilizando diferentes versiones del compilador. Swift 5.1 también incluye envolturas de propiedades que introducen una sintaxis de propósito general para definir patrones de acceso personalizados para valores de propiedades, incluyendo almacenamiento específico de hilos, operaciones atómicas, inicializadores retardados y comportamiento de copia en escritura.

Otras nuevas capacidades y mejoras en Swift 5.1 incluyen:

  • Soporte para un modo de construcción de evolución de librerías, que permite a los desarrolladores realizar ciertos cambios en los tipos sin romper el ABI de la librería. Los desarrolladores pueden optar por no participar en esta función por tipo.
  • Actualizaciones de la biblioteca estándar, incluyendo soporte para manejar y actualizar diferencias en colecciones y tipos apropiados, mayor flexibilidad para acceder a una matriz y más APIs para trabajar con cadenas. Se realizaron mejoras en la API para trabajar con tipos SIMD, incluyendo el soporte para la extensión de vectores. La biblioteca estándar también añade un protocolo identificable para entidades que requieren identificadores únicos.
  • La palabra clave de retorno ya no es necesaria para las funciones de expresión única o getters.
  • Los tipos de resultados opacos permiten el uso de un tipo genérico para soportar diferentes tipos que se ajusten al mismo protocolo u ocultar los detalles de implementación en las APIs.
  • Self puede utilizarse para tipos de valores y clases.
  • El compilador sintetiza ahora los valores predeterminados de las propiedades con los inicializadores predeterminados.

Paul Krill, InfoWorld.com