前后分离兼攻守,干活带风嗖嗖嗖

上一篇写了猪跑上码头(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 等生态有关。

谢谢阅读。

今天的配图

@花婶儿

没空,是我自己倾情设计的。

——–

不要慌,自己配图不要慌。

微信公众号:浮生开方