前後分離兼攻守,幹活帶風嗖嗖嗖
上一篇寫了豬跑上碼頭(Drupal on Docker),Drupal 誕生於2001年,那個時候攢台電腦還要跑去中關村。雖然 Docker 也算顯年輕,但為了證明40歲不是 Coder 的年齡大限,這一篇我決定把 React 也拉進來。(什麼,華為從34歲就開始清理了?扶我坐下……)
用 React 做前端,開發 SPA(單頁面應用),就不再需要 Drupal 繁瑣的模版主題了。保留 Drupal 的純後台功能,通過 RESTful API 來實現前後數據通信。
即所謂的前後分離、Headless Drupal,等等。
必要時,還可以在 React 與 Drupal 之間再加上 Node 這一層,做一些訪問資料庫之前的邏輯處理,或實現首屏頁面服務端渲染以優化SEO等。
這樣一來,後台用 Drupal 快速定製功能,還天然捎帶了一個多用戶許可權的後台管理系統;前端用 React 可隨意定製各種樣式的頁面。當然後台也可以換成 Java PHP Go Scala Python 第三方雲服務等你或你同事或你客戶開心的技術來做,反正前後分離了。
正所謂進可攻,退可守,幹活帶風嗖嗖嗖。
WordPress 其實早就這麼做了,wordpress.com的dashboard,已經全部由 React + Node 重構,通過 RESTful API 與 WordPress 後台通信。
我之所以沒有選 WordPress,是因為 Drupal 的 API 定製功能更加靈活,而 WordPress 更適合內容發布型的應用。
Drupal 8 內置了生成 RESTful API 的方法,直接上官方文檔,很詳細。
當然,跟後台技術不限一樣,前端也可以用 Angular 或 Vue,選型自然是有主客觀因素。後端選 Drupal 是為了小型項目省事,其他語言如 Go、Scala 等在不同時期其實也都採用過。而前端選 React 的原因,還與 React Native、React + Electron 等生態有關。
謝謝閱讀。
今天的配圖 @花嬸兒 沒空,是我自己傾情設計的。
--------
不要慌,自己配圖不要慌。
微信公眾號:浮生開方
HUDO.IT on Slack: hudoit.herokuapp.com推薦閱讀:
※React 事件系統分析與最佳實踐
※翻譯 | React AJAX最佳實踐
※如何做一個支持轉場動畫的路由?
※如何看待知乎使用 React 重構?