Microsoft Annuncia TypeScript 7: Una Riscrittura Nativa 10 Volte Più Veloce
Microsoft sta rivoluzionando TypeScript con una riscrittura nativa in Go che promette prestazioni 10 volte superiori, tempi di caricamento ridotti e un consumo di memoria dimezzato. Ecco cosa cambia per gli sviluppatori.

Microsoft Annuncia un TypeScript 10 Volte Più Veloce
Microsoft ha pubblicato un importante annuncio riguardante il futuro di TypeScript. Anders Hejlsberg, creatore di TypeScript, ha rivelato che il team sta lavorando a una riscrittura nativa del compilatore e degli strumenti TypeScript che promette di migliorare radicalmente le prestazioni, rendendo il linguaggio fino a 10 volte più veloce.
Secondo il post pubblicato sul blog ufficiale, la principale proposta di valore di TypeScript è fornire un'eccellente esperienza di sviluppo. Tuttavia, con la crescita delle dimensioni dei progetti, TypeScript ha mostrato difficoltà nel scalare adeguatamente sui codebase più grandi. Gli sviluppatori che lavorano su progetti complessi spesso sperimentano lunghi tempi di caricamento e controllo, e devono scegliere tra un avvio ragionevole dell'editor o una visione completa del codice sorgente.
Per affrontare queste sfide, Microsoft ha iniziato a lavorare su una versione nativa del compilatore TypeScript e dei relativi strumenti. Questa implementazione nativa migliorerà drasticamente l'avvio dell'editor, ridurrà la maggior parte dei tempi di compilazione di 10 volte e diminuirà sostanzialmente l'utilizzo della memoria.
Prestazioni Impressionanti
La nuova implementazione nativa è già in grado di caricare molti progetti TypeScript popolari, compreso il compilatore TypeScript stesso. I test mostrano miglioramenti sorprendenti nei tempi di esecuzione su progetti reali:
| Codebase | Dimensione (LOC) | Attuale | Nativa | Miglioramento |
|---|---|---|---|---|
| VS Code | 1.505.000 | 77,8s | 7,5s | 10,4x |
| Playwright | 356.000 | 11,1s | 1,1s | 10,1x |
| TypeORM | 270.000 | 17,5s | 1,3s | 13,5x |
| date-fns | 104.000 | 6,5s | 0,7s | 9,5x |
| tRPC (server + client) | 18.000 | 5,5s | 0,6s | 9,1x |
| rxjs (observable) | 2.100 | 1,1s | 0,1s | 11,0x |
Sebbene l'implementazione non sia ancora completa, questi numeri rappresentano l'ordine di grandezza del miglioramento delle prestazioni che gli sviluppatori potranno vedere nella maggior parte dei progetti.
Velocità nell'Editor
Poiché la maggior parte del tempo di sviluppo viene trascorsa negli editor, Microsoft ha posto particolare attenzione a migliorare le prestazioni in questo contesto. Utilizzando ancora una volta il codebase di Visual Studio Code come benchmark, il tempo attuale per caricare l'intero progetto nell'editor su un computer veloce è di circa 9,6 secondi. Questo si riduce a circa 1,2 secondi con il language service nativo, un miglioramento di 8 volte nel tempo di caricamento del progetto negli scenari di editor.
L'utilizzo complessivo della memoria sembra essere circa la metà dell'implementazione attuale, anche se non sono state ancora attivamente investigate ottimizzazioni in questo senso, quindi ci si aspettano ulteriori miglioramenti. Anche la reattività dell'editor per tutte le operazioni del language service (inclusi elenchi di completamento, informazioni rapide, vai alla definizione e trova tutti i riferimenti) vedrà significativi aumenti di velocità.
Inoltre, il team passerà al Language Server Protocol (LSP), un elemento infrastrutturale di lunga data per allineare meglio l'implementazione di TypeScript con altri linguaggi.
Roadmap delle Versioni
La release più recente è stata TypeScript 5.8, con TypeScript 5.9 in arrivo a breve. Il codebase basato su JavaScript continuerà lo sviluppo nella serie 6.x, e TypeScript 6.0 introdurrà alcune deprecazioni e modifiche necessarie per allinearsi con il futuro codebase nativo.
Quando il codebase nativo avrà raggiunto una parità sufficiente con l'attuale TypeScript, verrà rilasciato come TypeScript 7.0. Per chiarezza, Microsoft si riferirà a queste versioni semplicemente come TypeScript 6 (JS) e TypeScript 7 (nativo).
Mentre alcuni progetti potrebbero essere in grado di passare a TypeScript 7 al momento del rilascio, altri potrebbero dipendere da determinate funzionalità API, configurazioni legacy o altri vincoli che richiedono l'utilizzo di TypeScript 6. Riconoscendo il ruolo critico di TypeScript nell'ecosistema di sviluppo JS, Microsoft continuerà a mantenere il codebase JS nella linea 6.x fino a quando TypeScript 7+ non raggiungerà maturità e adozione sufficienti.
L'obiettivo a lungo termine è mantenere queste versioni il più allineate possibile, in modo che gli sviluppatori possano aggiornare a TypeScript 7 non appena soddisferà i loro requisiti, o tornare a TypeScript 6 se necessario.
Prossimi Passi
Nei prossimi mesi, Microsoft condividerà ulteriori informazioni su questo entusiasmante sforzo, inclusi approfondimenti sulle prestazioni, una nuova API del compilatore, LSP e altro ancora. Un documento con FAQ è già disponibile nel repository GitHub per rispondere alle domande più comuni. Microsoft invita anche la community a partecipare a una sessione AMA (Ask Me Anything) sul Discord della Community TypeScript.
Un miglioramento delle prestazioni di 10 volte rappresenta un enorme passo avanti nell'esperienza di sviluppo TypeScript e JavaScript, e il team Microsoft spera che gli sviluppatori siano entusiasti quanto loro per questo progetto.
Il Potenziale di un TypeScript più Veloce
Questa massiccia accelerazione apre opportunità che prima sembravano irraggiungibili. La nuova versione nativa sarà in grado di fornire elenchi di errori istantanei e completi su un intero progetto, supportare refactoring più avanzati e abilitare analisi più approfondite che prima erano troppo costose da calcolare.
Questa nuova base va oltre l'esperienza di sviluppo attuale e permetterà alla prossima generazione di strumenti AI di migliorare lo sviluppo, alimentando nuovi strumenti che impareranno, si adatteranno e miglioreranno l'esperienza di programmazione.
Conclusione
L'annuncio di Microsoft segna un punto di svolta significativo per TypeScript e per l'intera comunità di sviluppatori JavaScript. La riscrittura nativa non solo risolve i problemi di prestazioni che hanno afflitto progetti di grandi dimensioni, ma getta anche le basi per funzionalità avanzate e integrazioni con l'intelligenza artificiale che potrebbero rivoluzionare ulteriormente lo sviluppo web nei prossimi anni.
Gli sviluppatori interessati possono già iniziare a esplorare il nuovo codice, disponibile nel repository GitHub del progetto, dove è possibile compilare ed eseguire il codice Go dalla nuova repository di lavoro, offerto con la stessa licenza del codebase TypeScript esistente.