TypeScript 7.0 troca JavaScript por Go e fica muito mais rápido
Notícias

TypeScript 7.0 troca JavaScript por Go e fica muito mais rápido

Acesse nossos conteúdos exclusivos!

O TypeScript é uma das tecnologias mais importantes do desenvolvimento moderno. Criado pela Microsoft para adicionar tipagem estática ao JavaScript, ele se tornou peça central em aplicações web, servidores, aplicativos móveis e até projetos desktop. A chegada da versão 7.0 representa uma das maiores mudanças da história da linguagem, não por introduzir novos recursos de sintaxe, mas por reescrever completamente sua infraestrutura.

JavaScript é coisa do passado

O destaque do lançamento é a substituição do antigo compilador, escrito em JavaScript, por uma implementação nativa desenvolvida em Go. A decisão muda profundamente a forma como o TypeScript utiliza o hardware disponível e resulta em ganhos expressivos de desempenho, especialmente em projetos de grande porte.

Segundo a Microsoft, o objetivo foi transportar sua lógica para uma linguagem capaz de oferecer código nativo, paralelização eficiente e melhor aproveitamento de processadores multicore. A equipe procurou preservar a arquitetura e o comportamento do compilador original, mantendo a compatibilidade entre as duas versões e evitando diferenças inesperadas durante a compilação.

Os números apresentados pela empresa ajudam a dimensionar esse salto. Em testes realizados com grandes projetos de código aberto, o tempo de compilação do código-fonte do Visual Studio Code caiu de aproximadamente 126 segundos para pouco mais de 10 segundos, uma aceleração próxima de 12 vezes. Projetos como Sentry, Bluesky, Playwright e tldraw também registraram reduções expressivas, variando entre 7 e quase 9 vezes mais velocidade.

Essa mudança afeta diretamente o cotidiano de quem programa. O compilador do TypeScript não é utilizado apenas quando o projeto é finalizado. Ele participa continuamente da experiência de desenvolvimento, oferecendo autocompletar, navegação entre arquivos, verificação de tipos, identificação de erros e inúmeras outras funcionalidades presentes nos editores modernos.

Aumento de desempenho

Outro benefício importante está no consumo de memória. Embora executar várias tarefas simultaneamente normalmente aumente o uso de recursos, a nova arquitetura conseguiu reduzir a memória total utilizada durante o processo de compilação. Dependendo do projeto, a economia variou entre 6% e 26%.

Grande parte desse desempenho vem do uso de paralelização. Enquanto versões anteriores executavam boa parte do trabalho de maneira sequencial, o TypeScript 7.0 distribui diferentes etapas entre múltiplos núcleos do processador. Processamento de arquivos, verificação de tipos e geração do código final podem ocorrer simultaneamente, reduzindo drasticamente o tempo necessário para concluir uma compilação.

Por padrão, o compilador utiliza quatro processos dedicados à verificação de tipos, mas esse comportamento pode ser ajustado por meio do novo parâmetro –checkers. Máquinas com processadores mais robustos podem aumentar esse número para obter desempenho ainda maior, enquanto ambientes com menos memória ou menos núcleos podem reduzi-lo para equilibrar o consumo de recursos com a velocidade.

Monorepositórios turbinados

Projetos organizados em monorepositórios também receberam atenção especial. O novo parâmetro –builders permite compilar diferentes projetos de referência ao mesmo tempo, reduzindo gargalos comuns em grandes repositórios corporativos. A Microsoft alerta apenas que a combinação entre muitos processos de compilação e muitos verificadores de tipos pode elevar rapidamente o consumo de memória, exigindo ajustes conforme o ambiente utilizado.

Para cenários específicos, também foi adicionada a opção –singleThreaded, que desativa completamente a execução paralela. Embora abra mão dos ganhos de desempenho, ela pode ser útil durante depuração, comparação de resultados entre versões do compilador ou execução em ambientes extremamente restritos.

Outra parte importante do trabalho envolveu a reconstrução do modo –watch, responsável por monitorar alterações nos arquivos e recompilar apenas o necessário durante o desenvolvimento. O novo sistema utiliza uma implementação baseada no watcher do Parcel, portada para Go, oferecendo detecção de mudanças mais eficiente e responsiva.

Além do desempenho, o TypeScript 7.0 traz algumas mudanças de comportamento que merecem atenção durante a migração. Configurações anteriormente opcionais ou marcadas como obsoletas passam a gerar erros, enquanto algumas opções adotam novos valores padrão. Entre elas estão a ativação do modo strict, o uso de esnext como módulo padrão e a habilitação definitiva do stableTypeOrdering, que deixa de poder ser desativado.

Também houve um refinamento no tratamento de caracteres Unicode em tipos de template literal. Embora seja uma alteração bastante técnica, ela corrige situações envolvendo caracteres representados por pares substitutos, tornando a inferência de tipos mais consistente para idiomas e símbolos que utilizam pontos de código fora da faixa básica do Unicode.

Essa transformação também evidencia uma mudança de filosofia dentro da própria Microsoft. Durante muitos anos, JavaScript foi suficiente para implementar praticamente todo o ecossistema do TypeScript. Com o crescimento dos projetos e a complexidade das aplicações atuais, a empresa concluiu que era necessário recorrer a uma linguagem compilada para continuar evoluindo sem sacrificar produtividade.

A escolha pelo Go também chama atenção. Desenvolvida pelo Google, a linguagem conquistou espaço justamente em ferramentas de infraestrutura, compiladores e aplicações que exigem alta concorrência e baixo consumo de recursos. Ao adotá-la, a Microsoft demonstra que o foco esteve muito mais nas características técnicas da linguagem do que em qualquer preferência por tecnologias próprias.

Ajude o Diolinux a seguir crescente e independente: seja membro Diolinux Play!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!