NodeJS com Typescript SIM!
Como desenvolver uma API elegante com NodeJS — parte 1
Ao meu ver, a maioria das aplicações Node devem utilizar Typescript como sua Linguagem para desenvolvimento, exceto aos cenários onde a composição de aplicação seja bem enxuta e simples. Agora aplicações com um corpo maior, é preferível a utilização do Typescript.
Na teoria 📚👨🏻🎓👩🏼🎓
DISCLAIMER: Aqui vamos ressaltar alguns itens teóricos que serão úteis para o aprendizado pré implementação. Caso queira ver direto na prática, vá para o próximo título.
O que é o Typescript?
Typescript é um superset do Javascript que propõe a escrita de um código mais organizado, com abstrações melhores definidas para Programação Orientada a Objetos e com uma tipagem bem definida. Por ser um superset, o resultado do seu código é um código Javascript baseado no Typescript escrito.
Sim, é possível programar orientado a objetos com Javascript. Para mais detalhes, esse link da Mozilla pode explicar melhor.
Playground Typescript
No site oficial do Typescript é disponibilizado um playground onde fica claro o resultado de um código. Basta acessar o link e brincar um pouco.
Na prática ⚡👨🏻💻👩🏼💻
Então vamos lá para o início de nosso projeto:
Pré-requisitos
- VSCode (ou editor de sua preferência)
- Instale o Node (este projeto utilizará a versão 12.15.0)
- Abra o seu terminal e instale o Typescript globalmente utilizando o comando
npm install typescript --save
Um Hello World
Abaixo temos um exemplo, onde é criado um arquivo Typescript que contém uma classe que no seu construtor chama uma função de print de Hello World.
TSC (TypeScript Compiler)
Para compilar o arquivo Typescript basta executar o comando tsc “nomeArquivo.ts”. Abaixo exemplo:
Arquivo .tsconfig
O arquivo .tsconfig vai nos auxiliar nas configurações gerais do Typescript dentro da nossa solução, como o local de saída da nossa compilação, a versão do ECMASCRIPT de saída, os arquivos que serão compilados e etc.
A seguir vemos a criação desse arquivo via tsc init, com uma simples configuração de saída para uma pasta chamada /dist :
Criando uma API
Em Node há diversos frameworks que permitem a criação de um server http, no qual possibilitam o desenvolvimento de uma API Restful com poucas linhas de código. O framework mais popular que faz esse papel é o Express, e é ele que utilizaremos.
ESLint + Typescript (extra)
Como você já deve saber, todo programador tem sua forma de desenvolver. Suas manias, habitos, formas de identar, formas de lidar com variaveis e etc. Esse tipo de realidade pode proporcionar uma catástrofe no código, conforme a quantidade de desenvolvedores envolvidos nele. E isso se dá porque não foi definido um padrão de código para ser seguido.
O ESLint é uma ferramenta que pode ajudar nesse sentido. A partir de um arquivo de configuração (.eslintrc), todo seu código passa por uma inspeção durante o desenvolvimento do seu código Javascript (ou Typescript), retornando os possíveis erros de código que comprometem o padrão definido de código. Legal né?
Dica: Se você já ouviu falar sobre o TSLint, ou já usa ele, saiba que ele está obsoleto e em migração ao ESLint. Saiba mais.
Abaixo temos uma rápida aplicação do ESLint com Typescript no nosso código:
Conclusão
Simples não é? O uso do Typescript não é difícil de implementar e trás muitas vantagens pro dia a dia do seu time. Vale a pena se aprofundar mais sobre a tecnologia e possibilidades em sua documentação oficial.
O código desenvolvido nesse artigo se encontra no seguinte repositório.
No próximo item falarei sobre o InversifyJS e sua proposta audaciosa para a comunidade Node.
Valeu! Abraços!