(即將到來的)WordPress 復興

已發表: 2022-03-10
快速總結 ↬自 8 個月前發布以來,Gutenberg 已經有了很大的改進,提供了比 WordPress 中任何可能的用戶體驗更豐富的用戶體驗。 讓我們來看看它的最新發展,以及它的發展方向。

自從 Gutenberg 作為 WordPress 的默認內容編輯器推出以來已經 8 個月了。 根據您詢問的人,您可能會聽說古騰堡是 WordPress(或介於兩者之間)發生過的最糟糕或最好的事情。 但大多數人似乎都同意的是,古騰堡一直在穩步改進。 以目前的發展速度,最突出的問題得到解決,用戶體驗變得真正愉快只是時間問題。

古騰堡是一項正在進行的工作。 在使用它時,我遇到了令人抓狂的麻煩,例如我無法單擊的浮動選項,因為放置在下面的塊被選中了,塊的不直觀分組,有太多間隙使它們無用的列,以及“+”元素整個頁面都在呼籲我的注意。 但是,我遇到的問題仍然相對易於管理(這是對以前版本的改進),此外,Gutenberg 已經開始使其潛在的好處成為現實:它的許多最緊迫的錯誤已經被解決,它的可訪問性問題是正在解決,並且不斷提供新的和令人興奮的功能。 到目前為止,我們所擁有的相當不錯,而且只會越來越好。

讓我們回顧一下自古騰堡推出以來發生的新發展,以及它的發展方向。

注意:有關此主題的更多信息,我建議在最近的 WordCamp Europe 2019 期間觀看 WordPress 創始人 Matt Mullenweg 的演講。

跳躍後更多! 繼續往下看↓

為什麼需要古騰堡

Gutenberg 及時趕到,啟動了 WordPress 的複興,試圖讓 WordPress 再次吸引開發人員(並扭轉其作為最可怕平台的當前狀態)。 WordPress 不再具有吸引力,因為它專注於不破壞向後兼容性,這阻止了 WordPress 整合現代代碼,使其與更新、更閃亮的框架相比顯得蒼白無力。

許多人認為 WordPress 沒有死亡的危險(畢竟,它為超過 1/3 的網絡提供動力),所以古騰堡並不是真正需要的,他們可能是對的。 然而,即使 WordPress 沒有直接的危險,由於與現代發展趨勢脫節,它也正在走向過時,可能不會在短期內,但肯定會在中長期內。 讓我們回顧一下 Gutenberg 如何改善不同 WordPress 利益相關者的體驗:開發人員、網站管理員和網站用戶。

開發人員最近接受了通過 JavaScript 庫 Vue 和 React 構建網站,因為(除其他原因外)組件的強大功能和便利性,這轉化為令人滿意的開發人員體驗。 通過加入潮流並採用這種技術,Gutenberg 使 WordPress 再次吸引了開發人員,讓他們能夠以他們認為令人滿意的方式編寫代碼。

網站管理員可以更輕鬆地管理他們的內容,提高他們的生產力,並實現以前無法完成的事情。 例如,通過塊放置 Youtube 視頻比通過 TinyMCE 文本區域更容易,塊可以提供最佳圖像(壓縮、根據設備調整大小、轉換為不同格式等),無需手動操作, WYSIWYG 所見即所得)功能足夠體面可以實時預覽網站內容的外觀。

通過讓他們訪問強大的功能,網站用戶將在瀏覽我們的網站時獲得更高的滿意度,就像使用 Facebook 或 Twitter 等高度動態、用戶友好的網絡應用程序時一樣。

此外,古騰堡正在緩慢但肯定地對創建網站的整個過程進行現代化改造。 雖然目前它只能用作內容編輯器,但在未來的某個時間它將成為一個成熟的網站構建器,允許將組件(稱為塊)放置在頁面的任何位置,包括頁眉、頁腳、側邊欄等。 (WordPress.com 背後的公司 Automattic 已經開始開發一個插件,為其商業站點添加完整的站點編輯功能,從中可以適應開源 WordPress 軟件。)通過站點構建功能,非-技術用戶將能夠非常輕鬆地向他們的網站添加非常強大的功能,因此 WordPress 將繼續歡迎更大的網絡工作人員社區(而不僅僅是開發人員)。

快速發展

Gutenberg 開發速度如此之快的原因之一是因為它託管在 GitHub 上,與 Trac(處理 WordPress 核心)相比,它簡化了代碼、問題和通信的管理,這使得它很容易首先- 時間貢獻者參與其中,因為他們可能已經有使用 Git 的經驗。

