DHH 銳評(píng) “打包工具”:前端根本不需要構(gòu)建 (No Build)
繼 “移除 TypeScript” 后,Ruby on Rails 作者 DHH 近日又在公開場(chǎng)合發(fā)表了一番 “暴論”—— 稱最快的打包工具就是沒有打包 (No Build),有了 HTTP/2 以及瀏覽器原生支持 ES Modules ,前端根本不需要構(gòu)建。
在上周舉辦的 Rails World 大會(huì)上,DHH 說(shuō)道:“最先進(jìn)的(打包)技術(shù)不再是尋找更復(fù)雜的方法來(lái)構(gòu)建 JavaScript 或 CSS,因?yàn)榍岸烁静恍枰獦?gòu)建?,F(xiàn)在可以依靠 HTTP/2 和對(duì) import map 的普遍支持來(lái)避免打包?!?/p>
via https://twitter.com/dhh/status/1712145950397841826
對(duì)于 DHH 提出的「No Build」,Vercel CTO Malte Ubl 稱他們已嘗試過,結(jié)果是行不通。因?yàn)樵?HTTP2 中,每個(gè)請(qǐng)求的開銷仍然非常大,并且存在并發(fā)限制,此外還會(huì)出現(xiàn)瀑布流和低效壓縮。 目前,“打包” 對(duì)于高性能網(wǎng)站來(lái)說(shuō)是無(wú)法繞過的。
via https://twitter.com/cramforce/status/1712265070213050390
DHH 不認(rèn)可 Malte Ubl 所說(shuō)的 “行不通”。他說(shuō)道,這就是技術(shù)討論的奇怪之處。即便已經(jīng)有案例證明項(xiàng)目能完成大規(guī)模任務(wù)(如 Rails 之于 Shopify),但人們也會(huì)聲稱它不能進(jìn)行擴(kuò)展?;蛘咭秧樌褂媚撤N方法多年(如 no build JS 之于 HEY 網(wǎng)站),也會(huì)有人說(shuō)這套 “行不通”。
最后,DHH 展示了其公司主站 https://www.hey.com/world/ 的性能表現(xiàn)。他表示 HEY 主要應(yīng)用運(yùn)行的 JavaScript 代碼沒有經(jīng)過構(gòu)建。