El ciclo "solicitud-procesamiento-respuesta" incluye muchos elementos que son idénticos para todos los sitios web. Por lo tanto, surgieron los frameworks, bibliotecas que definen la estructura del programa. Esto es lo que los distingue de las bibliotecas regulares. Gracias a los frameworks, puedes concentrarte en la lógica del sitio, en lugar de pensar en la arquitectura básica o desarrollar herramientas auxiliares.
Los frameworks para la web se dividen en dos grandes grupos:
- Frameworks
- Microframeworks
Los microframeworks son mucho más simples. Solo contienen la envoltura mínima necesaria para trabajar cómodamente en la arquitectura HTTP, es decir, "solicitud-respuesta". Son perfectos para el aprendizaje, porque son simples y no te distraen del objetivo principal.
En esta lección, comenzaremos a estudiar los principios de funcionamiento de las aplicaciones web a través del prisma del framework fastify. Los conceptos aprendidos aquí funcionan de la misma forma en todos los demás frameworks, incluyendo Spring Boot, que se estudia en los próximos cursos.
Instalación
Para empezar, crea un directorio e inicializa un proyecto npm:
mkdir myapp
cd myapp
npm init
El framework se entrega en forma de un paquete npm regular:
npm install fastify
De por sí, el framework no crea ningún archivo o directorio, por lo que deberías agregar un directorio para almacenar los archivos fuente:
mkdir src
Crea un archivo src/index.js con el siguiente contenido:
import fastify from 'fastify';
const app = fastify();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen({ port }, () => {
console.log(`Example app listening on port ${port}`);
});
No te olvides de añadir soporte para las importaciones en package.json:
"type": "module"
Ejecución
Pasemos a la ejecución, que se realiza con el comando node src/index.js en el directorio del proyecto.
node src/index.js
Example app listening on port 3000
Por defecto, el servidor se inicia en http://localhost:3000. Si abres esa dirección en tu navegador, deberías ver el mensaje Hello World.
Puedes detener el servidor utilizando la combinación de teclas Ctrl-C
Modificación
Cuando se inicia un servidor web, el código fuente se carga en la memoria. Cualquier cambio posterior en el código no afectará en absoluto a la aplicación en ejecución. Esto crea ciertas incomodidades durante el desarrollo, porque tendrás que reiniciar el servidor cada vez que necesites comprobar el resultado de las modificaciones. Pero para nuestras tareas, será suficiente.
Trabajo independiente
Realiza todos los pasos de esta lección en tu computadora. Crea un repositorio en GitHub con el nombre códica-fastify y sube a este el código de nuestro proyecto. Necesitaremos este proyecto en lecciones futuras. A lo largo del curso, lo estarás modificando.
Aquí se encuentra un ejemplo de cómo puede verse tu proyecto al final del curso. Puedes usar este ejemplo como referencia en tus trabajos independientes.
Materiales adicionales
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.