內容管理系統(tǒng) (CMS) 是用于創(chuàng)建和管理數(shù)字內容的軟件應用程序或一組相關程序。 多年來,重點一直放在 WordPress 或 Drupal 等傳統(tǒng) CMS。 然而,許多后端和前端開發(fā)人員正在轉向更現(xiàn)代的解決方案,即無頭 CMS。
這種所謂的“無頭 CMS”將后端(內容創(chuàng)建和管理)和數(shù)據(jù)庫與前端和表示層分離。 這意味著 CMS 可用于支持任何類型的前端應用程序,最終提供更大的靈活性和可擴展性。
在這篇文章中,我們將全面概述無頭 CMS。 討論它的起源、好處、它解決的問題以及常見的實現(xiàn)。
1.什么是無頭 CMS?
無頭 CMS 是一種后端 CMS,可讓您輕松管理和存儲內容,而無需前端網(wǎng)站。 這意味著您可以使用任何平臺或設備來訪問和編輯您的內容,而不必擔心其呈現(xiàn)方式。
要完全理解什么是無頭 CMS,首先要了解它的起源。 那么讓我們來看看傳統(tǒng)的CMS架構以及它是如何演變的。
2.Headless CMS 與傳統(tǒng) CMS 有何不同
傳統(tǒng)的 CMS,也稱為“耦合”CMS,最初是在開發(fā)初期開始的。 它們由流行的平臺(如 WordPress 和 Drupal)代表,作為存儲和顯示各種類型內容(如文本和圖像)的一種方式。
使用傳統(tǒng)的 CMS,所有元素都在一個地方,包括 HTML、CSS、文本、圖像等。它使用 Web 框架來組織網(wǎng)站內容并將前端與后端連接起來。
2.1 傳統(tǒng) CMS 的主要特點:
-
內部托管和交付
-
支持有限的同時設備
-
單體后端系統(tǒng)
-
預定更新
傳統(tǒng) CMS 有很多好處。 例如,它從單個系統(tǒng)為整個站點提供服務,從而輕松管理內容。 它還允許開發(fā)人員通過模板和主題來控制網(wǎng)站的設計。
然而,隨著 Web 開發(fā)的進步和變得更加復雜,我們對可擴展和靈活的解決方案的需求也在增加。 例如,許多開發(fā)人員希望創(chuàng)建可以在網(wǎng)站以外的設備上提供的內容。 這就是無頭 CMS 的用武之地。
無頭內容管理系統(tǒng)是一種解耦的 CMS。 解耦 CMS 是存儲和管理內容但不在前端站點上呈現(xiàn)內容的后端系統(tǒng)。 這意味著它們可以與任何受支持的前端系統(tǒng)一起使用,無論是傳統(tǒng)網(wǎng)站、移動應用程序,甚至是語音助手。
2.2 無頭 CMS 的主要特點
-
云托管和交付
-
無限支持的設備
-
微服務后端系統(tǒng)
-
持續(xù)更新
無頭 CMS 和傳統(tǒng) CMS 之間的主要區(qū)別在于,無頭 CMS 沒有用于在前端呈現(xiàn)內容的內置模板系統(tǒng)。 這意味著您需要使用單獨的前端系統(tǒng)來呈現(xiàn)來自無頭 CMS 的內容。 此外,無頭架構通常比傳統(tǒng)架構更具可擴展性,因為它可以與多個服務器和設備一起使用。
3.無頭 CMS 的工作原理
無頭 CMS 將您的內容存儲在基于云的數(shù)據(jù)庫中。 然后可以通過應用程序編程接口 (API) 訪問此內容,該 API 可用于在任何類型的設備或平臺上呈現(xiàn)內容。
內容存儲庫,稱為“body”,與“head”(也稱為表示層)解耦。 這就是為什么它被稱為無頭 CMS。 表示層與正文(內容)分離。
無頭基礎架構創(chuàng)建了一個自定義框架,用于組織您的內容類型以及它們如何相互關聯(lián)。 這包括分解單個元素。 換句話說,您不會像使用傳統(tǒng) CMS 那樣使用預編程模型。
要使用無頭 CMS,您首先需要在后端系統(tǒng)中創(chuàng)建內容。 這可以使用多種方法來完成,例如所見即所得 (WYSIWYG) 編輯器、markdown,甚至直接通過 API。 創(chuàng)建內容后,會將其存儲在基于云的數(shù)據(jù)庫中。
需要注意的是,無頭 CMS 不會直接連接到網(wǎng)站的前端。 它只處理內容。 然后通過 API 發(fā)布內容。
當您想在您的網(wǎng)站或應用程序上顯示此內容時,您只需向 API 發(fā)送一個請求,該 API 將從數(shù)據(jù)庫中返回內容。 然后,前端系統(tǒng)將使用 HTML、CSS 和 JavaScript 等各種方法呈現(xiàn)此內容。
4.使用無頭 CMS 的好處
大型公司正在使用無頭 CMS 來管理他們的內容。 然而,小型企業(yè)也發(fā)現(xiàn)使用無頭方法的好處。
無頭 CMS 非常適合希望創(chuàng)建動態(tài)和響應式網(wǎng)站的企業(yè)或希望能夠輕松更新其內容而無需依賴 Web 開發(fā)人員的企業(yè)。 它還使您可以自由選擇任何平臺或設備來訪問您的內容,使其用途廣泛。使用無頭 CMS 解決方案還有許多其他好處。 讓我們來看看其中的一些。
4.1 您可以使用任何受支持的前端系統(tǒng)
使用無頭 CMS,您不會被綁定到特定平臺。 相反,您的內容可以通過 API 輕松訪問,從而使其易于與多種類型的設備或平臺一起使用。
通過 API 提供服務意味著您可以選擇您的前端系統(tǒng)。 開發(fā)人員還可以通過 JavaScript 或 Ruby 使用 PHP(反之亦然)。 在前端切換框架不會影響后端的 CMS。
4.2 您可以輕松更改網(wǎng)站或應用程序
無頭 CMS 可讓您輕松更改您的網(wǎng)站或應用程序。 您可以在不關注代碼的情況下編輯您的內容。
內容基礎架構消除了冗余復制和粘貼的需要,因為它將您的所有內容統(tǒng)一在一個地方。 您可以從這個集中式中心更改圖像或文本,更改將自動應用到它所在的任何位置。
Headless CMS 還可以幫助團隊協(xié)作,因為它用敏捷框架取代了傳統(tǒng)的瀑布式開發(fā)過程。 此外,它還可以幫助您重用您的內容并使其在不同平臺上可訪問。
4.3 您可以無縫擴展您的網(wǎng)站或應用程序
無頭 CMS 通常比傳統(tǒng) CMS 更具可擴展性,因為它可以部署到多個服務器并在多個設備上使用。 因此,它非常適合想要創(chuàng)建動態(tài)和響應式網(wǎng)站的企業(yè)。
基本上,無頭 CMS 為您提供了更大的靈活性。 它允許您更改開發(fā)人員工具并使用您喜歡的工具。
5.何時使用無頭 CMS
雖然無頭 CMS 提供了許多好處,但可能并不總是需要使用它們。 傳統(tǒng)的 CMS 仍然是一個非??煽康慕鉀Q方案。
例如,如果您要為自己或小型企業(yè)創(chuàng)建一個網(wǎng)站,傳統(tǒng)的 CMS 可能就足夠了。 您將能夠從一個地方管理所有內容,并立即讓您的網(wǎng)站啟動并運行。
另一方面,如果您有更復雜的需求,無頭 CMS 可能是更好的選擇。 更具體地說,如果您的網(wǎng)站或應用程序使用 Angular、VueJS 或 React 等 JavaScript 框架,它可能是理想的選擇。
如果您計劃制作本機移動應用程序和任何需要您同時跨多個平臺發(fā)布內容的項目,它也是可取的。 無頭 CMS 對電子商務網(wǎng)站也很有用。
如果您正在考慮為您的業(yè)務使用無頭 CMS,請考慮以下問題:
-
你需要一個前端網(wǎng)站嗎?
-
您希望能夠輕松更新您的內容嗎?
-
您想要自由選擇任何平臺或設備來訪問您的內容嗎?
-
你喜歡使用代碼嗎?
-
你有聘請網(wǎng)絡開發(fā)人員的預算嗎?
如果您對這些問題中的任何一個回答“是”,那么無頭 CMS 可能是一個可靠的解決方案。
6.如何選擇無頭 CMS
如果您決定使用無頭 CMS,則需要牢記一些重要因素。 在大多數(shù)情況下,您可能需要花費一些時間來測試接口和 API 以找到您最熟悉的平臺。在決定使用無頭 CMS 時,您可能需要考慮以下問題:
-
您需要管理什么類型的內容?
-
該內容將如何使用?
-
誰將負責創(chuàng)建和管理內容?
-
您對無頭 CMS 有多少預算?
-
你有什么水平的技術專長?
您還需要研究可用的不同無頭 CMS 選項并閱讀其他用戶的評論,看看哪一個最適合您的需求。 同樣,有許多可用選項,因此花時間充分了解每個平臺的用例和功能非常重要。
許多無頭 CMS 可作為軟件即服務 (SaaS) 解決方案使用。 其他人則讓您自己處理托管、數(shù)據(jù)庫和服務器。 例如,您可以使用 DreamHost 虛擬專用服務器 (VPS) 環(huán)境。
參考資料
本文為轉載文章,原文地址:
https://zhuanlan.zhihu.com/p/433173175