Logotipo do TypeScript azul claro com fundo de azul escuro

Em 2018 a tecnologia já disputava o pódio entre as linguagens mais amadas dentro do ecossistema de desenvolvimento web

TypeScript: por trás do superset de JavaScript

Typescript 11 de Mar de 2022

Um conjunto de ferramentas JavaScript que adicionou tipagem e novos recursos na linguagem

Faz algum tempo já que estamos encantados com o TypeScript e já inserimos a tecnologia em nossa programação diária. Entre iniciantes ainda existe muitas dúvidas sobre o que significa, na prática, TypeScript e quais são suas diferenças com o JavaScript.

Os que já estão mais adaptados com ele, no entanto, podem não saber de detalhes, ou curiosidades, relevantes sobre a trajetória do TS dentro do mercado de trabalho.

O conteúdo de hoje vai se aproximar de uma conversa mais técnica para tentar responder algumas perguntas e compreender, afinal, quais foram os impactos do TypeScript em nossos códigos.

2012

Dizer que TypeScript é uma linguagem pode servir para generalizar a sua adoção e simplificar a referência, no entanto, pode ser um pequeno deslize de definição. Segundo a Microsoft, TS é um superconjunto — superset — de JavaScript que adiciona novos recursos na linguagem, como tipagem.

Ou seja, um conjunto de ferramentas criado e encorpado sobre o JavaScript. Foi desenvolvido por um time de desenvolvimento dentro da Microsoft e seu primeiro release foi em 2012.

Demorou um tempo para ser adotado pelo mercado, mas em 2018 a tecnologia já disputava o pódio entre as linguagens mais amadas dentro do ecossistema de desenvolvimento web, ocupando o quarto lugar.

Impulso

Algumas coisas podem justificar o impulso da linguagem, que completa oito anos agora em outubro. O ponto definitivo para se tornar referência aconteceu em 2016, quando o Angular, framework da Google, decidiu adotar o TypeScript como linguagem oficial.

Esse evento pode ser ilustrado neste gráfico do Stack Overflow — repare no crescimento do número de perguntas da comunidade nos últimos quatro anos. Em 2020 o TypeScript se coloca em segundo lugar entre as linguagens mais amadas, de acordo com este survey.

Ryan Cavanaugh

Segundo o atual engenheiro líder da equipe que mantém o TypeScript na Microsoft, Ryan Cavanaugh, nesta entrevista para o Stack Overflow, a iniciativa surgiu porque alguns times dentro da empresa, como o TFS e Office, queriam criar aplicações grandes utilizando JavaScript.

Na época essas equipes estavam acostumadas com linguagens estaticamente tipadas, como C++, C# e Java.

“Eles queriam ter essa tipagem estática disponível para escalabilidade e tooling”.

Ao invés de criar uma nova linguagem do zero, no entanto, eles decidiram pegar o JavaScript e adicionar tipagem estática nele para uso imediato. Recomendo vocês darem uma lida com atenção na entrevista de Ryan para saber de detalhes sobre as decisões internas da Microsoft ao desenvolver o TypeScript.

Inseguranças por trás da novidade

Beleza, o TypeScript supriu uma necessidade interna da Microsoft e foi adotado pelo Angular, mas ainda assim, muitos desenvolvedores sentiram um certo receio para experimentar as novas funções da linguagem.

Com o mercado adotando cada vez mais o uso do TypeScript, é normal vir uma bagagem de inseguranças, tanto para quem começa a programar em JavaScript como para quem já está na frente de desenvolvimento.

Afinal, será que não estamos matando as vantagens do JavaScript em ser tão dinâmico e o transformando em um Java, que é estático? A adição dessas tipagens ajudam ou prejudicam na criação de nosso projeto? Bom, acho que a resposta mais honesta é: depende.

Nada é tão simples por aqui

Não é muito viável dizer com total garantia que as tipagens inseridas pelo TypeScript no JavaScript vão te ajudar, ou prejudicar. Não é tão simples porque tudo depende de variáveis relevantes, por exemplo: o tempo disponível para o preparo de seu time e a escala que o projeto pode tomar.

Segundo o próprio engenheiro do time, Ryan Cavanaugh, naquela entrevista, “se tipagem estática não é uma escolha certa para você, seja para seu estilo de programar ou para o problema que você está trabalhando em cima, só pule. Tá tudo bem. É okay. Não vou ficar ofendido”.

Otimizar o seu conhecimento

No entanto, há considerações importantes. Nós defendemos o uso do TypeScript ao se trabalhar em algumas situações onde o código é open source, para evitar uma centena de problemas, e para projetos que precisam de escala, para otimizar grandes processos de produção.

O melhor jeito de entender o TypeScript é enxergá-lo como uma evolução que pode te ajudar muito em alcançar novas camadas de produtividade e criação no seu desenvolvimento.

Você pode conferir, com detalhes, a nossa visão sobre o assunto neste Masterclass do Diego Fernandes, e ainda conhecer, na prática, as funções do TypeScript.

Marcadores

Felipe Buzzi

Content writer @ Rocketseat