海爾斯伯格:將釋出TypeScript的本機原生實現

導讀:微軟宣佈將一直致力於建立 TypeScript 編譯器和工具的本機實現,此舉將顯著改善編輯器啟動時間,減少構建時間,並大幅減少記憶體使用量。
TypeScript 是一種基於 JavaScript 構建的語言。根據TypeScript 首席架構師 Anders Hejlsberg 的說法,JavaScript 確實存在其侷限性。 
“自從十多年前 JavaScript 問世以來,TypeScript 一直都是用它編寫的,”他說。“這帶來了很多優點,但也帶來了一些挑戰,特別是在效能和可擴充套件性方面。JavaScript 執行時平臺確實針對 UI 和瀏覽器使用進行了最佳化,而對編譯器和系統級工具等計算密集型工作負載的最佳化程度則不高。”
Hejlsberg 表示,使用者最常報告的問題之一是他們遇到記憶體不足的情況,尤其是在程式碼庫增長時。“我們可能已經達到了 JavaScript 所能發揮的極限,”他說。  
目前程式碼庫正在移植到 Go ,以實現本機實現。
正如 Hejlsberg 所說,這種語言最適合他們想要實現的目標。“這是我們可以獲得的最低階語言,它為我們提供了在所有平臺上完全最佳化的本機程式碼支援、對資料佈局的出色控制、擁有迴圈資料結構的能力等等。透過垃圾收集器為開發者提供自動記憶體管理,以及出色的併發訪問能力,”Hejlsberg 這樣補充說道。  
該原生實現的功能完整版本預計要到今年晚些時候才會推出,但這個新實現已經可以載入許多流行的 TypeScript 儲存庫,包括 VS Code、Playwright、TypeORM、date-fns 等。 
基於 JavaScript 的 TypeScript 需要 77.8 秒來編譯 VS Code 程式碼庫,而本機實現只需要 7.5 秒,這是一個 10 倍的改進。Playwright 使用新實現需要 1.1 秒,而之前需要 11.1 秒。
Hejlsberg 在一篇博文中這樣寫道:
“我們對這一大規模速度提升所創造的機會感到非常興奮。曾經看似遙不可及的功能現在已經觸手可及。TypeScript 可以在整個專案中提供即時、全面的錯誤列表,支援更高階的重構,並提供以前計算成本過高的更深入的洞察。這一新基礎超越了當今開發人員的體驗,並將使下一代 AI 工具能夠增強開發,為學習、適應和改善編碼體驗的新工具提供支援。”
根據微軟稱,當該原生實現與當前版本的 TypeScript(最新版本為 TypeScript 5.8)達到同等水平時,它將作為 TypeScript 7.0 釋出。它將在 6.x 版本中繼續釋出基於 JavaScript 的版本,並將引入更改和棄用以使其與原生程式碼庫保持一致。
一些專案將在原生 TypeScript 7 釋出時切換到原生 TypeScript 7,其他一些專案可能依賴於 API 功能、遺留配置和其他限制,而這些限制將要求它們使用基於 JavaScript 的 TypeScript 6。 
“認識到 TypeScript 在 JS 開發生態系統中的關鍵作用,我們仍將繼續維護 6.x 系列的 JS 程式碼庫,直到 TypeScript 7+ 達到足夠的成熟度和採用率。我們的長期目標是儘可能保持這些版本的一致性,以便您可以在滿足要求後立即升級到 TypeScript 7,或者在必要時回退到 TypeScript 6,”Hejlsberg 對開發者們發了多顆定心丸。
微軟計劃在未來幾個月分享更多資訊,但目前已整理了一份常見問題解答,並將於 3 月 13 日美國東部時間下午 1 點 | 太平洋時間上午 10 點 的TypeScript Discord上正式釋出。
作者:場長
相關閱讀:

相關文章