與 WordPress 核心分離後,Gutenberg 可以從快速迭代中受益。 儘管每 3 個月左右發布一個新版本的 WordPress,但 Gutenberg 也可以作為獨立插件使用,每兩週發布一個新版本(而 WordPress 的最新版本包含 Gutenberg 版本 5.5,最新的插件版本是 6.2 )。 每兩周訪問我們網站的強大新功能確實令人印象深刻,它可以從更廣泛的生態系統中解鎖更多功能(例如,AMP 插件需要 Gutenberg 5.8+ 才能獲得多項功能)。

無頭 WordPress 為多個堆棧提供動力

Gutenberg 的副作用之一是 WordPress 越來越“無頭”,進一步將應用程序的呈現與內容的管理脫鉤。 這是因為 Gutenberg 是一個前端客戶端,它通過 API(WP REST API)與 WordPress 後端進行交互,而 Gutenberg 的開發要求對可用 API 進行一致的擴展。 這些 API 不僅限於古騰堡; 它們可以與任何客戶端框架一起使用,以使用任何堆棧呈現站點。

我們可以為 WordPress 應用程序利用的堆棧示例是 JAMstack,它支持基於靜態站點的架構,通過 3rd 方服務 (API) 增強為動態(事實上,Smashing Magazine 是一個 JAMstack 站點!)。 這樣,我們可以在 WordPress 中託管我們的內容(利用它作為內容管理系統,這是它真正擅長的),構建一個通過 API 訪問內容的應用程序,生成一個靜態站點,並將其部署在一個內容上交付網絡,提供更低的成本和更高的訪問速度。

新功能

讓我們玩一下 Gutenberg(插件,不是 WordPress 核心中包含的插件,可在此處獲得),看看過去幾個月添加了哪些功能。

塊管理器

通過塊管理器,我們可以決定在內容編輯器上可以使用哪些塊; 所有其他人將被禁用。 刪除對不需要的塊的訪問在多種情況下可能很有用,例如:

  • 許多插件是塊捆綁; 安裝這樣的插件時,它們的所有塊都將添加到內容編輯器中,即使我們只需要一個
  • 在 WordPress 核心中實現了多達 40 個嵌入提供程序,但我們可能只需要其中一些用於應用程序,例如 Vimeo 和 Youtube
  • 擁有大量可用的塊可能會讓我們不知所措,通過添加用戶需要導航的額外層來削弱我們的工作流程,從而導致時間使用不理想; 因此,暫時禁用不需要的塊可以幫助我們更有效
  • 同樣,只有我們需要的塊可以避免由於使用錯誤的塊而導致的潛在錯誤; 特別是,可以通過自上而下的方式確定需要哪些塊,網站管理員分析所有可用塊並決定使用哪些塊,並將決定強加給內容管理員,然後內容管理員可以從這項任務中解脫出來,可以專注於自己的職責。
塊管理器
通過管理器啟用/禁用塊(大預覽)

帶嵌套元素的蓋塊

封面塊(允許我們在背景圖像上添加標題,通常用於創建英雄標題)現在將其內部元素(即標題和按鈕,可以添加以創建號召性用語)定義為嵌套元素,允許我們以統一的方式跨塊修改其屬性(例如,我們可以將標題設為粗體並添加鏈接,放置一個或多個按鈕並更改其背景顏色等)。

蓋塊
封面塊接受嵌套元素(大預覽)

塊分組和嵌套

請注意:這些功能仍然存在缺陷! 然而,大量的時間和精力都投入到了他們身上,所以我們可以期待他們很快就能順利工作。

塊分組允許將多個塊組合在一起,因此當在頁面上向上或向下移動它們時,它們都會一起移動。 塊嵌套意味著將塊放置在塊內,並且嵌套深度沒有限制,因此我們可以將塊內的塊放在塊內的塊內......(你現在已經得到我了)。 塊嵌套對於在佈局上添加列特別有用,通過列塊,然後每列可以包含在任何類型的塊中,例如圖像、文本、視頻等。

塊分組和嵌套
塊可以組合在一起,並相互嵌套(大預覽)

現有小部件的遷移

過去有幾種方法可以在頁面上添加內容(TinyMCE 內容、短代碼、小部件、菜單等),這些塊試圖將所有這些都統一到一個方法中。 目前,新考慮的遺留代碼(例如小部件)正在遷移到塊格式。

最近,“最新帖子”小部件以塊的形式重新實現,支持在配置時實時預覽佈局的外觀(更改要顯示的字數、顯示摘錄或完整帖子、顯示日期與否,等等)。

最新帖子小部件
“最新帖子”小部件包括幾個用於自定義其外觀的選項(大預覽)

