成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

TypeScript被放棄!又一知名前端利器決意轉回JS,社區(qū)不滿:這在開倒車!

原創(chuàng) 精選
開發(fā) 前端
Hotwire 作為一種Web開發(fā)的新方法,旨在編寫全棧式Web應用時盡可能簡化Web開發(fā)過程,減少對JavaScript的使用依賴,其中Turbo是Hotwire 的核心組件之一。

撰稿丨千山

日前,Ruby on Rails的創(chuàng)建者David Heinemeier Hansson(DHH)宣布,將從前端工具鏈Turbo的8.0版本開始刪除TypeScript,這一決定引起了開發(fā)社區(qū)極大的震驚與不滿。

TypeScript作為廣受歡迎的語言,以其強大的類型系統(tǒng)和優(yōu)秀的可維護性而出名。所以Turbo 8的決定受到了很多人的質疑。很多Turbo用戶表示,這個決定不僅倉促,而且是“不受歡迎的”。

但如果你有留意過前端工具的發(fā)展動態(tài),也許會記得,數月前,前端框架Svelte曾宣布將在4.0版本從 TypeScript 遷移到 JavaScript JSDoc。如今,又一個前端工具選擇放棄TypeScript,這到底意味著什么?是技術的倒退,還是TypeScript的某種“不合時宜”,或者另有隱情?                 

圖源:X(推特)@DHH圖源:X(推特)@DHH

1、TypeScript污染代碼,只是障礙?

Turbo本身并不是最受歡迎的框架之一,但近年來,在Rails世界中,它和Hotwire還是受到了不少關注。

Hotwire 作為一種Web開發(fā)的新方法,旨在編寫全棧式Web應用時盡可能簡化Web開發(fā)過程,減少對JavaScript的使用依賴,其中Turbo是Hotwire 的核心組件之一。

借助 Turbo,可以讓服務端直接發(fā)布 HTML,這意味著所有業(yè)務邏輯都能或多或少地只用你所喜歡的編程語言即可實現。所有的邏輯都位于服務端,而瀏覽器只處理最終的 HTML。

關于為什么要放棄TypeScript?

DHH直接發(fā)文表示:“TypeScript 對我來說只是阻礙。不僅因為它需要顯式的編譯步驟,還因為它用類型體操(Type Gymnastics)污染了代碼。“這讓他的開發(fā)體驗苦多樂少,且常常會化簡為繁,徒增困擾。

簡言之,對Trobo而言,TypeScript有些“麻煩”。

首先,使用TypeScript需要進行額外的編譯步驟,而且需要配置設置,這會增加不必要的復雜性。棄用TypeScript將使Turbo 8的編譯過程更加迅速,開發(fā)流程更為簡潔。這將釋放出更多寶貴的時間和資源,用來進行其他創(chuàng)新和改進。

其次,類型系統(tǒng)很棒,但類型的引入也可能導致代碼變得繁復而冗長,讓代碼體積變過于龐大。而且有時候,某些簡單的事情反而會因為類型相關的限制變得事倍功半。

再者,TypeScript 團隊早就意識到無法完全替代 JavaScript,因此他們努力實現了兩者的完全兼容。這意味著即使不使用TypeScript,仍然可以使用 JavaScript 編寫代碼,并且能夠使用用TypeScript編寫的庫。

最后,放棄TypeScript并不意味著Turbo 8放棄了類型安全和可維護性的重要性。相反,Turbo 8承諾將加大對JavaScript生態(tài)系統(tǒng)的支持,通過引入新的功能和工具,來提高代碼質量和開發(fā)速度。更加聚焦于JavaScript生態(tài)系統(tǒng)的發(fā)展可以讓Turbo 8能夠更專注于提供出色的開發(fā)體驗。

2、矛盾的激化:

不滿不僅在于更改,還在于更改的方式

微軟的Anders Hejlsberg發(fā)明了TypeScript,因為他相信用強類型語言編寫復雜的應用程序會更健壯,更容易維護。TypeScript也的確取得了巨大的成功,這一語言在編程社區(qū)中的流行表明,許多人都贊成這一點。

但在DHH看來,TypeScript最引以為豪的“強類型”恰恰是障礙。JavaScript 是客戶端的必不可少的語言。雖然可以將其他語言編譯成JavaScript來在瀏覽器中運行,但最終還是需要用JavaScript來實際執(zhí)行代碼。因此,在這種情況下,“能夠自由、無需任何工具和強類型約束地編寫JavaScript代碼是一件幸事”。

不過,就社區(qū)的反饋來看,多數用戶都在不同程度上感到困惑和失望,而且不僅僅是因為這個決定本身,還因為決定的方式。

一位用戶表示:“切換回JS意味著許多Hotwire生態(tài)系統(tǒng)包將被破壞。目前所有開放的PR現在都已完全過時。IDE將不再像以前那樣提供自動完成功能。”

另一位抱怨道,“倉促做出這一重要改變,忽略了所有(我指的是所有)公開評論……開創(chuàng)了一個先例。Ruby on Rails也會這樣開發(fā)嗎?這是一個人的心血來潮嗎?”

還有人直言:“大衛(wèi)單方面且未經討論就淘汰了多個貢獻者的工作。這與TS無關,這關乎對社區(qū)和生態(tài)系統(tǒng)的尊重。”

