用Drupal開發網站選傳統模式好還是Headless模式好⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓?
Drupal從8.0開始✺ϟ☇♤♧♡♢♠♣♥,就是基于Symfony的MVC框架㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,引用現代化的Composer管理ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,因此已經脫離了CMS的范疇✵✶✷✸✹✺✻✼❄❅,系統級別的框架⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,也就是基于Drupal可以開發任意的網站和后臺管理應用ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。
所以✵✶✷✸✹✺✻✼❄❅,在開發各種APP/H5中大量可以采用Drupal作為后臺管理程序ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,以至于在開發網站的時候❻❼❽❾❿⓫⓬⓭⓮⓯⓰,我們也可以選擇Headless的模式來開發ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,而不是傳統的Drupal CMS模式✺ϟ☇♤♧♡♢♠♣♥。
那么到底是選擇哪個好❻❼❽❾❿⓫⓬⓭⓮⓯⓰?本文就傳統的Drupal還是Headless的Drupalⓚⓛⓜⓝⓞⓟⓠⓡⓢ,做一個簡單的分析ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,僅供參考ⓣⓤⓥⓦⓧⓨⓩ。

傳統的Drupal模式
傳統的Drupal和Headless Drupal的區別
傳統的CMS和Drupal開發中⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,網站的前端和后端是在一起開發的ⓣⓤⓥⓦⓧⓨⓩ,也是Drupal的主題①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,而CMS決定了網站前端的外觀和設計☾☽❄☃。在傳統CMS情況下ⓣⓤⓥⓦⓧⓨⓩ,如果CMS不僅提供API☧☬☸✡♁✙♆。,、':∶;,而且將內容和樣式分離㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,才有可能將內容開放給可穿戴設備或原生應用程序⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。
使用Headless CMS后⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,CMS不再決定樣式或設計☈⊙☉℃℉❅,只是管理內容以及提供APIⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ。在Headless設置中웃유ღ♋♂,可以在一個單獨的系統中管理所有內容⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,然后通過API鏈接同時在多個地方加載ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,比如H5ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、微信小程序㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、APP⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ、網站或者其他系統及設備㈠㈡㈢㈣㈤㈥㈦。
Drupal作為傳統CMS
傳統CMS由前端和后端組成ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,在后端中❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,可以創建新內容或修改現有內容☧☬☸✡♁✙♆。,、':∶;。這是需要登陸以及管理員權限❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,此外通過主題或模板⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,在前端顯示此內容⑰⑱⑲⑳⓪⓿❶❷❸❹❺。在傳統CMS中☧☬☸✡♁✙♆。,、':∶;,后端和前端無縫連接并相互依賴⑰⑱⑲⑳⓪⓿❶❷❸❹❺。當后端進行調整時♦☜☞☝✍☚☛☟✌✽✾✿❁❃,前端代碼立即更改ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,比如Drupal的Views㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉、Block布局等①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,不修改主題就能直接修改前端輸出的展示ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。
這樣做的優點是☈⊙☉℃℉❅,使用CMS不僅可以管理內容✵✶✷✸✹✺✻✼❄❅,還可以在某種程度上管理網站(或多個網站♦☜☞☝✍☚☛☟✌✽✾✿❁❃,如果有多站點設置)的設計⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。然而⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,缺點是這種相互依賴性也會限制設計的靈活性和其他媒體的訪問⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。
傳統Drupal的優點:
1. 對于簡單的網站①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,最好使用傳統CMS웃유ღ♋♂,因為Headless CMS的額外選項是不必要的⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。
2. 由于后端和前端的集成⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,具有直觀的編輯體驗⒜⒝⒞⒟⒠⒡⒢⒣⒤。
3. 由于內置Drupal API☈⊙☉℃℉❅,將內容開放給其他媒體和應用程序的潛力仍然存在✺ϟ☇♤♧♡♢♠♣♥。
4. 對于預計有大量用戶輸入的平臺ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,傳統CMS是正確的選擇ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。
傳統Drupal的缺點:
1. 前后沒有分離⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,后臺修改很前端耦合性很大☾☽❄☃,測試成本比較高
2. Drupal的主題相當復雜ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,這應該算是Drupal的缺點☈⊙☉℃℉❅,因為本身Drupal有很多模塊㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,以及內置的process等ⓣⓤⓥⓦⓧⓨⓩ,Drupal的主題開發和改動成本比較高☾☽❄☃。
3. 前端代碼污染㈠㈡㈢㈣㈤㈥㈦,同于2ⓣⓤⓥⓦⓧⓨⓩ,由于主題希望做某種展示①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,不得不開發很多PHP代碼以配合前端☈⊙☉℃℉❅,或者修改Views輸出☧☬☸✡♁✙♆。,、':∶;、Drupal的Block輸出☾☽❄☃,就要寫很多類似Hook的代碼❻❼❽❾❿⓫⓬⓭⓮⓯⓰,所以前后端的代碼大量交織ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,并且前端的代碼通常會占到整個project的30-40%ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,這樣后臺的維護成本☈⊙☉℃℉❅、以后的升級成本都會很高❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。
Drupal作為Headless CMS
Drupal Headless是面向全渠道平臺比較好的解決方案✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。傳統CMS完全集成到網站的前端中㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,在CMS中進行更改ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,站點的代碼就會立即適應并且更改對訪問者可見❻❼❽❾❿⓫⓬⓭⓮⓯⓰,后端和前端無縫交織ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ。
使用無頭CMS♀☿☼☀☁☂☄,情況就不同了♀☿☼☀☁☂☄,可以在中心環境中管理和發布所有內容❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。呈現層與 CMS 分離㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,內容在一個單獨的環境中進行管理❣❦❧♡۵。該單獨環境通過 API 鏈接連接到呈現層㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。
例如웃유ღ♋♂,內容在后端顯示☾☽❄☃,針對前端進行顯示⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。這樣㈠㈡㈢㈣㈤㈥㈦,你就可以同時在網站❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣、智能手機應用和智能手表應用上發布信息ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。每個前端都單獨處理信息☾☽❄☃,以便內容可以立即在所有地方進行優化❣❦❧♡۵。
Drupal Headless CMS 的優點:
對于簡單的網站✵✶✷✸✹✺✻✼❄❅,傳統的CMS已經足夠了ⓣⓤⓥⓦⓧⓨⓩ。但是對于尋求更多靈活性⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯、可擴展性和自由的平臺來說웃유ღ♋♂,Headless Drupal CMS可以無疑比較好ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,特別是對于精簡的全渠道戰略而言✵✶✷✸✹✺✻✼❄❅。
除了易于管理多個前端環境之外㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,Headless還有更多的優勢:
1. 不受約束的強大的視覺設計
前端可以不受任何框架和后臺限制❻❼❽❾❿⓫⓬⓭⓮⓯⓰,做出各種天馬行空的UI設計⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。
2. 靈活性
前后端可以獨立迭代和開發♦☜☞☝✍☚☛☟✌✽✾✿❁❃,跟隨各種技術升級和需求升級㈠㈡㈢㈣㈤㈥㈦,以便能夠始終為您的目標群體提供良好的服務⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。
3. 安全敏感數據
內容只能通過API檢索ⓣⓤⓥⓦⓧⓨⓩ。通常無法寫回數據ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。這使得更容易保護整個系統ⓣⓤⓥⓦⓧⓨⓩ。
Drupal Headless CMS 的缺點
#1. 技術維度升級
單個項目變成了多個項目ⓣⓤⓥⓦⓧⓨⓩ,一個是前端✺ϟ☇♤♧♡♢♠♣♥、一個是后端❣❦❧♡۵,所以會帶來開發和部署的復雜度✺ϟ☇♤♧♡♢♠♣♥。
#2. 預覽功能
Drupal自帶的預覽功能需要前端項目配合調整✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。
#3. Drupal 的編輯快捷Tab
Drupal 本身對每一個 Entity 都有一個編輯的快捷菜單⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,但是前后分離后웃유ღ♋♂,一般不容易直接加上這個編輯的link♦☜☞☝✍☚☛☟✌✽✾✿❁❃,包括devel等功能✵✶✷✸✹✺✻✼❄❅。
#4. Drupal 的Block和布局系統不能使用
Drupal自帶的block♀☿☼☀☁☂☄、Layout功能☧☬☸✡♁✙♆。,、':∶;,不能在前端項目中使用ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。