運動動畫

在頁面上向上或向下移動塊曾經涉及突然的轉換,有時很難理解塊是如何重新排序的。 從 Gutenberg 6.1 開始,運動動畫的一項新功能通過在塊更改中添加逼真的運動來解決這個問題,例如在創建、刪除或重新排序塊時,為重新排序塊所採取的動作提供了極大改進的視覺提示。 此外,整個古騰堡都可以應用運動動畫的整體概念來表達變化,從而改善用戶體驗並提供更好的可訪問性支持。

運動動畫
重新排序時,塊具有平滑的效果。 (大預覽)

功能(希望)即將推出

根據 WordPress 創始人 Matt Mullenweg 的說法,目前 Gutenberg 的完整路線圖只有 10% 已實施,因此有很多令人興奮的新東西等著我們。 下面列出的新功能的工作已經開始,或者團隊目前正在試驗它們。

  • 塊目錄
    wp-admin 中的一個新的頂級項目,它將提供塊發現。 這樣,塊可以獨立安裝,而無需通過插件發送它們。
  • 導航塊
    目前,導航菜單必須通過它們自己的界面來創建。 但是,很快我們將能夠通過塊創建這些並將它們放置在頁面上的任何位置。
  • 塊的內聯安裝
    能夠發現塊,下一個合乎邏輯的步驟是能夠在最需要的地方即時安裝新塊:在帖子編輯器上。 我們將能夠在寫文章時安裝一個塊,使用新塊生成它的 HTML,將它的輸出保存在文章中,然後刪除塊,所有這些都不需要瀏覽到不同的管理頁面。
  • 調整圖像大小時對齊網格
    當我們在帖子上放置幾張圖片時,將它們調整為相同的寬度或高度可能是一個痛苦的過程,反复嘗試和失敗,直到正確為止,這遠非理想。 很快,就可以將圖像捕捉到一個虛擬網格層,該層在調整圖像大小時出現在背景上。

WordPress 變得有吸引力(再一次)

有幾個原因支持這樣的想法,即 WordPress 將很快成為一個有吸引力的編碼平台,就像從前一樣。 讓我們看看其中的幾個。

PHP 現代化

WordPress 對現代化的追求並不止於整合現代 JavaScript 庫和工具(React、webpack、Babel):它還擴展到服務器端語言:PHP。 WordPress 的 PHP 最低版本最近提升至 5.6,最早應在 2019 年 12 月提升至 7.0 版本。PHP 7 與 PHP 5 相比具有顯著優勢,最值得注意的是它的速度提高了一倍以上,而更高版本的 PHP(7.1 , 7.2 和 7.3) 都變得更快了。

儘管似乎沒有從 PHP 7.0 進一步升級到其更高版本的官方計劃,但一旦有勢頭,就更容易繼續下去。 PHP 本身也在不斷地改進。 即將於 2019 年 11 月發布的即將發布的 PHP 7.4 將包括許多新的改進,包括箭頭函數和數組內部的擴展運算符(用於現代 JavaScript),以及將庫和框架預加載到 OPCache 中的機制以進一步提高性能,以及其他幾個令人興奮的功能。

跨平台代碼的可重用性

Gutenberg 與 WordPress 分離的一個很大的副作用是它也可以與其他框架集成。 這正是發生的事情! Gutenberg 現在可用於 Drupal,Laraberg(用於 Laravel)即將正式發布(目前正在測試候選發布版)。 這種現象的美妙之處在於,通過 Gutenberg,所有這些不同的框架現在都可以共享/重用代碼!

結論

現在是成為 Web 開發人員的最佳時機。 所有相關語言和技術(JavaScript、CSS、圖像優化、可變字體、雲服務等)的發展速度令人震驚。 直到最近,WordPress 還在從外部看待這種發展趨勢,開發人員可能已經覺得他們錯過了現代化的火車。 但是現在,通過古騰堡,WordPress 也開始了這趟列車,並跟上它引導網絡朝著積極方向發展的歷史。

Gutenberg 可能還沒有完全發揮作用,因為它有很多問題需要解決,而且它可能還需要一段時間才能真正兌現其承諾。 但是,到目前為止,它看起來不錯,並且每個新版本看起來都越來越好:古騰堡正在穩步為 WordPress 帶來新的可能性。 因此,這是重新考慮嘗試 Gutenberg 的好時機(也就是說,如果您還沒有這樣做的話)。 任何與 WordPress 打交道的人(網站管理員、開發人員、內容管理員、網站用戶)都可以從這種新常態中受益。 我會說這是一件令人興奮的事情,不是嗎?