Neste artigo vamos responder as principais dúvidas sobre o NestJS, começando com a dúvida top 1:
O que é o NestJS?
De forma direta, NestJS é um framework escrito em TypeScript para servidores que executam o Node.js. Como qualquer framework, o Nest possui um conjunto de classes, funções, tipos e padrões que vão auxiliar e organizar o desenvolvimento de aplicações. Um dos motivos do NestJS ter ganhado tanta popularidade em tão pouco tempo é o fato de ter sido criado usando o framework já popular ExpressJS e unir ao padrão de projeto do framework front-end Angular.
Para que serve o NestJS?
O NestJs serve principalmente para criar aplicações no servidor. Essas aplicaçoes podem ser: API HTTP, Aplicação Web, Microserviço gRPC ou Aplicação Web Socket. Escolher uma dessas opções ou misturar até mesmo todas elas é decisão do desenvolvedor, de qualquer forma o NestJS facilita, organiza e escala qualquer uma dessas soluções de aplicação.
O NestJS é melhor que o Express?
Ser melhor ou não sempre relativo, mas leve em conta nesta equação o fato do NestJS ter embutido o ExpressJS, à partir disso além do Nest ter tudo o que Express tem ele ainda possui muitos outros recursos e adiciona mais possibilidades de uso do que o próprio Express. Por isso a conclusão óbvia a essa pergunta é sim, NestJS é melhor que o Express.
Qual é a diferença entre Nextjs e NestJS?
Embora o framework Next tenha a possibilidade de criar APIs e Aplicações Web o seu foco principal está no Front-End e não no Back-End. O Next é construído usando React e tem como principal caracteristica a renderização no lado do servidor. Lado esse que é o principal e único ambiente do Nest, que embora tenha seu padrão de organização inspirado no Angular (outro framework Front-End), o Nest é um framework Back-ENd e não Front-End como o Next. Entretanto, além dos nomes muito parecidos, eles compartilham outras semelhanças como a linguagem JavaScript, necessidade de executar o Node.js e forte popularidade da comunidade.
NestJS e Nodejs são iguais?
Não. Node é o motor responsável por executar a linguagem JavaScript no servidor, é também um pré-requisito do NestJS e não um framework concorrente. O NestJS além de usar o NodeJS para funcionar, possui um conjunto de códigos prontos e um padrão de projeto para criarmos aplicações em NodeJS.
O NestJS é um OOP?
Sim. Apenas para esclarecer OOP (Object-oriented programming) ou Programação Orientada à Objetos é um recurso das linguagens de programação. JavaScript por sua vez possui objetos e alguns recursos que até a data de hoje não foram implementados no EcmaScript são resolvidos pelo superset TypeScript, o qual é usado pela NestJS e por isso também um pré-requisto.
Vale a pena aprender NestJS?
Com certeza sim, por experiência própria aqui na Hcode usamos tanto o Node.js como NestJS e ganhamos muito tempo no desenvolvimento de novas features usando o framework NestJS além dos novos recursos que ele nos oferece. Por isso recomendamos fortemente o uso dele caso seu Back-End seja em Node.js e principalmente se você pretende escalar sua aplicação agora ou no futuro.
O NestJS é FullStack?
Primeiro vamos entender o que é FullStack. FullStack é usado para definir toda a Stack ou áreas necessárias para executar completamente uma aplicação. Por exemplo, imagine que nós precisamos criar uma loja virtual, o que iremos precisar? Se você definir que precisará de um Banco de Dados, uma Linguagem de Programação Back-End e um Front-End e respectivamente você escolher MySQL, Node.js e React essa é a Stack desse projeto. Se você desenvolver e dominar essas três Stacks, então você é FullStack neste projeto. Agora que entendemos o conceito de FullStack, a pergunta que precisamos fazer é: O NestJS é a única solução que precisamos para criar todo a nossa aplicação? Se a resposta for sim, então neste projeto você pode dizer que o Nest é FullStack, mas a verdade é que na maiorias dos casos você irá precisar de outras Stacks como um banco de dados e um Front-End que não fazem parte do NestJS, e por fim, neste caso a resposta é que o NestJS não é FullStack.
As empresas estão usando o NestJS?
Sim, além da própria Hcode usar o NestJS, no site oficial do Nest é possível ver uma lista das empresas que usam o NestJS como por exemplo: Roche, Adidas, Capgemini, Decathlon, Auto Desk, Neo4j e lista segue. Você pode conferir a lista completa neste link do site oficial do Nest. E podemos assumir que com a facilidade que o NestJS tras mais empresas irão migrar ou criar novos serviços usando este framework.
Por que não usar o NestJS?
Assim como temos inumeras razões para usar com certeza sempre haverá inumeras outras razões para não usar o NestJS, a resposta e as razões vão variar de projeto para projeto, mas podemos imaginar algumas possibilidades do por que alguém não usaria o NestJS como por exemplo não ter profissicionais experientes na área, não poder usar o Node.js em seus servidores, possuir um sistema legado em outra linguagem de programação ou até mesmo por não se identificar com o TypeScript ou os padrões do NestJS. Enfim, essa lista poderia continuar tendo novos motivos, mas cada um precisará pesar os prós e contras antes de decidir usar ou não NestJS e propor uma alternativa a altura dele.
O NestJS é fácil de aprender?
Sim! E principalmente com a Hcode pois temos cursos de NestJS que ensiam a fundo os conceitos fundamentais e com exemplos práticos que vão além do que é descrito na documentação oficial, que podemos dizer também que é bem feita e possui muitos exemplos que ajudam quem está aprendendo sobre este framework.
O NestJS é melhor que o Laravel?
Novamente podemos dizer que melhor é relativo ao cenário como um todo que está sendo avaliado. Ambos os frameworks não incríveis e recomendados para uso na produção, também ambos possuiem recursos para solucionar os problemas comuns e necessidades que uma aplicação terá. Entretanto eles usam linguagens de programação diferentes, no caso do Laravel é usado PHP, e por isso a linguagem pode trazer ou deixar de ter recursos especificios em comparação com o JavaScript. Mas ainda assim podemos destacar que o Laravel tem mais tempo no mercado e a Web ainda possui um uso maior de PHP no Back-End, provelvente por conta de outra aplicação PHP chamada Wordpress. Mas isso faz com que ainda tenhamos mais profissionais especialistas em PHP do que NodeJS, porém acreditamos que esse cenário irá continuar mudando e se tornando mais competitivo e equilibrado com o avanço do NestJs e prossivelmente outros frameworks e linguagens que podem surgir com o tempo.
Qual o curso da Hcode que devo começar para aprender NestJS?
Como já citamos acima você precisa ter alguns pré-requisitos para tirar um maior proveito do NestJS, como já saber Lógica de Programação, conhecer a Linguagem JavaScript, saber como ela se comparta nos servidores usando o NodeJS e também o famoso superset TypeScript que nos da acesso a mais recursos nesta linguagem que são usados no NestJS. Mas se já tiver esses conhecimentos sugerimos iniciar pelo curso de NestJS Fundamentos que irá abordar os principais conceitos do NestJS e explicar os termos e padrões de projetos usados pelo framework, enquanto desenvolvemos uma RESTful API como exemplo prático. Vale lembrar também que tanto o curso de Nest como todos os seus pré-requisitos estão dispoíveis no Hcode Class, a nossa plataforma de cursos online que você tem acesso com apenas uma assinatura.
Caso ainda tenha outras dúvidas sobre o NestJS, por favor nos deixe saber enviandos os seus comentários ou entrando em contato com a gente.