Swift 5 llega a Xcode 10.2 Beta y acerca su fecha de lanzamiento al público

Posted on Actualizado enn

Desde el lanzamiento del lenguaje de programación Swift en 2014, su ciclo de evolución ha coincidido siempre con el de iOS y las versiones mayores de Xcode. Así fue en su lanzamiento que coincidió en ese momento con iOS 8. Cada nuevo junio nos traía la versión beta y cada septiembre la versión final. Pero eso ha cambiado a partir de 2018.

Como ya comentamos en el artículo del lanzamiento de Swift 5 en versión de desarrollo el pasado mes de diciembre, el lenguaje se enfrenta a un proceso de estabilidad binaria en su librería estándar que ha requerido más tiempo y trabajo por parte del equipo tras el proyecto de código abierto (tanto de Apple como de empresas externas o colaboradores independientes) para conseguir este hito. Por lo tanto, en junio del año pasado en la WWDC se presentó Swift 4.2 como versión menor que acompañó al lanzamiento de iOS 12 y se dijo que Swift 5 llegaría a comienzos de 2019.

Y así parece que va a ser ya que el pasado día 24 de enero Apple lanzó la primera beta de su versión de primavera de todos sus sistemas operativos (cuya versión final se lanzará, presumiblemente, en la última semana del mes de marzo). Junto a iOS 12.2 y el resto de sistemas, también se lanzó Xcode 10.2 Beta. Con una enorme novedad: Swift 5 ya forma parte de Xcode.

Este año tenemos una pequeña divergencia ya que la versión final mayor del lenguaje llegará antes con una versión menor de los sistemas, creando su propio ciclo de evolución.

En cuanto a compatibilidad, si tenemos un proyecto aún en Swift 3, Xcode 10.2 pierde soporte para esta versión del lenguaje, por lo que no podremos ni siquiera abrirlo. Tendremos que usar la versión 10.1 para abrir el proyecto en Swift 3 y convertirlo a Swift 4.2. Con ello conseguiremos que el proyecto esté preparado para sufrir el siguiente paso que Xcode 10.2 sí podrá hacer: migrar a Swift 5.

No obstante, no olvidemos que ahora mismo seguimos en versión beta por lo que un proyecto en Swift 5 aún no puede enviarse al App Store ni funcionará en ningún dispositivo que no tenga la versión beta de iOS 12.2, macOS 10.14.4, tvOS 12.2 o watchOS 5.2.

Esta versión de Swift, por primera vez, requiere una actualización paralela del sistema operativo para funcionar. La nueva versión del lenguaje Swift requiere un cambio en los sistemas operativos que lo usan, ya que la librería del lenguaje ahora está cargada en el sistema y no se copiará como hasta ahora en la app que generemos.

Todo lenguaje tiene un binario que permite a los binarios que se generan para ese lenguaje ser ejecutados y traducidos a código máquina. Pero hasta ahora Swift requería que la librería estándar del lenguaje se uniera como librería al ejecutable porque cada versión tenía llamadas completamente diferentes a nivel binario (no era estable).

A partir de la versión 5 esto ya no sucede, por lo que ahora la librería de Swift viene cargada en iOS, macOS, watchOS y tvOS como un recurso más. ¿Qué supone eso? No solo que al estar cargada en el sistema funciona mejor al estar como componente del sistema, también hace que (y esto es un caso real) una app vacía hecha en Swift, solo con una pantalla en blanco y nada más, pase de ocupar en nuestro dispositivo de 2.4MB a solo 24KB. Por lo tanto, todas las apps hechas en Swift no solo serán más rápidas a partir de iOS 12.2 y el resto de sistemas de primavera, también serán más livianas en espacio.

En cuanto al lenguaje en sí, solo se han realizado ajustes a alto nivel y bastante leves. Cualquier código que funcionará en Swift 4 podrá ser migrado a Swift 5 casi sin tocar una sola línea de código y simplemente con un análisis que busque alguna cambio que pudiera necesitar el código pero que estará soportado por el asistente de migración de Xcode.

Cuando vayamos probando esta versión y sus cualidades, os iremos contando más sobre el tema, pero somos testigos de un pequeño paso de esos que la mayoría no ven pero que mejorará mucho el rendimiento y estabilidad del sistema.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.