Noticias

Swift ya compila y pasa todos los test en Windows

Comienza la cuenta atrás para su soporte en el sistema operativo de Microsoft

Swift es un lenguaje abierto, multiplataforma y multipropósito. Esto quiere decir que es un lenguaje que al ser clasificado como de propósito general, cualquier tipo de algoritmo que queramos realizar podría ser representado usando este lenguaje. Un paradigma igual a otros lenguajes como C, Javascript, Python o C#. Lenguajes que pueden ser usados para infinidad de propósitos, usos en librerías, herramientas…

Vamos a mirar, por ejemplo a C. C está presente en el núcleo de todos los kernels de sistema hoy día, también en muchas APIs que se manejan (incluso en Swift) y es omnipresente en cualquier sistema o arquitectura. C puede ser usado para compilar y generar código binario capaz de ejecutarse en cualquier plataforma o sistema operativo actual.

Podemos ir más allá: C#. Un lenguaje que puede ser usado para crear apps para el sistema operativo Windows, o para hacer apps en Mac usando la librería Xamarin o para programar videojuegos en la herramienta Unity. Eso es un lenguaje de propósito general: que permite expresar cualquier algoritmo en cualquier entorno o librería y luego es capaz de compilarse y ejecutarse en múltiples plataformas o entornos.

Ese es el objetivo de Swift desde 2015 como lenguaje, pero para llegar a ello ha necesitado evolucionar… primero tener una API estable con Swift 3, luego ser estable binario con Swift 5, después tener módulos binarios con Swift 5.1… y el objetivo en Swift 6 es el paradigma multiplataforma.

Swift llega a Windows

Con este propósito, Swift ha llegado a Windows, el sistema operativo de Microsoft. Lo primero que tenemos que entender es que Swift está hecho en C, con algunas capas en código binario de las plataformas donde funciona (el núcleo Darwin que hace que funcione en macOS, iOS y resto de sistemas de Apple), así como en Linux. Y Swift, como desarrollo, tiene que poder compilar en un sistema operativo para poder ser usado en este.

Eso supone que compile el lenguaje, su compilador y todos sus componentes, y que estos sean capaces de generar código binario ejecutable que cada sistema operativo donde tenga soporte sea capaz de entender. Esto solo sucedía hasta ahora en Linux y los sistemas de Apple, pero ahora ya sucede también en Windows.

La arquitectura de compilación que usa Swift para sí mismo, LLVM, funciona en Windows desde hace mucho tiempo pues es un arquitectura de compilación multiplataforma, que incluso es usada por la propia Microsoft en algunas partes de su ecosistema de desarrollo para su sistema. Así que había que conseguir que Swift compilara en Windows y que lo que Swift genera sea ejecutable en el mismo Windows.

Resultado de pasar los test unitarios de Swift en Windows
Resultado de pasar los test unitarios de Swift en Windows

Y es lo que el equipo de Apple acaba de conseguir: la prueba de ello son los 1706 test unitarios que ha pasado correctamente el lenguaje y todos sus componentes en el sistema operativo de Microsoft, lo que abre la puerta a la fase final que le permitirá tener su compilador y todos los componentes necesarios para que funcione y sea capaz de crear programas que se ejecuten en Windows.

Algunos de los desarrolladores más emocionados a este respecto son, por ejemplo, los que trabajan con Swift de lado servidor porque eso supone que a partir de ahora Vapor también funcionaría en Windows y podría conseguir controladores de base de datos para trabajar con SQLServer de Microsoft (por ejemplo) e incluso para instancias de más alto nivel como bases de datos Oracle. También está más cerca el ansiado soporte de Swift en Visual Studio, por ejemplo.

Por ahora no podemos usarlo de una forma simple, pero calculamos que para la WWDC y la salida de Swift 6, donde uno de sus objetivos es la arquitectura multiplataforma, podremos bajar el lenguaje de Apple para Windows y empezar a usarlo, lo cual sin duda abrirá nuevas e interesantes puertas para nuestro querido lenguaje. Un saludo y Good Apple Coding.

Etiquetas

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.

Artículos relacionados

Botón volver arriba
Cerrar
Cerrar