熱門前端工具鏈宣布放棄 TypeScript!
近日,前端工具鏈 Turbo 宣布將在 8.0 版本放棄 TypeScript。三個月前,前端框架 Svelte 宣布將在 4.0 版本從 TypeScript 切換到使用 JSDoc 的 JavaScript。如今,又一大前端工具 Turbo 宣布放棄 TypeScript。TypeScript 究竟存在哪些問題,讓這些工具都宣布放棄使用?
Turbo 是用于前端開發的下一代工具鏈,用 Rust 編寫。它由 3 個主要部分組成:
- Turbopack[1]:增量構建工具(Webpack 的后繼者,比 Webpack 快 700 倍)
- Turborepo[2]:增量構建系統
- Turbo 引擎:低級增量計算和記憶引擎
從各方面來看,TypeScript 對微軟來說都取得了巨大的成功。但對于 Trobo 來說,TypeScript只是增加了不必要的麻煩。首先,使用TypeScript需要進行額外的編譯步驟,而且需要配置設置。其次,TypeScript在代碼中引入了類型操作,這可能使得代碼顯得復雜和冗長。有時候,本應該簡單的事情因為類型相關的限制變得困難,而有些復雜的問題則不得不使用any
類型來規避類型檢查。
JavaScript 和 TypeScript 之間的兼容性是它們的特殊魔力。TypeScript 團隊意識到無法完全替代 JavaScript,因此他們努力實現了完全兼容。這意味著即使不使用TypeScript,仍然可以使用 JavaScript 編寫代碼,并且能夠使用用TypeScript編寫的庫。這種自由組合的能力非常強大。這種兼容性非常有必要。
盡管在服務端的使用不如其他語言普遍,但在客戶端(例如瀏覽器)中,JavaScript 是必不可少的。雖然可以將其他語言編譯成JavaScript來在瀏覽器中運行,但最終還是需要用JavaScript來實際執行代碼。因此,在這種情況下,能夠自由、無需任何工具和強類型約束地編寫JavaScript代碼是一種非常方便的事情。
因此,即使 Turbo 放棄 TypeScript,也不會影響我們在使用 Turbo 的項目中編寫 TypeScript。
如果你對類型約束不感興趣,或者希望以更自由的方式編寫代碼,那么JavaScript可能更適合你。你可以更輕松地學習和使用JavaScript,而無需擔心類型錯誤或繁瑣的類型聲明。然而,如果追求代碼的嚴謹性和可靠性,并且喜歡在開發過程中獲得更多的工具支持和類型檢查,那么 TypeScript 可能是更好的選擇。
就像 Dan 所說的:
相關閱讀:? 前端框架Svelte放棄TS,如何使用純JS實現類型檢查?
對此你怎么看,你喜歡TypeScript嗎,為什么?歡迎在評論區留言討論~
[1]Turbopack: https://turbo.build/pack。
[2]Turborepo: https://turbo.build/repo。