O grande diferencial do NestJS - Full Cycle FullCycle

Voltar

Wesley Willians

O grande diferencial do NestJS

15 min de leitura

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.