Curso de programación con Nest
NestJS es el framework para construir aplicaciones backend escalables y eficientes en Node.js. Aprende a desarrollar con NestJS y mejora tu backend.
NestJS es un framework para construir aplicaciones de servidor eficientes, fiables y escalables en TypeScript (o JavaScript). Se basa en el patrón de diseño de programación orientada a objetos (OOP), programación funcional y programación reactiva. NestJS utiliza el framework Express.js por debajo, pero también ofrece compatibilidad con otras bibliotecas como Fastify, lo que permite una fácil migración.
Características principales
- Escalabilidad: Diseñado con la escalabilidad en mente, permitiendo una arquitectura modular y fácil de mantener.
- Inyección de dependencias: Incorpora un potente sistema de inyección de dependencias directamente desde el inicio, lo que facilita la gestión de componentes y servicios.
- Desacoplamiento: Fomenta el desacoplamiento y la modularidad, lo que facilita las pruebas y la mantenibilidad del código.
- Decoradores: Utiliza decoradores para simplificar varias tareas, como la definición de rutas y la inyección de dependencias.
- Soporte para GraphQL y REST: Puedes crear tanto API REST como GraphQL sin esfuerzo.
- Soporte para Websockets y Microservicios: Incorpora soluciones fáciles para implementar comunicación en tiempo real y arquitecturas de microservicios.
- Integración con bibliotecas de front-end: Ofrece un desarrollo más fácil al integrarse con frameworks de front-end como Angular.
Ventajas frente a otros frameworks
- Arquitectura bien definida: A diferencia de otros frameworks como Express.js, que no imponen una arquitectura específica, NestJS proporciona una estructura clara que facilita la escalabilidad y el mantenimiento.
- Productividad: Los decoradores y la inyección de dependencias permiten un desarrollo más rápido y menos propenso a errores.
- TypeScript: Al estar construido con TypeScript, se beneficia de las ventajas del tipado estático, como la detección de errores en tiempo de compilación.
- Ecosistema completo: Ofrece una amplia gama de utilidades, desde la autenticación hasta la capa de acceso a datos, lo que permite un desarrollo más rápido sin depender de terceros.
- Comunidad y documentación: Tiene una comunidad creciente y una documentación extensa, lo que facilita el aprendizaje y la resolución de problemas.
¿Por qué aprenderlo y usarlo?
- Mercado Laboral: La demanda de NestJS está en aumento, especialmente para proyectos empresariales.
- Desarrollo Rápido: Las características como la inyección de dependencias y los decoradores permiten un desarrollo más ágil.
- Fácil de aprender: Si ya tienes experiencia con Angular o TypeScript, te resultará más fácil adaptarte a NestJS.
- Arquitectura Sólida: Aprenderás principios de arquitectura sólida que puedes aplicar en otros proyectos y lenguajes.
- Versatilidad: Puedes usarlo para una amplia variedad de aplicaciones, desde pequeños proyectos hasta aplicaciones empresariales a gran escala.
Tutoriales de Nest
Aprende Nest con tutoriales de programación en Nest.
Instalación Nestjs
Introducción Y Entorno
Comandos Nestjs Cli
Introducción Y Entorno
Métodos Get En Controladores
Controladores
Métodos Post En Controladores
Controladores
Métodos Put En Controladores
Controladores
Métodos Delete En Controladores
Controladores
Gestión De Errores En Controladores
Controladores
Recibir Y Servir Imágenes
Controladores
Desarrollo E Inyección De Servicios
Servicios E Inyección De Dependencias
Crear Y Utilizar Módulos
Módulos
Configuración De Typeorm Con Mysql
Typeorm
Creación De Entidades Y Tablas
Typeorm
Decoradores En Entidades
Typeorm
Crud Con Repositorios
Typeorm
Filtrados En Consultas De Repositorios
Typeorm
Registro De Usuarios
Autenticación
Iniciar Sesión Método De Login
Autenticación
Estrategia De Autenticación Jwtstrategy
Autenticación
Login Y Registro
Autenticación
Estrategia De Autenticación Jwt
Autenticación
Ejercicios de programación de Nest
Evalúa tus conocimientos en Nest con ejercicios de programación Nest de tipo Test, Puzzle, Código y Proyecto con VSCode.
Métodos GET en controladores
Método find en un servicio con repositorio
Desarrollo e inyección de servicios
Creación de entidades y tablas
Método DELETE en un controlador
Filtrados en consultas de repositorios
Método GET en un controlador
Estrategia de autenticación JwtStrategy
CRUD con repositorios
Método delete en un servicio con repositorio
API REST CRUD de entidad Restaurante con TypeORM
Creación de una entidad TypeORM
Crear y utilizar módulos
Métodos PUT en controladores
Iniciar sesión método de login
Configuración de TypeORM con MySQL
Gestión de errores en controladores
Decoradores en entidades
Instalación NestJS
Recibir y servir imágenes
Estrategia de autenticación JWT
Método PUT en un controlador
Comandos NestJS CLI
Método POST en un controlador
Login y registro
API REST CRUD de entidades Product y Manufacturer
Método save en un servicio con repositorio
Registro de usuarios
Métodos POST en controladores
Tipo de tecnología
Framework
Categoría laboral
Backend
Año de lanzamiento
2017
Developers
Kamil Mysliwiec
Todos los módulos de Nest
Nest
Introducción y entorno
Nest
Controladores
Nest
Servicios e inyección de dependencias
Nest
Módulos
Nest
TypeORM
Nest
Autenticación
Otras tecnologías
Vuejs
Vuejs
Frontend
Framework de JS progresivo para construir interfaces de usuario reactivas y modulares.
C
C
Backend
Lenguaje de propósito general, eficiente y de bajo nivel.
Django
Django
Backend
Framework web Python para desarrollo rápido y seguro.
Laravel
Laravel
Backend
Framework de PHP para desarrollo web backend.
TypeScript
TypeScript
Full Stack
Superconjunto de JavaScript con tipado estático.
Go
Go
Backend
Lenguaje de programación eficiente y concurrente creado por Google.
PySpark
PySpark
Big Data
Motor unificado de análisis de datos distribuido para grandes volúmenes.
ScikitLearn
ScikitLearn
Ciencia de Datos e IA
Biblioteca de aprendizaje automático en Python.
Java
Java
Backend
Lenguaje de programación versátil y multiplataforma.
OpenCV
OpenCV
Ciencia de Datos e IA
Biblioteca de Python para Computer Vision en imágenes y vídeos.
Node
Node
Backend
Node.js es un entorno de ejecución de JavaScript basado en el motor V8 de Google.
Flask
Flask
Backend
Microframework web para Python, simple y flexible.
PHP
PHP
Backend
Lenguaje de programación para desarrollo web del lado del servidor.
React
React
Frontend
Librería framework para frontend interfaces de usuario.
Selenium
Selenium
Testing / QA
Suite de herramientas open-source para automatizar navegadores web y pruebas de software de interfaz de usuario.
CSharp
CSharp
Backend
Lenguaje de programación de Microsoft para aplicaciones robustas.
SpringBoot
SpringBoot
Backend
Framework para desarrollo rápido de aplicaciones Java.
Docker
Docker
DevOps
Plataforma de contenedores para aplicaciones portátiles.
Seaborn
Seaborn
Ciencia de Datos e IA
Biblioteca de visualización de datos para Python.
Streamlit
Streamlit
Ciencia de Datos e IA
Biblioteca Python para prototipado web UI rápido en ciencia de datos.
SQL
SQL
Bases de datos
Lenguaje para gestionar bases de datos relacionales.
Fundamentos
Fundamentos
Full Stack
Fundamentos y bases de la programación de software moderna.
Git
Git
DevOps
Sistema de control de versiones distribuido.
TailwindCSS
TailwindCSS
Frontend
Framework de utilidades CSS para diseños rápidos y personalizables.
TensorFlow
TensorFlow
Ciencia de Datos e IA
Biblioteca Python para redes neuronales en Deep Learning
Kotlin
Kotlin
Backend
Lenguaje de programación moderno y seguro para aplicaciones Android.
HTML
HTML
Frontend
Lenguaje de marcado para estructurar contenido web.
Numpy
Numpy
Ciencia de Datos e IA
Biblioteca Python para computación científica y matrices.
Bash
Bash
Administración de sistemas
Intérprete de comandos para sistemas Unix y Linux.
Bootstrap
Bootstrap
Frontend
Framework CSS para diseños web responsive y modernos.
Matplotlib
Matplotlib
Ciencia de Datos e IA
Biblioteca Python para crear gráficos y visualizaciones.
Hibernate
Hibernate
Backend
ORM para Java, simplifica el acceso a bases de datos.
JavaScript
JavaScript
Full Stack
Lenguaje de scripting para desarrollo web interactivo.
Pandas
Pandas
Ciencia de Datos e IA
Herramienta Python para análisis y manipulación de datos.
Angular
Angular
Frontend
Framework web de Google para aplicaciones dinámicas.
CSS
CSS
Frontend
Lenguaje de estilo para diseñar páginas web atractivas.
Python
Python
Backend
Lenguaje de programación fácil de aprender y versátil.