對于反對聲,DHH早有預見。他在官宣放棄TypeScript時就曾提到,“很少有程序員有興趣改變他們對類型的看法。大多數程序員發(fā)現自己在職業(yè)生涯的早期就受到了TypeScript的強烈吸引,然后把剩下的時間花在為自己和他人合理化這一選擇之上。”

有網友“翻譯”了一下DHH的這段話并開了一波嘲諷:“這段話基本上就是在說,1、程序員不會改變主意。2、因為他們不會改變主意,所以關于這個決定的爭論是徒勞的。3、因為爭論是徒勞的,所以我拒絕解決人們對這個武斷決定的擔憂。老實說,如果他只是說‘我正在做一個武斷的決定’,而不是用冗長、半生不熟的辯解來表達它,我會更能接受。”

圖源:Reddit圖源:Reddit

隨著矛盾的激化,針對少數TypeScript的激進支持者,DHH也“硬剛”了回去,再度發(fā)文稱之為“絕對精神錯亂的開源流氓行為”。

他依然堅持己見:“所有的愛和贊賞都獻給那些喜歡TypeScript的貢獻者。這是一場爭論,爭論不太可能改變任何人的基本立場,所以我不會試圖這樣做。”

3、一切只是選擇:

放棄TypeScript,放過自己

爭論尚未休止。除了反對聲外,也有人覺得這個決定只是面向未來版本的戰(zhàn)略調整,盡管會給開發(fā)者們帶來一些困擾,但Turbo團隊的決策還是很有勇氣的。

就像當初Svelte 團隊決定放棄TypeScript,轉而使用JavaScript和JSDoc注釋來實現類型安全。這種方法提供了所有類型安全的好處,而沒有與 TypeScript 相關的缺點。

如今Turbo團隊的決策到底是剛愎自用還是富有遠見?尚需要時間的檢驗。不過,可以肯定的是,TypeScript終究只是工具,到底要不要用,好不好用,還是取決于開發(fā)團隊或開發(fā)人員的特定需求和偏好。

很多開發(fā)人員之所以選擇 TypeScript,是因為強類型可以減少錯誤,如果你追求代碼的嚴謹可靠,并樂于在開發(fā)過程里獲得更多的工具支持和類型檢查,那么TypeScript會很趁手。但如果你和DHH一樣,對類型限制感到痛苦,希望能更加無拘束地編寫代碼,那么放棄TypeScript也是放過你自己。

就像React核心開發(fā)Dan Abramov所表達的,“如果你增加TypeScript,我會為你鼓掌。如果你移除TypeScript,我(同樣)會為你鼓掌。關鍵在于是你在更改代碼,而不是那些代碼在改變你。改變意味著生活,你正生活在其中。”

圖源:X(推特)@dan_abramov圖源:X(推特)@dan_abramov

參考鏈接:

https://world.hey.com/dhh/turbo-8-is-dropping-typescript-70165c01

https://www.reddit.com/r/programming/comments/16bufc7/turbo_8_is_dropping_typescript/

https://devclass.com/2023/09/07/ruby-on-rails-creator-removes-typescript-from-turbo-framework-upsets-community

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2025-01-09 09:05:15

2023-10-30 07:13:56

2018-12-11 15:00:37

2023-09-08 10:21:46

TypeScript前端工具

2023-02-03 16:03:17

TypescriptJavaScript

2020-03-09 09:20:32

開源技術 軟件

2016-04-18 12:02:56

前端構建Gulp.js

2022-09-16 12:30:23

新指令項目Vue3

2023-09-13 18:32:58

TypeScript類型API

2023-03-21 18:37:45

2020-07-23 08:24:14

CSS偽類選擇器

2023-06-13 18:24:26

TypeScriptJSDoc開發(fā)

2022-01-18 10:27:05

開源FakerNode.js工具庫

2024-07-24 13:02:31

LodashJS分組

2024-12-13 08:02:10

PythonGenerator懶加載

2023-11-09 09:02:26

TypeScriptas const

2019-05-29 10:55:01

開源Linux發(fā)行版

2012-05-24 10:09:52

ibmdw

2020-11-30 14:36:31

VSCodeissues泄露

2015-08-31 10:09:34

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产网址 | 日韩1区| 日韩免费一区二区 | 亚洲国产欧美国产综合一区 | 亚洲3p | 欧美精品第一区 | 女同av亚洲女人天堂 | 久久精品在线免费视频 | 久久影院一区 | 日韩免费一区 | 国产成人免费视频网站高清观看视频 | 国产亚洲欧美在线 | 国产精品一区一区三区 | 在线天堂免费中文字幕视频 | 亚洲 欧美 日韩在线 | 欧美一区二区三区小说 | 日本不卡一区 | 福利在线观看 | 精品国产一二三区 | 成人在线视频观看 | 日韩免费电影 | 色在线免费视频 | 亚洲在线中文字幕 | 久久精品亚洲一区 | 久久久久久成人 | 国产视频二区 | 欧美久久综合 | 人人澡人人爱 | 99久久久国产精品免费消防器 | 久久久精品一区二区 | 精品一区二区视频 | 久久久蜜臀国产一区二区 | 欧美久久久 | 国产区免费视频 | 久久精品免费观看 | 亚洲一区二区在线视频 | 欧美精品在线观看 | 亚洲精彩视频 | 日韩中文在线视频 | 久久久精品一区 | 国产午夜精品久久久久 |