Primeiras impressões sobre o NestJS #1473
-
Fala galera, beleza? To vendo que ultimamente estão falando muito sobre o NestJS por ai, pessoas animadas e gostando do resultado. Comecei agora a dar uma olhada na documentação, mas queria saber se alguém tem usado, se está gostando, se está sendo fácil de trabalhar, se pode falar da experiencia com ele, apontar pontos positivos e negativos. Obrigado. |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments
-
Opa! Fala @synga , beleza? O NestJS è um framework de backend que è utilizado principalmente pra construir web api's. Estou migrando um backend enorme pro NestJs. Estou tendo resultados maravilhosos com relação a produtividade e performance atè então. Ele foi desenvolvido inspirado no Angular e Typescript, então a sintaxe è bem parecida (apesar de ser utilizado pra construir backends). Ele utiliza o express por baixo dos panos mas tambèm è compativel com o fastify. Sobre performance: O nest perde um pouquinhio comparado ao express ou fastify puramente, segundo alguns benchmarks: https://github.com/nestjs/nest/blob/master/benchmarks/all_output.txt https://stackoverflow.com/questions/47733390/nestjs-vs-plain-express-performance. Segundo a essa pesquisa, o nestjs perde um pouco de performance comparado ao express puro, porem quando voce configura o nestjs pra usar o fastify, ele è ainda mais rapido que o express puro https://docs.nestjs.com/techniques/performance Falando sobre produtividade: O nestjs tem quase todos elementos necessarios para se construir uma API robusta jà prontos pra serem utilizados, como:
Lògico que quem vai determinar a arquitetura da sua API è o desenvolvedor. Jà trabalhei em projetos de Web Api's em Java, Go, PHP, .NET, NodeJS puro, etc mas o NestJs junto com o Typescript tem me surpreendido atè entao. Ele tem muitos recursos e componentes que è facil demais de adicionar a sua arquitetura e tambèm voce consegue fazer adaptacoes, e melhor: Ele è feito em Node, entao qualquer codigo em Node vai ser facilmente integrado <3 A minha impressao è que ele agiliza e jà tem muitos elementos prontos que sao necessarios pra construir uma web api robusta, alèm de ser desenvolvido em node, voce pode fazer adaptacoes tambem e etc. Outro ponto que ta fazendo muita diferença: (Nao è exclusivamente por causa do NestJs, poderia ser utilizado com qualquer backend feito em node): Tenho algumas aplicacoes frontend em Angular e React, e construi a minha api utilizando monorepository, e a minha camada de dominio que tem toda a descricao de servicos (interfaces), DTOs, interfaces, è utilizada tanto no back quanto to front nas minhas aplicacoes em React + Angular. Lembrando que essa è uma visao e experiencia pessoal, e atè o momento nao vi nenhum ponto negativo relevante pra destacar, o desenvolvimento tà sendo bem produtivo, leve de rodar, facil de utilizar TDD, integracao continua, deploy continuo, etc. Note: Claro que a escolha de um framework/linguagem depende de vàrios fatores, como disponibilidade/habilidade da equipe & desenvolvedores, suporte, comunidade (a do nest nao è enoooorme mas sempre que precisei fui respondido bem ràpido no git) , documentacao (achei a do nest bem eficiente), etc. Uma das vantagens que tambem notei è que meu front end em React , Angular utilizam a mesma linguagem que o meu backend (JS+TS) <3. Claro que tem muitos conceitos de backend que vao alèm da linguagem, etc, mas acredito que è uma vantagem de ter toda a stack utilizando uma linguagem sò :) Note: O Nest ajuda, mas vai depender principalmente da equipe/devs pra construir uma boa arquitetura pra API, o que vai fazer MUITA diferenca em todo o andamento e futura manutençōes do projeto. Nao sei de empresas grandes utilizando, mas ja migrei grande parte do meu backend antigo pro NestJs e o resultado ta sendo incrível e acredito è um framework maduro/escalàvel pra ser adotado em producao (nao sei em relacao a larga, porque nao consegui achar nenhuma empresa realmente grande utilizando) https://stackshare.io/nestjs Espero que tenha ajudado! Cheers! |
Beta Was this translation helpful? Give feedback.
-
@lucashfreitas Rapaz... você sanou todas as duvidas possíveis hahahaha gostei dele pela semelhança ao Angular e pelo TS, batendo o olho no código do Hello World já consegui me situar, me pareceu bem fácil. De qualquer forma muito obrigado, essa resposta foi de grande ajuda. |
Beta Was this translation helpful? Give feedback.
-
Show de bola @synga. =) Sobre o fastfy è exatamente isso :) Caso tenha qualquer dùvida em relação ao framework estou a disposição. Se você jà utiliza o angular no frontend, recomendo usar o Nest no backend! As ordens! |
Beta Was this translation helpful? Give feedback.
-
Uso o NestJS em projetos pessoais e onde trabalho estando migrando tudo que temos em C# para o NestJS com fastfy e typeorm, está tudo ocorrendo muito bem e muito rápido. |
Beta Was this translation helpful? Give feedback.
-
top! muito rica essa discussão. dúvidas pra galera: Qual a opinião para a seguinte Stack: Angular + Nest.Js Tenho pensado no backend de uma aplicação Angular e o NestJs é quase que igual em termos de sintaxe. Indo mais longe e essa? Angular + Nest.Js + TypeORM Sobre o Express ou Fastify? alguém poderia detalhar mais sobre eles? |
Beta Was this translation helpful? Give feedback.
-
Fiz o mesmo, de imediato tive mais aderência de outros devs que já estavam ambientados com js |
Beta Was this translation helpful? Give feedback.
-
Se for banco relacional, com certeza typeorm é muito produtivo, e já embarca padrões importantes de abstração, como "respositorio" por exemplo. Fiz um projeto que o client era ionic, com typeorm para o sqlite, para evolução de uma equipe de devs acho importante um framework que traga estruturação de código e padrões de arquitetura de uma forma natural, pois mesmo quando temos que fazer algo sem o nest ou ts, é natural reproduzir práticas que funcionam e escalam dentro de um consenso. meu desafio agora é implementar alguma coisa com docker e ter uma cobertura maior de testes. |
Beta Was this translation helpful? Give feedback.
-
Estou usando. Uso Angular no Front-end e usava Laravel. Estou migrando o back-endo pro NestJS e esse framwork é foda bagarai.... |
Beta Was this translation helpful? Give feedback.
-
Eu comecei meu desenvolvimento no node com o express, depois migrei pro Adonis (fui direto pro 5) após ouvir alguns podcasts da Rocketseat e assistir uns vídeos no YT. Achei muito bom ter tarefas corriqueiras todas automatizadas na palma da mão. Porém, me apaixonei mesmo foi com o Nest. A forma como o nest organiza o código em módulos/features é muito melhor que no adonis, o qual já tem uma estrutura fixa que vc tem que seguir. Recentemente abri até uma discussão no adonis perguntando se haveria uma forma de organizar a estrutura de pastas e arquivos em features como é feito no Nest. Até agora, o que posso apontar de prós e contras de cada um é: Adonis 5prós
contras
Nestprós
contras
Resumindo. São ótimos frameworks que batem de frente. Mas na minha opinião, se eu fosse iniciar um novo projeto hoje, eu ficaria com o Nest. Espero ter esclarecido algumas dúvidas que a galera geralmente tem. Críticas e sugestões são muito bem vindas! |
Beta Was this translation helpful? Give feedback.
Opa!
Fala @synga , beleza?
O NestJS è um framework de backend que è utilizado principalmente pra construir web api's. Estou migrando um backend enorme pro NestJs. Estou tendo resultados maravilhosos com relação a produtividade e performance atè então.
Ele foi desenvolvido inspirado no Angular e Typescript, então a sintaxe è bem parecida (apesar de ser utilizado pra construir backends). Ele utiliza o express por baixo dos panos mas tambèm è compativel com o fastify.
Sobre performance:
O nest perde um pouquinhio comparado ao express ou fastify puramente, segundo alguns benchmarks: https://github.com/nestjs/nest/blob/master/benchmarks/all_output.txt https://stackoverflow.com/questions/477333…