Entonces cambiemos a nuestro editor de VS Code, y usemos Spin para crear una nueva aplicación serverless, y en el proceso, hablaremos sobre cómo funciona este entorno serverless, y algunas de las características interesantes de la forma en que TypeScript funciona en este entorno.
Aquí estamos en VS Code. Lo primero que debemos hacer es instalar Spin. Puedes dirigirte a developer.fermion.com y seguir la Guía de Inicio Rápido para ver cómo instalarlo rápidamente y comenzar a usar Spin. Yo, en particular, lo instalé usando Curl Bash, así que lo tengo funcionando aquí localmente.
Vamos a crear una nueva aplicación TypeScript serverless. Para ver rápidamente qué es lo que se admite, podemos ejecutar Spin Templates List y ver todas las diferentes plantillas de inicio. Algunas incluyen Redis con lenguajes como Go o Rust, otras son para HTTP, Swift, Python. Estamos buscando esta aquí, HTTP TS, para ejecutar aplicaciones TypeScript. Así que creemos una nueva con spin new HTTP-TS. La llamaremos Congress y aceptaremos la configuración predeterminada, que básicamente omite el tutorial donde te pide una descripción y la ruta predeterminada, y elige esas opciones por nosotros.
Podemos ver que se ha creado una aplicación para nosotros. Esto debería resultarte muy familiar. Está el package.json, el HTTPS-config. Pero hay un nuevo archivo llamado spin.toml. Echemos un vistazo rápido a eso. Este archivo le explica a Spin cómo debe construir esta aplicación como una aplicación serverless de WebAssembly. Podemos ver aquí en el componente, esto es lo que vamos a escribir. Esto tendrá una ruta predeterminada que escuchará cualquier cosa. Usará NPM para ejecutar su compilación, y el binario que se generará, el binario wasm, se llamará target/congress.wasm. No vamos a pasar mucho tiempo en ese archivo. En su lugar, vamos a ir directamente al código. Echemos un vistazo a index.ts. Así es como se ve un controlador de eventos serverless. Primero, voy a ingresar aquí y cambiar al directorio congress y ejecutar npm install y dejar que instale esta primera biblioteca aquí en el código. Es el SDK fermionspin, que nos proporciona nuestra solicitud y respuesta HTTP, y luego podemos echar un vistazo mientras eso se ejecuta a nuestro controlador de solicitud real. Tomará una solicitud HTTP, devolverá una promesa de una respuesta HTTP y todo lo que hará es enviar este mensaje hello from ts SDK. Así que aquí tenemos nuestra función original con su estructura básica, así que vamos a construirla. Spin build empaquetará esto y lo convertirá en un binario de WebAssembly para nosotros y cuando esté listo, podemos hacer un spin up y ejecutar una versión en localhost, por lo que estará escuchando aquí en el puerto 3000, podemos usar curl y emitir rápidamente una solicitud y ver que funciona. Así que cambiemos esto por algo muy trivial, ts congress, guardemos y una vez más, hagamos este proceso de compilación.
Comments