Swift 5.3 funcionará en Windows y también en otras distros Linux diferentes a Ubuntu

Apple acaba de dar a conocer algo que muchos estábamos esperando hace ya algún tiempo. Cuando Apple lanzó Swift como código abierto y dio soporte oficial a Linux Ubuntu, hemos esperado que el lenguaje consiguiera la madurez suficiente para llegar a otros sistemas.

Hace ya cuatro años, el lenguaje ha ido evolucionando, mejorando, ha obtenido estabilidad de API, binaria, posibilidad de crear librerías binarias estables en el lenguaje… y ahora le toca el turno al soporte en otras plataformas.

Después del lanzamiento de Swift 5.2 con Xcode 11.4 y su correspondiente versión para Linux Ubuntu, Apple ha anunciado oficialmente el plan de lanzamiento para la próxima versión menor Swift 5.3 y por fin hemos llegado al esperado soporte multiplataforma: Windows y otras distribuciones Linux aparte de Ubuntu.

Swift es gratis y de código abierto, y está disponible para desarrolladores, educadores y estudiantes bajo la licencia de código abierto Apache 2.0. Apple proporciona archivos binarios para macOS y Linux que pueden compilar códigos para iOS, macOS, watchOS, tvOS y Linux. Además, para ayudar a que Swift sea un lenguaje aún más potente, crea una comunidad donde los usuarios pueden contribuir directamente con el código fuente.

El lenguaje no son las librerías

Por qué no se podían crearse apps de iOS en sistemas que no eran macOS. Básicamente es una cuestión de dependencias y librerías. Para crear apps para iOS se usan un conjunto de librerías que se conocen como Cocoa Touch. Estas librerías son las que dan soporte a trabajo en red, sonido, gráficos, animación, gestión de tareas, dibujo de interfaces, realidad aumentada, aprendizaje automático… Cocoa Touch como conjunto tiene cientos de librerías que resuelven cada pequeña o gran tarea que sea necesaria para crear una app.

Muchas de esas librerías, tienen dependencias: otras librerías de las que dependen a su vez. Y todas ellas, en su más alto nivel, dependen del núcleo del sistema macOS que es el mismo que usa iOS, iPadOS, watchOS o tvOS.

La dependencia no es más que, en su función, usar componentes de otras librerías y estas de otras, creando un árbol que llega hasta el núcleo del sistema operativo.

Así que si se quiere crear apps de iOS con la librería oficial de Apple, con Cocoa Touch y su kit de desarrollo (SDK) se tendria que conseguir que el núcleo Darwin y toda la jerarquía (árbol) de librerías que se usan funcionaran en un sistema como Windows o alguna distribución de Linux. Lo cual, como pueden imaginar, es hacer que macOS funcione en Windows como programa. Algo impensable.

Esto mismo pasa al contrario. No se puede programar apps de escritorio para Windows usando Mac o Linux, porque las dependencias de las librerías que usa Windows para ello están a nivel del propio sistema operativo.

El mismo paradigma que lleva pasando con lenguajes como C, C++ o C# durante muchos años, ahora podrá hacerse también con Swift. Un lenguaje de propósito general y multiplataforma.

¿Y por todo esto? Porque lo que Apple ha hecho es conseguir que el lenguaje Swift sea capaz de generar programas compilados que puedan ser ejecutados en sistemas operativos diferentes a macOS, como Windows o distribuciones Linux diferentes a Ubuntu. Y siempre que se pueda crear un programa en Swift y usar una librería en Swift cuya única dependencia sea el lenguaje o cualquiera de sus librerías integradas, este programa con el mismo código, podrá compilarse y ejecutarse en Windows, Linux o Mac.

No solo Swift

La llegada de Swift a sistemas como Windows abre una enorme oportunidad para crear soluciones de lado servidor, nuevas librerías multiplataforma, creación de programas en línea de comando, integración del lenguaje a herramientas ya existentes como Visual Studio y que pueda usarse Swift para crear apps para Windows, web u otros sistemas como ya se hace con C#. Siempre y cuando dichas librerías incorporen soporte para el lenguaje.

Es un primer paso, pero las oportunidades son infinitas. El propio lenguaje en su librería principal que le da soporte, lleva incluidas funciones de red o gestión de hilos y tareas y luego permite desde su gestor de paquetes incluir muchas más posibilidades con una cada vez más poblada comunidad volcada en dar funciones interesantes.

Y no solo Apple trabaja en ello: el equipo de Google de Tensorflow (la librería de aprendizaje automático) trabaja en el lenguaje para conseguir la interoperabilidad del mismo con Python y, de hecho, son los responsables de haber creado un instalador en fase de prueba con MSI (el instalador de programas oficial de Windows). Así que instalar el lenguaje y sus dependencias será cuestión de unos cuantos «Siguiente», «Siguiente»…

Todo esto llegará con el lanzamiento de Swift 5.3 que, presumiblemente, llegaría con las nuevas versiones mayores de los sistemas de Apple que se lanzarían a finales de mayo como iOS 13.5. Una vez lanzado, solo habrá que ir al sitio oficial de Apple, swift.org, bajar el lenguaje, instalarlo y punto.

Además, Apple ha incorporado el estándar LSP (Language Server Protocol) de Microsoft, para el motor de autocompletado, etiquetas, análisis y ayuda de código. Eso permitirá que con solo un plugin, cualquier editor como Sublime Text, Visual Studio Code o el mismo Visual Studio como IDE, puedan incorporar las mismas funciones de edición de código que se usa en Xcode.


¿Quieres aprender a programar de manera profesional?

 

Te invitamos a formar parte de Azul School donde vas a tener acceso a cursos profesionales con certificado. Además tienes acceso a una red social de programadores donde puedes conocer gente de tu ciudad o país.

 

Si quieres acceder a todas las funciones te regalamos un descuento del 75% usando este cupón (no vas a encontrar este descuento en ningún otro lugar) Cupón: azulweb y lo puedes cambiar aquí: Haz clic aquí para cambiar el cupón del 75%.

 

También puedes probar la plataforma de forma gratuita y obtener un curso gratuito aquí: Haz clic aquí para probar la plataforma de forma gratuita.


Ernesto Mota

Ernesto Mota

Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

También te podría gustar...