Home » Swift » Swift 3.1, hoja de ruta hasta primavera de 2017
Swift 3.1 Hoja de Ruta

Swift 3.1, hoja de ruta hasta primavera de 2017

Swift 3.1, la próxima versión del lenguaje, ya tiene una hoja de ruta de lanzamientos. Al igual que sucede con cualquier lenguaje de programación que se precie y que evolucione, Swift no se queda atrás y plantea nuevos retos en el futuro. Ted Kremenek, manager senior de lenguajes y runtimes en Apple, ha sido el encargado de publicar en el blog oficial de Swift el proceso de lanzamiento de la nueva versión.

El objetivo de esta nueva versión, el primero y principal, es conseguir la completa compatibilidad de código con Swift 3.0, a pesar de los cambios que se produzcan. El único caso en que el código de Swift 3.0 no será aceptado por el compilador de la versión 3.1 es cuando se trate de arreglos (bug fixes) del lenguaje. De esta forma, aquel código que sí hubiera sido aceptado por la versión 3.0 a raíz de un fallo en el compilador (porque no debería haberlo sido) será aquel que se rechace en esta nueva versión. Nada más.

El objetivo de Apple es que la versión 3 sea completamente estable y duradera en el tiempo, solamente incorporando nuevas funcionalidades y mejoras que amplíen las posibilidades sin cambiar la forma en que funciona el lenguaje. Solo añadidos, no cambios. Por otro lado, con la vista puesta en Swift 4 para otoño del próximo año, la idea es que el compilador pueda usar independientemente una u otra versión (la 3 o 4), por lo que siempre existirá la posibilidad para los desarrolladores de no evolucionar a la nueva versión 4.

Apple marca el 16 de enero como fecha límite de inclusión de cambios a esta versión 3.1, que a partir de esa fecha entraría en fase de depuración (pero ya no incluiría grandes modificaciones) y que permanecería en un estado de prueba y corrección de errores hasta su lanzamiento en primavera, presumiblemente con el lanzamiento de iOS 10.3 a finales de marzo o primeros de abril (coincidiendo con la salida de la renovación de la gama iPad).

A partir de ese fecha, es cuando se abrirán los repositorios de trabajo de Swift 4 que trabajarán en él hasta la WWDC donde se presentaría (presumiblemente) un nuevo SDK universal de Apple que sería compatible en funcionamiento con las versiones 3 y 4 y quedaría a elección del desarrollador si aprovechar las mejoras del lenguaje (y la consiguiente obligación en adaptar su código) o mantenerse en la versión anterior, la 3.

El branch de la versión 3.1 incluirá cambios en los siguientes módulos del lenguaje: swift, swift-lldb, swift-cmark, swift-llbuild, swift-package-manager, swift-corelibs-libdispatch, swift-corelibs-foundation, swift-corelibs-xctest, swift-llvm, swift-clang.

Según hemos podido averiguar, uno de los grandes focos de esta nueva versión es todo lo relacionado con el gestor de paquetes de Swift (tanto para Linux como macOS) que permite incluir frameworks y nuevas funcionalidades. Se pretende mejorar la eficiencia del mismo, la integración y rendimiento de los paquetes, y sobre todo, dar mayor fuerza a los proyectos de lado servidor (server-side) que el lenguaje ya tiene disponible. Para ello, hace unas semanas, Apple creó un grupo de trabajo con el objetivo de oír las necesidades de aquellos desarrolladores que realizan librerías para procesos en servidor con Swift e implementar dichas necesidades en código de bajo nivel del lenguaje y mejorar, con ello, el rendimiento de estos procesos mucho más.

Actualmente, Swift, como lenguaje de servidor, ya está dando importantes lecciones de velocidad y funcionamiento a grandes jugadores muy asentados en el mercado como Node.js o PHP, por lo que habrá que estar atento de la evolución de Swift, no solo para el desarrollo de apps o juegos, si no como lenguaje de futuro para procesos de servidor.

Comparación de rendimiento con Swift Server Side y Node.js

Como podéis ver en esta comparativa realizada por Ryan Collins y publicada el pasado octubre en su Medium (podéis leer el artículo en este enlace), los cuatro frameworks basados en Swift que fueron probados: Perfect, Vapor, Kitura y Zewo superaron en todos los casos a Node.js, lo cual hace ver muy seriamente la capacidad de Swift como apuesta de futuro para procesos en servidor.

Aprovechamos para invitaros a oír el último episodio de nuestro podcast, donde hablamos sobre lo que nos traerá 2017 en el mundo Apple y con Swift, y donde os sorprenderán algunas de las cosas que están por llegar. Un saludo y Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

Banner Swift 3 - ObjC

Interfaces entre Swift 3 y Objective-C

Analizamos el cambio de uso de interfaces de Objective-C y protocolos de Swift 3, y como ahora los tipos por valor y por referencia son tratados tal cual, de manera nativa, sin obligar a la transformación en objetos que se usaba hasta ahora en Swift 2. Además, se han incorporado nuevos protocolos y correspondencias que también analizamos.