Frameworks

Express vs NestJS: como saber quais frameworks devo usar na hora de programar?

19/08/21

Os frameworks facilitam a nossa vida ao permitirem a reutilização de códigos com poucas alterações, poupando, assim, o tempo e energia investidos na hora de criar projetos.

Os códigos desenvolvidos, de maneira geral, servem para resolver uma infinidade de questões. Com a aplicação correta desses códigos, as equipes de TI conseguem, por exemplo, solucionar problemas gerais como melhorar a usabilidade de sites para tornar mais fácil o acesso dos clientes, ou até mesmo encontrar a solução de problemas muito específicos como o caso de uma empresa que atua no setor de transporte e está enfrentando falha na logística do seu app, que atende à diversas pessoas em um único dia.

Para criar uma linguagem de programação que vai solucionar problemas como esses, devs investem bastante tempo. Mesmo que o desenvolvimento de aplicações seja demorado, existem maneiras que os ajudam a desenvolver um projeto com mais facilidade. Muito provavelmente, se você já ouviu falar ou teve interesse de conhecer um pouco melhor o universo de tecnologia da informação, já deve ter esbarrado em termos como frameworks ou bibliotecas, que compõem uma espécie de depósito em que os programadores e programadoras podem disponibilizar ou encontrar códigos que se propõem a resolver problemas específicos.

O que é framework e biblioteca de códigos?

As bibliotecas funcionam como conjuntos de implementações com diversos códigos, que apresentam funções ou procedimentos que o programador utiliza para realizar uma tarefa. Imagine que ao incluir um código específico, que faça parte de uma biblioteca, o programador consegue resolver um problema matemático como o seno, cosseno, tangente ou raiz quadrada rapidamente. É claro que sem esse código o programador também conseguiria solucionar essa tarefa, mas o tempo gasto para isso seria muito maior.

Assim como as bibliotecas, os chamados frameworks também exercem uma função muito parecida na hora de facilitar a vida dos profissionais de TI. Ao pé da letra, o significado de framework quer dizer estrutura. Desse modo, os frameworks oferecem uma estrutura, em formato de código, para que o programador aplique no seu dia a dia. É como uma caixa de ferramentas, com itens que facilitam a vida de quem cria códigos. Na prática, um framework costuma ser a composição de diversas bibliotecas que, juntas, são capazes de resolver um problema muito maior.

Mas é preciso fazer um alerta importante: apesar de algumas semelhanças, é válido reforçar que framework não é a mesma coisa que biblioteca. A biblioteca oferece uma forma de trabalho independente de onde ela será implementada. Já um framework, ao ser adotado, vai guiar todo o desenvolvimento da aplicação que está sendo construída com ele.

Framework Express x Framework NestJS

Atualmente existem diversos tipos de frameworks no mercado, com funcionalidades muito específicas. Desse modo, para aproveitar ao máximo as capacidades dessa tecnologia, é importante conhecer a função de cada um deles. Entre os mais utilizados temos, por exemplo, o pessoal que prefere o Framework Express.js, mas também existem aqueles grupos que não dispensam as facilidades que o Framework NestJS promove.

Antes de entender o que é Express.js e NestJS, precisamos entender o que é NodeJS. O Node JS é um software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web. Atualmente, o Node JS já é utilizado por grandes empresas no mercado de tecnologia, como Netflix, Uber e LinkedIn. Aqui na Blue, consideramos o Node JS uma das principais ferramentas, que guiarão muitos de nossos cursos.

Express.js 

O Express.js é um micro-framework para dar a capacidade das aplicações Node JS se comunicarem com a web, transformando-as em servidores que poderão receber requisições HTTP, por exemplo, e enviar respostas contendo dados, imagens ou qualquer outro tipo de conteúdo. O Express.js foi projetado do zero para ser uma aplicação flexível e minimalista de Node JS. Uma de suas principais características está ligada à sua simplicidade: este framework não força nenhuma estrutura de arquivos específica e não tem uma maneira específica de organizar seu projeto. E é justamente essa liberdade, que quando somada à sua velocidade de configuração, faz com que ele se torne um recurso poderoso para desenvolvimento ágil e criação de protótipos rápidos.

NestJs 

Já o NestJS tem uma outra proposta: facilitar o desenvolvimento de aplicações web, independente do protocolo de comunicação que elas utilizem. Por padrão, o NestJS trás o Express.js por baixo, ou seja, é um framework em cima de um outro framework, interessante, não?! Além de fornecer uma estrutura de arquivos específica, o NestJS introduz alguns conceitos de arquitetura como: módulos (modules), controladores (controllers) e serviços (services), conectando todos esses pedaços através de um mecanismo chamado injeção de dependência, além de utilizar conceitos mais avançados da arquitetura de sistemas como inversão de controle (inversion of control) e fazer com que os arquivos sejam mais independentes.

Vantagens do uso de framework 

O mais interessante disso tudo é que quem está desenvolvendo não precisa se preocupar ou saber sobre isso.  E o mais importante, não é necessário ter que conceber tudo isso! Já tem uma equipe por trás que pensou tudo isso, documentou e disponibilizou isso para a comunidade através de um framework open-source (de código aberto).

Independente da sua escolha, uma coisa é certa: os frameworks vão te ajudar no desenvolvimento rápido e seguro de qualquer aplicação. Desde que o framework selecionado seja direcionado à função desejada, suas funcionalidades vão atender qualquer necessidade. Entre os benefícios mais comuns, destacam-se a redução na incidência de bugs, já que os códigos passam por diversos testes antes de serem disponibilizados e a diminuição dos custos operacionais, pois facilitam e agilizam o desenvolvimento de um software e maior consistência das aplicações, pois as falhas são menores do que se elas tivessem sido produzidas integralmente do zero.

A Blue te ajuda a descobrir o melhor framework 

Nos cursos da Blue, após os módulos introdutórios, você já estará pronto para saber qual framework é o melhor para te ajudar na hora de criar códigos. Mas caso ainda tenha restado alguma dúvida, conheça o nosso programa de curso. Inspire-se e inscreva-se para ser um programador diferenciado formado pela Blue.