前端單頁應用SPA時代結束,Hotwire時機已到 - DHH

banq發表於2021-12-14

Ruby on Rails的作者DHH認為單頁應用時代已經結束,無需使用太多JavaScript即可傳遞HTML的技術HTML-over-the-wire將迎來時機:

多年來,我對單頁應用程式SPA抱有相當的懷疑,這並不是什麼大祕密。不是因為對 JavaScript 與生俱來的敵意,至少不是因為我們首先以 CoffeeScript 的形式嚐到的現代變種,然後轉譯為 ES Next。但是這種編寫和更新 HTML方式從來都不是我的興趣,也不是我編寫的應用程式的合適解決方案。

在過去的幾年裡,我這種對 JavaScripting Everything 擴散的抵制變成了少數立場。似乎有一段時間每個人都同時沉迷於 React、GraphQL 以及主題的無盡變化。這就是新事物,繁榮的浪潮沖刷了所有的反對意見。

這聽起來可能很苦澀,但我笑著說,不完全是:

在我們確定適應度的邊界之前,必須過度使用新方法。

在 2000 年代中後期Ruby on Rails 重演這一幕時,我也是坐在前排的。

 

我現在又微笑了,因為對單頁應用程式的迷戀結束了:我們早就看到了高峰。這並不意味著下降以任何方式結束。我相信我們會在不久的將來看到更多的應用在這個模式上完成。但是 Web 開發社群中注意力的壟斷已經結束,並且已經有一段時間了。

更好的是,這種由對單頁應用程式的關注減少創造了新的思維空間和開放性,就像 2004 年 Rails 的能量來自沮喪的 Java 和好奇的 PHP 程式設計師,他們與義大利麵條式的XML糾纏不清。

對過去的不滿播下了興趣的種子。

 

對單頁應用技術霸權的反擊在 2015 年無法引起共鳴。但現在,五年多後,有足夠多的人認真對待這種方法並得出結論“這不適合我” . 

這種變化就是Hotwire。HTML Over The Wire:

Hotwire 是一種無需使用太多 JavaScript 即可通過網路傳送 HTML 而不是 JSON 來構建現代 Web 應用程式的替代方法。這可以實現快速的首次載入頁面,在伺服器上保持模板渲染,並允許在任何程式語言中獲得更簡單、更高效的開發體驗,而不會犧牲與傳統單頁應用程式相關的任何速度或響應能力。

 

我最近與大大小小的組織進行了大量對話,他們似乎同時都意識到單頁應用程式方法不能很好地為他們服務,現在他們要麼已經或計劃用 Hotwire 替換它。

就像 2000 年代中期的 Rails 一樣,或者就像 2010 年代中期的 SPA 一樣,一個想法的蝴蝶在幾年前扇動了它的翅膀,現在突然出現了一場興趣的颶風。

正是在這場颶風中,我很高興我們將 Hotwire 作為預設的前端答案插入在本月到期的 Rails 7 中。所有這些複合因素彙集在一起​​,加速了這個新方向的發展。

 

相關文章