Headless CMS - strapi

Headless CMS - strapi

最近在外國正盛行的無頭 CMS (Headless CMS),到底有什麼好處呢?跟我們常用的 CMS 又有什麼分別呢?

什麼是 Headless CMS?

傳統 CMS 好像著名的 Wordpress,Drupal,Ghost 等等都包括Front-end UI,也有 Theme 的部份,形成前後台合一的情況。而 Headless 的無頭就是不包括 Front-end,做一個純粹的 Backend CMS,輸出 API 給 Front-end 去讀取資料,不用再找 CMS 專用的 Theme 了,因為前後己經分離,所有 Front-end 只需看 API 就可以。

Headless CMS 的好處

因為後台變成獨立運作,所以對 Front-end 有什麼改動,只要 data 沒有變動就不在改 Backend,只需一個 Front-end Developer 就成。Front-end 也不用受 CMS 的 Theme所限制,即使整個 Front-end 砍掉重寫的成本也大減,資料也不用重入。

Headless CMS 的壞處

對不熟悉開發的用家來說需要自己動手去寫 Front-end 也許會更麻煩,沒有限制但也沒有一手按即用的插件,也不能作實時 Front-end 編輯,所以對低階用家可能更難使用。

Headless CMS 的選擇

現時 Headless CMS 有不少 Open Source 開源供下載,在試用過數隻 Open Source 的 CMS 後,決定了就做用 [strapi] (https://strapi.io/) 做我的最終選擇,但是為什麼呢?

簡單來說就是付合了我的要求

  • 自由度高
  • 使用 Nodejs 為主
  • Backend UX/UI 不錯
  • 設定簡單
  • 可以輸出成 API 或 GraphQL

雖然曾經用 Express + MongoDB 來寫成 API,但要寫成可以隨時更改結構的 API 太大 workload,會把我原本想做的東西都忘了,所以就用一個可以輸出成 API 的 CMS,就可以集中精神來寫 Frontend 了。

strapi 我由測試版開始試用,剛開始時 bug 真的很多,動不動就會 crash,但是正式版上線後,官方快速地修正了大量 bug,並持續增加新功能及改善 backend 的設計。有多個本來令我困惑的位置也在正式版修正了,令我這篇文章終於可以 post 出來(因為之前一直沒下決定使用哪家)。

雖然 strapi 很簡單,但我也會寫一篇用 docker 來設定 strapi 的新手使用教學,敬請期待。

Read more

Unity AI Assistant 2.7.0 將不再支援 MCP 連接

Unity AI Assistant 2.7.0 將不再支援 MCP 連接

相信有不少人用 Unity AI MCP 來連接 Claude Code / Codex 等 AI 工具進行開發,近日隨著 Unity AI 進入公測,Unity 官方 Package com.unity.ai.assistant 亦升級到 v2.7.0-pre.2 。這個新版本的 Unity AI Assistant 在 Unity MCP Server 上加上了限制,Connected Clients limit 在 0 個 direct connection(以前是 Unlimited),就是不讓開發者使用其他 AI 工具來支援開發。 官方也有說明可以怎樣做,

Game Engine 的選擇

Game Engine 的選擇

在前陣子在決定寫 game 的期間,我試用了三大主流 Game Engine 來實作 demo,現在比較一下 Unreal,Unity 及 Godot 適合什麼開發者。 自我定位 在開始選擇前,我首先要確定自己是什麼開發者,以什麼角度去選擇 Game Engine。 * 首先我是獨立開發者,就是一個人會負責所有東西,繪圖設計,故事劇情,程式開發,宣傳銷售,後續經營,所以簡單很重要。 * 我使用 Macbook Pro M1 來開發,由於我沒有 desktop,單靠效能有限的主機來開發,所以效能夠不夠對我來說也是很重要。 * 遊戲平台,我的初期目標是 Steam/Andriod/iOS,如果有成果才會推向各大主機,雖然三大 Game Engine 都支持多平台輸出,但實際上調查後發現還是有一些限制,我會在下面解釋。 * 遊戲類型,