Saltar al contenido

Vapor, el Framework para usar Swift desde el lado del servidor

14/03/2018
Vapor el Framework para usar Swift en un servidor6

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

Vapor el Framework para usar Swift en un servidor

Para confirmar que se ha instalado correctamente escribe el siguiente comando que debería devolver un listado de ayuda:

vapor –help

Vapor el Framework para usar Swift en un servidor2

Hola mundo con Vapor

Crea una carpeta llamada “Servidor” en algún lugar de tu Mac.

Vapor el Framework para usar Swift en un servidor3

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.

Vapor el Framework para usar Swift en un servidor4

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.

Vapor el Framework para usar Swift en un servidor5

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.

Vapor el Framework para usar Swift en un servidor6

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

Vapor el Framework para usar Swift en un servidor7

Si después de esperar un rato, tienes un varios Done, ¡genial!

Vapor el Framework para usar Swift en un servidor8

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.

Vapor el Framework para usar Swift en un servidor9

¡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.

Vapor el Framework para usar Swift en un servidor10

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.

Vapor el Framework para usar Swift en un servidor11

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

Vapor el Framework para usar Swift en un servidor12

Asegúrate eso sí de tener seleccionado tu Mac en el dispositivo.

Vapor el Framework para usar Swift en un servidor13

Ahora sí podemos compilar el proyecto.

Si todo ha ido bien, en la consola de Xcode deberíamos ver algo como esto:

Vapor el Framework para usar Swift en un servidor14

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.

Vapor el Framework para usar Swift en un servidor15

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.

Vapor el Framework para usar Swift en un servidor16

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! 😉