Microservicios en Swift: por dónde empezar para un principiante en 2024

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Por qué Swift no es solo desarrollo móvil?



Cuando escuchas «Swift», la primera asociación son las aplicaciones iOS. Pero en los últimos años, Swift avanza con paso firme hacia el lado del servidor. Y esto no es solo una moda: Apple está desarrollando activamente el ecosistema y la comunidad está creando frameworks potentes. Si ya escribes en Swift para iOS y quieres ampliar horizontes, los microservicios en Swift serán tu próximo paso lógico.



¿Por qué microservicios? Porque es el estándar moderno para construir un backend: servicios pequeños e independientes que son fáciles de escalar y actualizar. Y Swift, con su rendimiento, seguridad de tipos y sintaxis concisa, es perfecto para esto. En este artículo, analizaremos por dónde empezar a crear microservicios en Swift, escribiremos código real y pondremos en marcha nuestro primer servicio.



¿Qué necesitas saber antes de empezar?



Para una lectura cómoda, necesitarás:

  • Conocimientos básicos de Swift (variables, funciones, estructuras)
  • Comprensión de HTTP y REST (al menos a nivel de «hay una solicitud, hay una respuesta»)
  • brew instalado (para macOS) o Docker (para Linux)

Si te falta algo, no te preocupes, lo iremos viendo sobre la marcha.



Elegimos la herramienta: Vapor, el rey del Swift del lado del servidor



En el mercado de frameworks de servidor para Swift hay dos actores principales: Vapor y Kitura (de IBM). Pero Kitura, lamentablemente, está casi congelado. Mientras que Vapor se desarrolla activamente, tiene una enorme comunidad y documentación. Por lo tanto, nuestra elección es Vapor.



Vapor lo ofrece todo listo para usar: enrutamiento, middleware, trabajo con bases de datos, WebSocket, asincronía mediante async/await. Ideal para construir una arquitectura de microservicios en Swift.



Instalación de Vapor Toolbox

Abre la terminal y ejecuta:

brew install vapor

Después de la instalación, verifica:

vapor --help

Si ves una lista de comandos, todo está bien, puedes crear tu primer proyecto.



Creando nuestro primer microservicio: ¡Hola, Mundo!



Nuestro primer microservicio será simple: recibirá una solicitud GET y devolverá un JSON. Pero lo haremos correctamente, con una arquitectura lista para expandirse.



Paso 1. Crear el proyecto

vapor new HelloMicroservice --template=authcd HelloMicroservice

La bandera --template=auth añadirá una estructura básica con autenticación. Para un microservicio, esta es una buena práctica: incorporar seguridad desde el principio.



Paso 2. Estructura del proyecto

Después de la creación, verás una estructura como esta:

HelloMicroservice/├── Sources/│   ├── App/│   │   ├── Controllers/│   │   ├── Models/│   │   └── configure.swift│   └── Run/│       └── main.swift├── Tests/├── Dockerfile└── Package.swift

Observa el Dockerfile: ya es una plantilla lista para la contenerización. Microservicios sin Docker son como pizza sin queso.



Paso 3. Escribimos nuestro primer endpoint

Abriremos Sources/App/Controllers/UserController.swift (si no existe, lo creamos). Añadimos un método simple:

import Vapor

struct HealthController: RouteCollection { func boot(routes: RoutesBuilder) throws { let health = routes.grouped("api", "health") health.get(use: checkHealth) } @Sendable func checkHealth(req: Request) async throws -> HTTPStatus { return .ok }}

Este es el clásico health-check, la base de cualquier microservicio. Ahora lo registramos en configure.swift:

// al final de la función configuretry app.register(collection: HealthController())


Paso 4. Ejecutamos y probamos

vapor run

Abre el navegador o la terminal:

curl http://localhost:8080/api/health# Respuesta: 200 OK

¡Felicidades! Has t

Blogs

Book Recommendations