O typescript nada mais é que uma extensão da linguagem javascript, ou seja, um javascript com poderes a mais. Ele adiciona recursos de tipagem estática, interfaces, classes e outros recursos orientados a objetos para o javascript. Foi desenvolvido e é mantido pela Microsoft, fortemente utilizado em projetos de grande escala, principalmente em aplicações web, desktop e mobile.
Criamos uma função que calcula o dobro do valor, que foi passado por parâmetro, podemos ver que ao chamar essa função e passar uma string o vs code não acusa nenhum erro, mas deveria, afinal, não queremos misturar caracteres com números.
Ao usarmos o .ts no final do arquivo já podemos ver a diferença, tipamos o valor do parâmetro como number e ao passar uma string ele acusa o erro.
Em quais frameworks podemos utilizar o typescript?
O TypeScript é compatível com uma ampla variedade de frameworks e bibliotecas, tanto do lado do cliente quanto do servidor. Alguns dos principais frameworks e bibliotecas que suportam o typescript incluem:
Angular: O Angular é um dos frameworks para desenvolvimento de aplicativos web, e é totalmente escrito em typescript. O typescript é a linguagem recomendada para o desenvolvimento com o Angular, e o uso conjunto dos dois ajuda a garantir uma tipagem forte, melhoria da produtividade e confiança no código.
React: O React é uma das bibliotecas javascript mais populares para a criação de interfaces de usuário, e também é totalmente compatível com o typescript.
Vue.js: O Vue.js é um framework javascript progressivo que é compatível com o typescript desde sua versão 2.5.
Node.js: O Node.js é uma plataforma de desenvolvimento javascript para construir aplicativos do lado do servidor (backend). O typescript é compatível com o Node.js, permitindo que os desenvolvedores escrevam código de backend com tipos estáticos e recursos orientados a objetos.
Além desses frameworks, o typescript também é compatível com uma ampla variedade de outras bibliotecas e frameworks do ecossistema javascript, como o Express.js, o Nest.js e muitos outros.
Por que utilizar typescript em projetos react?
Quando falamos de React podemos utilizar o typescript ao nosso favor para usufruir de todos os seus benefícios, podemos listá-los:
IntelliSense: Devido ao typescript ter integração com a IDE, como o Visual Studio Code, ele tem suporte total ao IntelliSense, ou seja, ao longo do desenvolvimento o desenvolvedor tem acesso a sugestões de código baseado na tipagem dos dados, documentações e informações sobre os tipos das variáveis e funções em tempo real.
Segurança: O typescript usa tipagem estática, o que pode ajudar a evitar erros comuns de programação antes da execução do código. Isso pode resultar em um código mais seguro e confiável, e uma maior capacidade de manter projetos de grande escala.
Escalabilidade: Conforme um projeto React cresce, a manutenção do código pode se tornar algo mais complicado. O typescript vem para tornar o código mais escalável, adicionando recursos orientados a objetos como classes e interfaces. Isso torna a manutenção do código mais fácil e transparente, pois, teremos a tipagem correta dos dados.
Comunidade: O typescript é uma linguagem open source desenvolvida pela Microsoft, logo, há uma grande comunidade de desenvolvedores trabalhando em melhorias e correção de bugs constantemente. Quanto mais pessoas na comunidade mais fácil buscar por soluções ou dúvidas.
Desvantagens do typescript:
Curva de aprendizado: O typescript é uma linguagem mais complexa do que o javascript, o que significa que pode haver uma curva de aprendizado para os desenvolvedores que não estão familiarizados com o typescript. Isso pode levar a uma diminuição temporária na produtividade.
Menor flexibilidade: A tipagem estática pode fornecer segurança e confiabilidade, mas também pode limitar a flexibilidade do código. Algumas vezes é necessário forçar o tipo de uma variável e pode ser complexo usar a tipagem de uma biblioteca em específico.
Maior complexidade do código: Às vezes, o uso do typescript pode resultar em um código mais complexo e menos legível, especialmente se a verificação de tipos e outros recursos avançados não forem usados adequadamente.
Maior uso de memória: O typescript requer mais memória do que o javascript devido à necessidade de manter informações adicionais sobre tipos de variáveis. Isso pode ser um problema em projetos com limitações de memória.
Em resumo, o typescript pode ajudar a tornar o desenvolvimento de aplicativos mais seguro, escalável e eficiente, além de oferecer suporte a ferramentas populares de desenvolvimento. Uma vez que aprendemos a utilizá-lo, não pretendemos desenvolver aplicações com o javascript puro.