Ir para o conteúdo principal

NestJs: O que é e como instalar?

Data de elaboração 10/06/22
Responsável pelo estudo
  1. Igor Ramos de Oliveira (Assessor)
Equipe do estudo Esquadrão Suicida
Alvo e-Estado / NestJs
Origem

 

  • Objetivo estratégico: Mostrar vantagens de se usar NestJs e mostrar como instalar para uso.
Objetivo Criar um estudo sobre NestJs e como instalar o framework.
Documentação correlata (opcional)

https://docs.nestjs.com/

https://medium.com/loftbr/nestjs-porqu%C3%AA-o-escolhemos-como-o-framework-da-loft-a1dcaaf99c86#:~:text=Al%C3%A9m%20de%20permitir%20utilizar%20bancos,de%20se%20utilizar%20o%20MongoDB

https://www.lewagon.com/pt-BR/blog/o-que-e-framework

Observações Não possui.

1. Introdução

O NestJs é um framework para criar aplicações "NodeJs" no "Backend". Nest usa a linguagem de programação javascript e foi construido com typescript e o suporta totalmente. O NestJs utiliza "Express" como padrão e pode utilizar "Fastify" como estrutura de servidor "HTTP". 

2. Desenvolvimento

2.1 O que é?

NestJs é um framework, estrutura de códigos genérica que tem o objetivo auxiliar no desenvolvimento de aplicações/códigos com "NodeJs". O Nest oferece uma abstração muito grande acerca de estruturas HTTP, "Express" por exemplo. Em contrapartida expõe suas "APIs" aos desenvolvedores. "APIs" são conjuntos de padrões que fazem parte de uma interface e que permite a criação de aplicações de maneira mais simplificada.  Essa exposição de suas APIs, faz com que o NestJs dê aos desenvolvedores infinidades de módulos feitos por outros desenvolvedores que ficam disponíveis para utilização.

2.2 Vantagens

Typescript, o que facilita muito o desenvolvimento por causa da tipagem dos dados presentes. Ajuda muito quando é necessário adaptar desenvolvedores de linguagens fortemente tipadas ao framework. Possui recursos de linguagens tipadas que facilitam muito o desenvolvimento web.

Organização de código, ele propõe uma organização limpa e simples de entender, no modelo padrão proposto por ele existe: uma pasta contendo um model, uma service e uma controller. Os models cuidam dos dados e comunicação com o banco, as services cuidam da lógica e regras do negócio, já a controller cuida da parte de resposta e requisição ao servidor e aos serviços.

Modularidade, o Nest viabiliza a utilização de módulos para desmembrar responsabilidades, com isso as aplicações tendem a ser cada vez mais modularizadas, evitando códigos monolíticos. 

Parecido com outros frameworks, o que deixa muito simples de aprender e utilizá-lo.

Injeção de dependências, possui sistema de injeção de dependências que facilita na integração entre os módulos e suas dependências.

Compatibilidade com ORMs consagrados, permite a utilização de diversos bancos de dados diferentes e possibilita a utilização total do TypeOrm.


2.3 Como instalar?

No terminal digite:

image.png

Depois dê um nome para o seu projeto:

image.png

Após dar um nome ao projeto, navegue até a pasta do mesmo e rode o comando:

image.png

Para conferir o resultado, vá até o navegador  e digite:

image.png


3. Conclusão

NestJs possibilita a estruturação, organização e  dá mais agilidade ao desenvolver softwares modularizados sem muita dificuldade. Dispõe de muitos tutoriais e uma documentação completa que explica como utilizar todas as suas funções. Também se comunica com diversos "ORMs" e bancos de dados, sendo um ótimo framework para desenvolvimento "backend" para web.

4. Referências
 

[1] https://docs.nestjs.com/. acesso em 2022.

[2] https://medium.com/loftbr/nestjs-porqu%C3%AA-o-escolhemos-como-o-framework-da-loft-a1dcaaf99c86#:~:text=Al%C3%A9m%20de%20permitir%20utilizar%20bancos,de%20se%20utilizar%20o%20MongoDB. Acesso em 2022.

[3] https://www.lewagon.com/pt-BR/blog/o-que-e-framework. Acesso em 2022.