O NestJS é um framework Node.js com o objetivo de desenvolver aplicações back-end, do lado servidor, destacado pela sua capacidade de desenvolver sistemas utilizando Javascript ou Typescript com um alto nível de desempenho.
Criado em 2017 por Kamil Mysliwiec, um jovem programador polonês, o NestJS utiliza por padrão a arquitetura MVC voltada para back-end, permitindo a criação de aplicações web com páginas, banco de dados, API e JSON.
Para desenvolver com Node.js o Nest utiliza Typescript como linguagem padrão, mas o seu diferencial em relação a outros frameworks é justamente a base nos fundamentos de design e arquitetura do Angular.
Isso significa que ele foi projetado sob um conceito de módulos, nos quais nós registramos tudo o que fazemos nele. Sendo assim, tudo o que nós pegamos de um módulo também nos permite criar aplicações complexas e de grande porte.
Quais são os benefícios do NestJS?
-
CoC (Convention Over Configuration – Convenção Sobre Configuração)
Seguindo o padrão CoC ele te fornece uma série de convenções e paradigmas que você, como desenvolvedor, não precisa decidir; logo a sua preocupação é mais voltada a como você vai desenvolver a sua aplicação em si. Em outras palavras, ele te dá uma estrutura de pastas como uma forma de separar as lógicas do seu sistema, o que é muito vantajoso.
-
Typescript
Utilizando Typescript ele já agrega essa linguagem Microsoft por padrão, além de utilizar Javascript nativamente. Dessa forma nós trabalhamos com tipagem e também podemos verificar os erros que acontecem.
-
Arquitetura Escalável
Com arquitetura escalável, sustentada pelos conceitos modulares do Angular, é possível organizar melhor um projeto complexo e utilizar somente o necessário para mantê-lo.
-
Integração Diversificada
De fácil integração a diversos tipos de bancos de dados, como MySQL, SQL Server, Oracle, etc. O NestJS não conta com nenhum pacote que trabalha especificamente com bancos de dados; ele sempre utiliza os melhores padrões disponíveis, com integrações para MikroORM, TypeORM, Prisma, entre outros. No geral, é muito fácil trabalhar com muitos dados dessa forma.
-
Microsserviços
O NestJS é muito recomendado pelo seu alto suporte a microsserviços. E se você precisa fazer as suas comunicações utilizando mensageria, seja pelo Kafka ou pelo RabbitMQ, o Nest também suporta esses padrões.
-
Suporta a criação de API REST e GraphQL
Além de permitir a criação de API REST, que também está no contexto dos microsserviços, é muito fácil criar uma API com o Nest.
E se você precisa criar uma API com o GraphQL do Facebook, por exemplo, ele já traz um recurso para que você não precise trabalhar com schemas; você trabalha diretamente com os decorators e Typescripts.
O que NestJS não é?
É importante frisar, principalmente para quem está começando por Node.js, que não se deve confundir o NestJS como um concorrente da tríade de libs front-end: Angular, React e Vue.js. Entenda que a tríade está do lado browser e o Nest está do lado servidor.
Logo é perfeitamente plausível ter uma aplicação back-end desenvolvida com Nest, e o lado front-end desenvolvido com os outros padrões de forma conjunta. O Nest, inclusive, já tem uma integração com aplicações Angular nativamente.
Então você cria um projeto contando com várias possibilidades e facilidades, mas se você quiser usar React ou Vue.js para o seu front-end não há problema algum; ele é inteiramente compatível.
-
Não se vicie em frameworks!
Se você está começando com Javascript ou Typescript, é importante pensar que você não deve ser o tipo de programador viciado em frameworks. Eles são, de fato, ferramentas importantes; mas são passageiros.
O seu foco precisa estar na linguagem conforme você aprende a solucionar problemas de desenvolvimento, portanto continue estudando. E se no futuro o seu framework se tornar obsoleto, você consegue aprender o próximo sem colocar a sua carreira em risco.
Documentação
A parte de documentação do NestJS é simples e bem exemplificada. E mesmo que você não tenha experiência com inglês, na parte de busca você encontra tudo muito bem dividido.
Comunidade
A comunidade do NestJS é bem ativa e você pode entrar no Discord oficial para tirar as suas dúvidas. Mesmo que seja tudo em inglês, lá você acha grande parte dos padrões. E se você precisa de um insight sobre qualquer coisa nesse contexto, a comunidade está lá para esse tipo de coisa. Muitas respostas já estão lá, inclusive, caso você precise procurar.
Node.js
— O NestJS pede o Node.js 16 ou versão superior para funcionar.
É possível aplicar os conceitos de Docker para criar o ambiente dessa aplicação, ao invés de uma máquina. E caso você queira trabalhar dessa forma ainda é recomendável a versão 16 do runtime, já que sem isso alguns detalhes não serão totalmente compatíveis.
A instalação do Node é bem simples, mas no caso do Windows nós utilizamos o WSL com uma instalação semelhante a do Linux.
Para uma análise mais ampla do assunto, assista ao vídeo completo do Luiz no início desse post!
Se você curtiu esse post e quer explorar as capacidades desse framework poderoso, solicite contato clicando aqui e nós te ajudamos.
Veja também: Entendendo o AWS Kinesis Data Plataform.
Confira diversos conteúdos no nosso canal do youtube.



Curso Full Cycle 4.0
Curso Full Cycle 4.0 Juniors
MBA em Engenharia de Software com IA
MBA Arquitetura Full Cycle
Pós Liderança Técnica
Pós GO Expert
Devops Pro