Vapor, el Framework para usar Swift desde el lado del servidor
En esta entrada quiero descubrirte Vapor, Vapor, el Framework para usar Swift desde el lado del servidor.
Sí, sí, lo que estás leyendo, ahora podemos usar Swift para crear Webs o servicios Webs.
Dicho de otro modo, vamos a poder crear el Backend de nuestras aplicaciones usando el mismo lenguaje con el que construimos nuestras Apps.
En este tutorial te voy a enseñar como instalar todo lo necesario para trabajar con Vapor en tu Mac, además haremos nuestro primer Hola Mundo con Vapor.
Bienvenido, bienvenida a Vapor, el Framework para usar Swift desde el lado del servidor.
Preparando el entorno para usar Vapor
Para usar Vapor en nuestro Mac, antes debemos hacer algunas cosas:
- Instalar la aplicación Homebrew
- Instalar Vapor
Es posible que ya tengas la aplicación Homebrew en tu Mac, para saber si la tienes, abre el terminal en tu mac y escribe el siguiente comando:
brew
Si obtienes unos comandos de ayuda, tienes instalado Homebrew, aun así, si has actualizado tu Mac a un nuevo sistema operativo, o hace mucho que no actualizas Homebrew, deberías actualizarlo, escribe:
brew update
Si por el contrario el resultado es “command not found” entonces es que no está instalado, escribe lo siguiente en el terminal y pulsa la tecla intro.
/usr/bin/ruby -e «$(curl -fsSL https://raw.githubusercontent.com/ Homebrew/install/master/install)
Para instalar Vapor escribe lo siguiente:
brew install vapor/tap/vapor
Para confirmar que se ha instalado correctamente escribe el siguiente comando que debería devolver un listado de ayuda:
vapor –help
Hola mundo con Vapor
Crea una carpeta llamada “Servidor” en algún lugar de tu Mac.
A continuación, en el terminal, accede a esa carpeta, una forma sencilla es escribir el comando cd y luego arrastrar la carpeta que acabamos de crear desde el Finder a la propia terminal, y después pulsa la tecla intro para acceder a ese directorio.
Para cerciorarte de que efectivamente estás dentro de la carpeta Servidor que acabamos de crear, declara y ejecuta el siguiente comando en el terminal:
pwd
Al pulsar la tecla intro, es decir al ejecutar el comando, debería darte la ruta dónde estás actualmente.
Una vez estamos dentro de esta carpeta, lo que vamos a hacer es crear un nuevo proyecto, para ello escribe lo siguiente en el terminal:
vapor new holaMundoVapor –template=api
Ya hemos creado el proyecto, si todo ha ido bien, deberías ver el logotipo de Vapor en un precioso ASCII.
Ahora entra dentro del proyecto, escribe en el terminal:
cd holaMundoVapor
Ahora vamos a construir el proyecto, esta operación podría tardar un poco, así que ten paciencia. Ejecuta este comando en la terminal:
vapor build
Si después de esperar un rato, tienes un varios Done, ¡genial!
Por último ejecuta esta sentencia:
vapor run
Lo que estamos haciendo es ejecutar un servidor en tu Mac, asi que dependiendo de las capacidades de tu equipo, puede llevar más o menos tiempo poner en funcionamiento el servidor.
En el terminal te indicará que se ha iniciado el servidor en una dirección IP, y en un determinado puerto, por norma general el puerto será el 8080.
¡Ahora ya tenemos en marcha un servidor en nuestro Mac con Vapor!
Para finalizar la ejecución del servidor que ahora está corriendo en nuestro Mac, cuando ya no queramos usarlo, simplemente ejecuta el siguiente comando en la terminal:
ctrl + c
Ahora que ya hemos creado un proyecto, y tenemos un servidor en nuestro Mac perfectamente operativo, vamos a crear nuestro “Hola Mundo con Vapor”.
El administrador de paquetes de Swift ( Swift Package Manager )
Para hacerlo sencillo, tienes que ver tu aplicación como un paquete, de forma que el administrador de paquetes de Swift es el responsable de compilar tu aplicación.
Además, el administrador de paquetes de Swift gestionará todas y cada una de las dependencias que contenga nuestra aplicación.
Las dependencias se especifican con la URL del repositorio de Git remoto.
Al crear el proyecto ya se ha creado el administrador de paquetes de Swift, es el archivo llamado Package.swift dentro del proyecto que hemos creado al inicio.
Dirígete a la carpeta del proyecto que hemos creado desde la consola del terminal y abre el archivo Package.swift con un editor de texto.
Deberías ver algo similar a esto:
import PackageDescription
let package = Package(
name: «holaMundoVapor»,
products: [
.library(name: «App», targets: [«App»]),
.executable(name: «Run», targets: [«Run»])
],
dependencies: [
.package(url: «https://github.com/vapor/vapor.git», .upToNextMajor(from: «2.1.0»)),
.package(url: «https://github.com/vapor/fluent-provider.git», .upToNextMajor(from: «1.2.0»)),
],
targets: [
.target(
name: «App»,
dependencies: [«Vapor», «FluentProvider»],
exclude: [«Config», «Public», «Resources»]
),
.target(name: «Run», dependencies: [«App»]),
.testTarget(name: «AppTests», dependencies: [«App», «Testing»])
]
)
Este archivo como hemos comentado gestionará las dependencias que tendrá nuestro proyecto, entre otras cosas.
Crear un proyecto de Xcode con Vapor
Para el servidor desde la terminal ejecutando el comando:
ctrl + c
Escribe y ejecuta la siguiente sentencia en el terminal:
vapor xcode
Lo que estamos haciendo es crear un proyecto de Xcode para trabajar mejor con el proyecto que hemos creado.
Seguiremos usando el proyecto fuera de Xcode, pero habrá cosas que podamos hacerlas desde el IDE de Apple.
Es importante diferenciar que por un lado tenemos un proyecto de Vapor con un administrador de paquetes, y un proyecto de Xcode.
Esto es importante saberlo, porque cuando añadamos nuevos recursos, estos deberán crearse fuera de Xcode, y es nuestra responsabilidad mantener sincronizado nuestro proyecto de Xcode con el servidor de Vapor.
Si todo ha ido bien, en la consola del terminal tendremos un Done, y nos preguntará si queremos abrir el proyecto de Xcode.
Introduce la letra y y pulsa la tecla intro.
Xcode se abrirá ante nuestros ojos, esto ya resulta más familiar ¿no?
Aunque no tanto, no hay más que ver el grupo de carpetas y archivos, ¿Ande está el Storyboard? 12
Tardará un rato en procesar todos los archivos del proyecto, ten paciencia.
Ahora podríamos construir el proyecto o bien compilarlo, la primera opción funcionaría, pero la segunda sencillamente no hace nada, esto es porque necesitamos cambiar un ajuste en Xcode.
En el menú textual superior de Xcode ve a:
Product Scheme y selecciona la opción: Run
Asegúrate eso sí de tener seleccionado tu Mac en el dispositivo.
Ahora sí podemos compilar el proyecto.
Si todo ha ido bien, en la consola de Xcode deberíamos ver algo como esto:
Es lo que nos aparecia en la consola del terminal cuando ejecutamos el comando vapor run.
Tu servidor está corriendo ahora porque lo hemos ejecutado desde Xcode.
Ahora abre un explorador web como Safari, Chrome, o Firefox.
Y escribe lo siguiente:
0.0.0.0:8080/hello
¡¡¡Voilá!!!
Lo que tenemos ante nuestros ojos es un JSON, que contiene una clave y un valor.
{«hello»:»world»}
Lo obtenemos al acceder a la URL que hemos introducido y a una página llamada hello.
Ya tenemos nuestro “Hola Mundo con Vapor”.
Sé que estás sorprendido o sorprendida, pero además de esta sensación, quiero que entiendas que está pasando aquí.
Por el momento para el servidor desde Xcode pulsando la tecla de Stop.
Ahora, si recargas la página en el explorador web, ya no verás nada, porque hemos “apagado” el servidor web con Vapor, el Framework para usar Swift que estaba “corriendo” en nuestro Mac.
Algo completamente normal, puesto que ya no está «corriendo» el servidor en nuestro Mac.
Próximos pasos con Vapor
Volveremos sobre este apasionante Framework más adelante.
Pues como te he comentado al principio, apenas acaba de comenzar la fiebre de usar Swift desde el lado del servidor, pero ten por seguro que esto se convertirá en un estándar dentro de poco.
Por mi parte nada más, si quieres dejar un comentario puedes hacerlo debajo del articulo.
¡Hasta luego! 😉
2 Comments