考慮解耦架構的 Drupal 社區

已發表: 2015-12-12
碟形分離 - 圖片來源:Memory Alpha
飛碟分離——信用:記憶阿爾法

本週早些時候,Drupal 的創建者和項目負責人 Dries Buytaert 在他的博客上發表了一篇題為“我們應該將 Drupal 與客戶端框架解耦嗎? ”的文章,討論了 Drupal 架構的未來。

Buytaert 認為,鑑於用戶與 Facebook 新聞提要、Gmail 收件箱和 Twitter 的實時流交互的體驗,用戶已經開始期待網站提供類似應用程序的體驗。

“Drupal 的許多管理界面和 Drupal 站點都可以從類似的無縫、即時用戶體驗中受益,”Buytaert 說。 “作為 Drupal 的項目負責人,我問自己:我們的社區如何才能感到有動力和鼓勵開始構建豐富的用戶體驗?”

將 Drupal 與客戶端框架解耦的討論出現在一個有趣的時刻,因為 Matt Mullenweg 的 State of the Word 地址預示著 JavaScript 將成為 WordPress 和 Web 的未來。 他的結束語鼓勵開發人員學習 JavaScript 並開始為未來構建基於 WordPress 的應用程序。

Buytaert 帖子的評論者與 Automattic 發布的 Calypso 相關:

感覺這篇文章至少部分是對 WordPress 宣布 Calypso 的反應。 希望我們可以專注於為 Drupal 的未來做出正確的決定,而不是倉促地對另一個 CMS 正在做的事情做出反應,尤其是當您一遍又一遍地談論 WordPress 如何不是 Drupal 的真正競爭對手時。

Buytaert 堅持認為,他對 Drupal 的考慮是獨立的,這不是他第一次寫關於分離後端和前端的文章。

“至於 WordPress 宣布 Calypso ——我實際上是在宣布 Calypso 之前開始寫這篇博文的,”他說。 “我不相信我的職位受到卡里普索的影響。”

Buytaert 在本次討論的開場白中指出,用戶已經將類似應用程序的體驗視為理所當然的網站交互的基準。 整個網絡都在朝著這個方向發展,如果想要保持相關性,像 Drupal 和 WordPress 這樣的 CMS 現在就被迫爬上這座山。 這兩個項目都在後面,試圖趕上用戶的期望。

標準化框架的挑戰

在很多方面,Buytaert 帖子上的討論都與 WordPress 的發展方向有關,尤其是考慮對特定框架進行標準化。

Buytaert 提倡逐步解耦 Drupal 的管理員和最終用戶體驗,同時還支持在平台之上構建完全解耦的體驗。 他建議做到這一點的最佳方式是“正式標準化功能齊全的 MV* 框架(例如 Angular、Ember、Backbone 和 Knockout)或基於組件的視圖庫(例如 React、Vue 和 Riot)。 ”

由於他不是前端開發人員,Buytaert 正在徵求 Drupal 社區的意見,以了解哪種框架最適合漸進式解耦。 他還承認從長遠來看可能不建議對特定框架進行標準化的原因:

儘管有潛在的好處,但也有充分的理由不採用單一的客戶端框架。 正在以不可持續的速度創建新的前端框架; 每九個月就會有一個新孩子出現。 像 Drupal 這樣大的項目在無法保證其壽命的情況下很難採用單一技術。

儘管如此,Buytaert 認為,對框架進行深思熟慮的選擇和定期重新評估可以克服這些缺點。

在鼓勵 WordPress 開發人員學習 JavaScript 時,Matt Mullenweg 並沒有確定一個單一的框架,而是將其保持開放。 由於 Automattic 的 Calypso 是基於 React 構建的,因此它似乎是早期的最愛。

如果 WordPress 核心最終採用 Calypso(或類似 Calypso 的替代方案)背後的技術來提供更好的發布體驗,核心是否會標準化框架/庫,還是會繼續支持和鼓勵擴展開發人員使用任何框架?

一位評論者指出 Drupal 選擇框架的潛在問題,有些人可能認為這是官方認可:

已經有很多企業項目使用解耦的 Drupal 方法,它們自然會使用很多不同的框架,但我看到使用最多的是 React。 事實上,在我現在正在進行的項目中,該組織正在全力以赴地使用 React。 例如,如果 Drupal 選擇了 Angular,它將如何影響那些在其他框架上進行大量投資的組織? 也許我不完全理解它是如何工作的,但是單一框架的選擇似乎會造成分裂和破壞——破壞性很差,而不是 SV 方式。

我認為讓解耦架構變得更容易很好,應該是 Drupal 做的事情,但它應該以一種與所使用的 FE 框架無關的方式來做。

Buytaert 確定了一些使用 Drupal 核心交付客戶端框架的替代方案,包括推荐一個框架但不附帶它,或者將其包含在核心中但可以很容易地替換為開發人員選擇的另一個框架。

他的帖子和隨後的評論是一場生動、深思熟慮的討論的開始,這將有助於塑造 Drupal 開發的未來。 今天,Buytaert 正在徵集提案,為漸進式解耦的工作版本勾勒出原型。

WordPress 和 Drupal 目前都在努力實現技術飛躍,為用戶提供更多類似應用程序的體驗。 圍繞解耦 Drupal 架構的討論對於 WordPress 開發人員來說是值得關注和學習的重要話題。