內容管理系統(CMS)簡史
![](https://linuxstory.org/wp-content/uploads/2024/06/000116nzhufdu7h9w8wewj-800x400.jpg)
內容管理系統 (CMS)是一個多產的軟體類別,其涵蓋了所有創建和修改數字內容的應用程序。因此,CMS 的歷史可以追溯到由 蒂姆-伯納斯-李 在 1990 年建立的歷史上的第一個網站也就不足為奇了,該網站是以基於互聯網的超文本系統 HTML 為模型,只包含了文本和鏈接。
![CMS 市場演變時間表](/data/attachment/album/202201/15/000126fho4ofx1m4wo4hf4.png "timeline of CMS market evolution")
萬維網(WWW)的雛形是靜態網站,無需後端資料庫即可提供內容。它們消耗的計算資源很少,所以載入速度很快 —— 因為沒有資料庫查詢、沒有模板渲染、也沒有客戶端-伺服器請求的處理。鑒於那時很少有人經常「上網衝浪」,特別是與今天相比,Web 流量也很少。
當然,促進了這種互操作性都是開源軟體。事實上,開源在 CMS 的演變中一直扮演著重要的角色。
CMS 的崛起
快進到九十年代中期,隨著萬維網的普及和網站對頻繁更新的需求的增加 —— 這與它最初託管手冊式的靜態內容有所不同。這導致了大量的 CMS 產品的出現,如 FileNet、Vignette 的StoryBuilder、Documentum 和其他許多產品。這些都是專有的閉源產品,這在那個時期並不罕見。
然而,在 21 世紀初,開源的 CMS 替代品出現了,這包括 WordPress、Drupal 和 Joomla。WordPress 包含一個可擴展的插件架構,並提供了可用於建立網站的模板,而不要求用戶具備 HTML 和 CSS 知識。WordPress CMS 軟體安裝在 Web 伺服器上,通常與 MySQL 或 MariaDB 資料庫(當然,兩者都是開源的)配合。CMS 是開源的這一事實在一定程度上加速了向 WordPress 的重大轉變。
即使在今天,仍有大約三分之一的網站是使用這些第一代內容管理系統建立的。這些傳統的 CMS 是單體系統,包括後端用戶界面、插件、前端模板、層疊樣式表(CSS)、Web 伺服器和資料庫。每當用戶請求一個網站頁面時,伺服器首先查詢資料庫,然後將結果與來自頁面標記和插件的數據結合起來,在瀏覽器中生成一個 HTML 文檔。
趨向於 LAMP 棧
開源 CMS 的出現與建立在 LAMP(Linux、Apache、MySQL 和 PHP/Perl/Python)棧上的基礎設施是一致的。這種新的結構代表了單體 Web 開發的開始,它使動態網站的創建能夠使用資料庫查詢,為不同的終端用戶提供獨特的內容。在這一點上,以前放在伺服器上的靜態網站模式真正開始消失。(靜態網站模式是指由文本和鏈接組成的單個文件,如 HTML、CSS、JavaScript 等,以同樣的方式傳遞給所有的終端用戶。)
移動 Web 改變了一切
隨著我們逐漸步入 2000 年代的第一個十年,早期的移動設備如 Palm 和黑莓提供了對 Web 內容的訪問,然後在 2010 年左右推出的智能手機和平板電腦讓越來越多的用戶可以通過移動設備訪問 Web 。2016 年,天平傾斜,全球 來自移動設備和平板電腦的 Web 訪問量超過了台式機。
單體的 CMS 並不適合為這些不同類型的訪問設備提供內容,這就需要不同版本的網站 —— 通常是針對移動用戶的精簡版網站。新的可以訪問 WEB 的設備類型的出現,如智能手錶、遊戲機和語音助手(如 Alexa)5,只是加劇了這個問題,對全渠道內容交付的需求變得很明顯。
無頭 CMS 和 JAM 棧的出現
無頭 CMS 將後端(用來存儲所有內容、資料庫和文件)與前端解耦。通常,無頭 CMS 使用 API,這樣就可以訪問資料庫(SQL 和 NoSQL)和文件的內容,以便在網站、智能手機、甚至物聯網(IoT)設備上顯示。此外,無頭 CMS 與前端框架無關,使其與各種靜態網站生成器和前端框架(如 Gatsby.js、Next.js、Nuxt.js、Angular、React 和 Vue.js)兼容,這使開發人員可以自由選擇他們喜歡的工具。
無頭 CMS 特別適用於 JAM(Javascript、API 和 Markup)棧的 Web 開發架構,該架構正在成為一種流行的解決方案,因為它能提供更好的 Web 性能和 SEO 排名,以及強大的安全措施。JAM 棧不依賴於 Web 伺服器,當有請求時可以立即提供靜態文件。不需要查詢資料庫,因為文件已經被編譯並提供給瀏覽器。
向無頭 CMS 的轉變是由新一輪的參與者推動的,他們有的採用 SaaS 方式,如 Contentful,有的採用自託管的開源替代品,如 Strapi。無頭 CMS 也在顛覆電子商務行業,新的軟體編輯器,如 Commerce Layer 和 Saleor(也是開源的)提供了解決方案,以真正的全渠道方式管理多個 SKU、價格和庫存數據。
總結
在 CMS 的整個演變過程中,由互聯網上的信息消費方式驅動,開源軟體也沿著同樣的趨勢發展,新技術不斷出現以解決出現的需求。事實上,在內容管理系統、萬維網和開源之間似乎存在著一種相互依賴的關係。管理越來越多的內容的需求不會很快消失。我們完全有理由期待在未來更廣泛地採用開源軟體。
via: https://opensource.com/article/20/7/history-content-management-system
作者:Pierre Burgy 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive