Cloudflare 推出了 EmDash,一個基於 Astro 的新 CMS,定位為 WordPress 的現代化替代方案。我有我的看法。

今天是 4 月 1 日。Cloudflare 發布了一個新的 CMS,由 Astro 提供支援,並被宣傳為 WordPress 的現代精神繼承者。好吧。非常有趣。

但這不是個玩笑。EmDash 是真實存在的,我當然得去看看。有兩篇文章讓我開始了:Cloudflare 自己的公告和 Joost 的觀點。

EmDash 是一個完全開源的 CMS,基於 TypeScript 和 Astro 6.0 建置。它可以在 Cloudflare Workers(或任何 Node.js 伺服器)上無伺服器運行,本地使用 SQLite,生產環境使用 Cloudflare D1,並將內容儲存為可攜式文字(結構化 JSON)而非原始 HTML。

它的賣點是什麼?如果今天從頭開始建置 WordPress,擺脫 20 年的歷史包袱,它看起來就會是這樣。

它的安全模型確實很巧妙。在 WordPress 中,外掛幾乎可以為所欲為。這是造成大量安全問題的根源,我之前也寫過這方面的文章。EmDash 的外掛運行在沙盒化的隔離環境中,並且必須明確聲明它們需要存取哪些資源,這與 OAuth 的工作方式類似。老實說,這是整個專案中最有趣的部分。

資料庫結構似乎很紮實。我看了一下 SQLite 的表格,我很喜歡我看到的。文章類型有自己的獨立表格,而不是將所有東西都塞進少數幾個通用表格中。如果你曾除錯過 WordPress 的資料庫,你就會知道這有多麼令人耳目一新。

它真正地以 AI 為優先。它內建了 MCP 伺服器、JSON CLI 和直接的代理存取。Joost 說得很對:

它不是一個加上 AI 功能的 CMS。它是一個 AI 代理作為一等建置者的 CMS。

這個說法很準確。EmDash 將代理視為系統的實際使用者,擁有結構化的內容和可供內省的類型化綱要。這是一個真正的賭注,從一開始就建置進去了。它是否會成功,取決於 AI 輔助工作流程的實際發展方向,但這是我覺得最難忽視的 EmDash 的部分。

Astro 核心。使用 Astro 作為主題,而不是 PHP 模板和 functions.php,這是一個不錯的舉動。對現代開發者來說很熟悉,而且不再需要在主題檔案中散佈隨機的 PHP 邏輯。也就是說,Astro 模板和 PHP 模板在概念上差異不大。你仍然可以在兩者中寫出混亂、難以維護的程式碼。真正的勝利在於圍繞它的生態系統和工具,而不是什麼神奇的安全保證。

是的,它帶回了一些前 Gutenberg 時期的懷舊感。管理員面板有那種舊 TinyMCE 的感覺。主題的工作方式讓我想起了在全站編輯之前建置 WordPress 主題。模板檔案、the_content()、一個直接的循環。我明白它的吸引力。但我認為完全捨棄區塊編輯器是一個錯誤。Gutenberg 有實際的問題,但結構化、視覺化的內容編輯的想法並不是其中之一。Matt Cromwell 直接問道:「未來真的是 Astro + TinyMCE 嗎?真的嗎?」老實說,我認為他有道理。

我部分是因為想擺脫 CMS 才遷移到 Astro。

我的部落格是 Markdown 檔案。沒有資料庫,沒有管理員面板,沒有可能出錯的內容層。我寫一篇文章,推送,完成。如果你想了解為什麼這對我來說很重要,我寫了一些關於不同內容管理方法的文章。

EmDash 建置得很好,但它意味著運行一個伺服器,為邊緣運算付費,並在我和我的內容之間增加一個層級。這是我已經決定不值得的權衡。

我認為越來越多的人也在悄悄得出相同的結論。Markdown 檔案、靜態網站產生器、Git 版本控制。不需要 CMS。對於個人部落格和小網站來說,這通常就足夠了。

我不確定 EmDash 是否解決了人們對 WordPress 的主要不滿。效能、託管成本、外掛臃腫。這些才是真正讓人們尋求其他解決方案的東西。EmDash 並沒有直接觸及這些。

它所解決的是開發者體驗、安全模型,以及 AI 如何融入內容管理。但對 WordPress 不滿的人,通常是因為緩慢的託管、昂貴的外掛或過多的維護開銷。EmDash 並沒有讓這些變得更便宜或更簡單。它讓關心架構的開發者體驗更優雅。這是一個比其宣傳所暗示的更小的受眾。

Astro 本身並非一開始就顯而易見的成功。它花費了時間、強大的社群和大量的迭代才成為今天的樣子。EmDash 處於早期階段,在某些地方還很粗糙。但它正在做一些事情,而不僅僅是將現有工具包裝在一個更漂亮的 UI 中。

我會繼續關注它。我希望它能贏得它成長所需的社群。