Swift ha trascendido el ecosistema de Apple
\n\nDurante mucho tiempo, el lenguaje Swift se asoció exclusivamente con iOS, macOS y watchOS. Si querías escribir una aplicación para Android o un servidor web, usabas Java, Kotlin o Python. Pero los tiempos han cambiado. Hoy en día, el desarrollo multiplataforma en Swift no es un experimento de entusiastas, sino una industria madura con soporte a nivel de kernel de Linux, herramientas oficiales de Apple y una comunidad activa.
\n\nEn este artículo, analizaremos cómo escribir en Swift para Windows, Linux, Android e incluso para la web. Verás ejemplos reales de código, conocerás los frameworks Vapor y SwiftUI, y también obtendrás una hoja de ruta para empezar. ¡Allá vamos!
\n\n¿Por qué Swift? Tres razones para ir más allá de Apple
\n\n1. Rendimiento y seguridad de memoria
\nSwift es un lenguaje compilado con conteo automático de referencias (ARC). Ofrece una velocidad cercana a C++, pero protege contra fugas de memoria y errores de puntero nulo a nivel de compilación. Para aplicaciones de servidor y escritorio, esto es crítico.
\n\n2. Sintaxis moderna
\nProtocolos, extensiones, genéricos, tipos opcionales: Swift ha absorbido lo mejor de la programación funcional y orientada a objetos. El código resulta conciso y legible.
\n\n3. Base de código única
\nAl escribir la lógica una vez en Swift, puedes ejecutarla en iOS, Android (a través de Swift Android Toolchain), Linux, Windows e incluso en el navegador (a través de WebAssembly). Esto reduce el costo de mantenimiento y acelera la llegada a nuevas plataformas.
\n\nHerramientas para el desarrollo multiplataforma en Swift
\n\nAntes de escribir código, veamos qué herramientas necesitaremos. Este es el stack principal para el desarrollo multiplataforma en Swift en 2025:
\n\n- \n
- Swift Package Manager (SPM) — el gestor de paquetes estándar, funciona en todas las plataformas. \n
- Vapor — el framework web más popular en Swift. Lógica de servidor, API REST, WebSockets. \n
- SwiftUI — framework de UI declarativo. En macOS y iOS funciona de forma nativa, en otras plataformas a través de
SwiftUI-WeboTokamak. \n - Swift for TensorFlow / NumPy — aprendizaje automático y computación científica. \n
- Android NDK + Swift Android Toolchain — compilación de código Swift para Android. \n
- WebAssembly (WASI) — ejecución de Swift en el navegador. \n
Escribimos un servidor en Swift con Vapor (Linux / macOS / Windows)
\n\nEmpecemos con lo más simple y útil: un servidor web. Vapor es un análogo maduro de Express.js o Flask, pero en Swift. El código funciona en Linux, macOS y Windows (a través de Swift 6).
\n\nInstalación de Vapor
\nbrew install vapor # macOS\ncurl -sL https://apt.vapor.codes/install.sh | bash # Linux\n# Windows: instale Swift 6, luego vapor a través de SPM\n\nAPI REST simple con Vapor
\nCreemos un proyecto y escribamos un endpoint para trabajar con tareas (ToDo):
\n\n// Sources/App/routes.swift\nimport Vapor\n\nfunc routes(_ app: Application) throws {\n // GET /hello\n app.get("hello") { req -> String in\n return "¡Hola, Swift multiplataforma!"\n }\n\n // GET /tasks\n app.get("tasks") { req -> [String] in\n return ["Aprender Swift", "Escribir artículo", "Ejecutar en Android"]\n }\n\n // POST /task\n app.post("task") { req -> String in\n let task = try req.content.decode(Task.self)\n return "Tarea añadida: \\(task.title)"\n }\n}\n\nstruct Task: Content {\n let title: String\n let isCompleted: Bool\n}\n\nEjecute el servidor con el comando vapor run y abra http://localhost:8080/hello. Verá un saludo. Este mismo código funciona sin cambios en Ubuntu, Windows Server y macOS.
Swift en Android: escribiendo una biblioteca nativa
\n\nMuchos consideran