No lado do cliente, qualquer tentativa de criar aplicações complexas vai ser uma "gambiarra". O TypeScript pode ser uma das opções mais robustas nesse cenário. Tenho notado a tendência da comunidade Rust em desenvolver soluções com frameworks frontend baseados em Wasm. Entretanto Rust, me parece complexo demais para criar apenas interfaces de usuário - apesar da ideia de aplicações end-to-end ser atrativa. Também conheço o Blazor da Microsoft, que tem certa relevância em certos mercados. Não tenho experiência no desenvolvimento, mas como usuário, a experiência não me agradou.
Uma tendência promissora que vejo, é o uso equilibrado e racional do JavaScript, focando na renderização e na experiência do usuário, enquanto a lógica e, se possível, todo estado da aplicação permanecem no backend. Feitos com a tecnologia apropriada para lidar com estas complexidades.
A popularidade do TypeScript no backend é que me deixa mais intrigado. Para mim, indica um problema. Muitos desenvolvedores optam por usar a única linguagem que conhecem para tudo, criando inúmeras ferramentas, às vezes eficazes, para resolver um problema que é na verdade uma decisão clara de projeto e escopo da linguagem.
Por outro lado, a comunidade JS tem feito avanços notáveis em ferramentas robustas para lidar com tipos. Tenho acompanhado superficialmente o Bun e seu suporte nativo ao TypeScript, mas ainda não sei qual vai ser o impacto disso.