A Microsoft anunciou que está trabalhando em uma implementação nativa de TypeScript, prometendo otimizar o tempo de inicialização do editor, reduzir o tempo de build e diminuir drasticamente o uso de memória. Essa mudança, focada em performance e escalabilidade, busca resolver os desafios que a versão atual, escrita em JavaScript, enfrenta ao lidar com projetos maiores e mais complexos. A nova versão está sendo portado para a linguagem Go.
Essa nova implementação nativa de TypeScript promete ser um divisor de águas para desenvolvedores que buscam mais eficiência e velocidade em seus projetos. Entenda melhor o que essa mudança significa e como ela pode impactar o futuro do desenvolvimento com TypeScript.
Por que uma implementação nativa de TypeScript?
Segundo Anders Hejlsberg, arquiteto líder de TypeScript, o JavaScript tem suas limitações. A versão atual do TypeScript, escrita em JavaScript, trouxe muitos benefícios ao longo de uma década, mas também desafios relacionados ao desempenho e à escalabilidade. A plataforma de runtime JavaScript é otimizada para uso em UI e navegadores, não tanto para cargas de trabalho intensivas como compiladores e ferramentas de nível de sistema.
Uma das maiores queixas dos usuários é a falta de memória, especialmente em projetos grandes. Hejlsberg afirma que eles provavelmente atingiram o limite do que podem extrair do JavaScript. Para solucionar isso, a Microsoft optou por portar o codebase para Go.
Go é a linguagem mais adequada para o que eles estão tentando alcançar, oferecendo suporte otimizado em todas as plataformas, controle sobre o layout de dados, estruturas de dados cíclicas, gerenciamento automático de memória com garbage collector e acesso à concorrência.
Melhorias de desempenho e o futuro do TypeScript
Embora a versão completa da implementação nativa de TypeScript não esteja disponível até o final deste ano, ela já consegue carregar muitos repositórios TypeScript populares, incluindo VS Code, Playwright, TypeORM e date-fns. Os ganhos de performance são notáveis: a compilação do codebase do VS Code, que leva 77,8 segundos na versão JavaScript, é feita em apenas 7,5 segundos na nova implementação – uma melhoria de 10 vezes! Já o Playwright tem seu tempo de compilação reduzido de 11,1 segundos para 1,1 segundo.
Essa otimização abre portas para novos recursos antes considerados inviáveis. TypeScript poderá fornecer listagens de erros instantâneas e abrangentes em projetos inteiros, suportar refatorações mais avançadas e permitir insights mais profundos. A Microsoft acredita que essa nova base vai além da experiência do desenvolvedor de hoje e vai impulsionar a próxima geração de ferramentas de IA para aprimorar o desenvolvimento, com ferramentas que aprendem, se adaptam e melhoram a experiência de codificação.
O que esperar do TypeScript 7.0 e versões futuras?
A Microsoft planeja lançar essa implementação nativa de TypeScript como TypeScript 7.0, quando atingir a paridade com a versão atual (TypeScript 5.8). A versão baseada em JavaScript continuará a ser lançada nas versões 6.x, com mudanças e desativações para alinhá-la com o codebase nativo.
Alguns projetos poderão migrar para o TypeScript 7 nativo assim que for lançado, mas outros podem depender de recursos da API, configurações legadas e outras restrições que exigirão o uso do TypeScript 6 baseado em JavaScript.
A Microsoft reconhece o papel crítico do TypeScript no ecossistema de desenvolvimento JS e se compromete a manter o codebase JS na linha 6.x até que o TypeScript 7+ atinja maturidade e adoção suficientes. O objetivo é manter essas versões o mais alinhadas possível, para que os usuários possam atualizar para o TypeScript 7 assim que atender às suas necessidades ou voltar para o TypeScript 6, se necessário.
A empresa planeja compartilhar mais informações nos próximos meses, mas já disponibilizou um FAQ e realizará um AMA no TypeScript Discord em 13 de março.
Este conteúdo foi auxiliado por Inteligência Artificial, mas escrito e revisado por um humano.