Introdução ao Nest.js
Definição
É uma framework opinativo, ou seja, o Nest fornece aos desenvolvedores alguns padrões de projetos para facilitar a tomada de decisão no desenvolvimento e obter uma maior produtividade.
Características
Baseado na arquitetura MVC (arquitetura de camadas):
-
Controller (
@Controller
): responsável pelo controle de fluxo dos dados (entrada e saída) da aplicação -
Service (
@Service
): engloba todo o resto -
Module (
@Module
): responsável pela configuração do módulo, ou seja, definir imports, controllers e providers para a injeção de dependência
Typescript em ambiente de desenvolvimento.
Baseado nas ideais arquiteturais do Angular.
Arquitetura fornecido pelo NestJS respeitando os princípios do SOLID
Vantagens
-
CoC (Convention Over Configuration)
Sugestão de padrão de nomenclatura de arquivos/diretórios.
-
Typescript
-
Linguagem fortemente tipada
-
Aparição de erros durante o desenvolvimento
-
Mais recursos/funcionalidades do que o JavaScript puro
-
Decorators
-
-
Arquitetura escalável (baseada no Angular)
-
Modularidade
-
Injeção de dependência
-
Padrão de nomenclatura de arquivos e diretórios
-
-
Integração fácil com vários tipos de banco de dados
-
Suporte a microsserviços
-
Suporte à criação de API Rest, GraphQL
“O que o Nest.js não é?”
-
Angular
-
React
-
Vue
-
Um framework de front-end
“Conselhos ao utilizar o Nest.js”
-
Não depender exclusivamente a um framework
-
Não pular etapas (estudar e fixar os fundamentos da linguagem, no caso JavaScript)