Headless Drupal 作為 DXP
自2018年以來❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,DXP 技術越來越受到關注⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,全稱digital experience platform(數字體驗平臺)①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,也可以叫 digital assets management (DAMⓣⓤⓥⓦⓧⓨⓩ,數字資產管理平臺)ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,其實作者感覺都是一樣的東西㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。
Drupal 的多樣性也體現在它可以用作DXPⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,在這項新技術中ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,Drupal 的 DXP 是其中的佼佼者⑰⑱⑲⑳⓪⓿❶❷❸❹❺。
DXP的特點是什么✵✶✷✸✹✺✻✼❄❅?
DXP 是一種中心平臺㈠㈡㈢㈣㈤㈥㈦,它使您能夠通過大量觸點接觸目標群體⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,并且您可以越來越關注目標群體的“體驗”♀☿☼☀☁☂☄,即所提供的內容及其與之的互動❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣、媒介和目標群體的情境㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。它可以根據網站㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、移動應用웃유ღ♋♂、門戶等分類來提供特定的定制內容和互動選項⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。
DXP 的好處在于一切都來自一個源頭웃유ღ♋♂,因此不再依賴于多個分離的系統之間通常不理想的協作ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。得益于其架構和與 API 的交互✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,Drupal 作為核心的 headless CMS 在 DXP 中表現得非常出色❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。
此外⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,還可以有個性化①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,為每個人創造獨特的 Drupal 體驗♦☜☞☝✍☚☛☟✌✽✾✿❁❃。
消費者越來越注重個性化㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。如果您向用戶提供與他們不相關的內容ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,您將很快失去他們✵✶✷✸✹✺✻✼❄❅。像亞馬遜✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴、Spotify 和 Netflix 這樣的主要播放器已經全面致力于提供個性化的體驗㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。這可能是購買建議㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、個性化的播放列表和觀看提示⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。個性化方法似乎是只針對我們中的少數人ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,但事實并非如此㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。通過從中央系統管理所有內容♦☜☞☝✍☚☛☟✌✽✾✿❁❃,您可以通過連接多個觸點提供無縫的客戶體驗ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ。這使得消費者可以為他們自己創建一個跨媒體的旅程♀☿☼☀☁☂☄。
創作不易①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,轉載請注明出處ⓣⓤⓥⓦⓧⓨⓩ!
更多Drupal以及內容管理系統✵✶✷✸✹✺✻✼❄❅,請參考我們其他相關文章웃유ღ♋♂,
1⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯、Headless CMS:以API為輸出的內容系統的構建
2⑰⑱⑲⑳⓪⓿❶❷❸❹❺、內容管理平臺是選擇傳統的 CMS 還是 Headless CMS⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾?
3㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、構建英文網站應該用什么框架♀☿☼☀☁☂☄?
4☾☽❄☃、外貿網站如何通過SEO和內容引流❣❦❧♡۵?
5❣❦❧♡۵、在線展覽和多媒體展示建設方案
6❻❼❽❾❿⓫⓬⓭⓮⓯⓰、WebVR哪個框架好✺ϟ☇♤♧♡♢♠♣♥?WebVR開發框架的技術選型①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,360VR技術框架웃유ღ♋♂。
7♦☜☞☝✍☚☛☟✌✽✾✿❁❃、使用Phaser構建2D的在線展覽系統
8⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾、常見的CMS平臺比較