(Yaklaşan) WordPress Rönesansı

Yayınlanan: 2022-03-10
Kısa özet ↬ 8 ay önce piyasaya sürülmesinden bu yana Gutenberg, WordPress'te mümkün olan her şeyden çok daha zengin bir kullanıcı deneyimi sunarak büyük ölçüde geliştirildi. Gelin son gelişmelere ve nereye doğru gittiğine bir göz atalım.

Gutenberg'in WordPress'te varsayılan içerik editörü olarak piyasaya sürülmesinden bu yana 8 ay geçti. Kime sorduğunuza bağlı olarak, Gutenberg'in WordPress'in (veya ikisinin arasındaki herhangi bir şeyin) başına gelen en kötü veya en iyi şey olduğunu duyabilirsiniz. Ancak çoğu insanın hemfikir olduğu bir şey, Gutenberg'in sürekli olarak geliştiğidir. Mevcut geliştirme hızında, en göze çarpan sorunlarının ele alınması ve kullanıcı deneyiminin gerçekten keyifli hale gelmesi yalnızca an meselesi.

Gutenberg devam eden bir çalışmadır. Kullanırken, aşağıda yerleştirilen blok seçildiği için tıklayamadığım kayan seçenekler, sezgisel olmayan blok gruplamaları, onları işe yaramaz hale getiren çok fazla boşluk içeren sütunlar ve “+” öğesi gibi çıldırtıcı sıkıntılar yaşıyorum. sayfanın her yerinde dikkatimi çekiyor. Bununla birlikte, karşılaştığım sorunlar hala nispeten yönetilebilir (bu, önceki sürümlerden bir gelişmedir) ve ayrıca Gutenberg potansiyel faydalarını gerçeğe dönüştürmeye başladı: En acil hatalarının çoğu giderildi, erişilebilirlik sorunları giderildi. çözülmekte ve yeni ve heyecan verici özellikler sürekli olarak kullanıma sunulmaktadır. Şimdiye kadar sahip olduklarımız oldukça iyi ve daha da iyi olacak.

Gutenberg'in piyasaya sürülmesinden bu yana meydana gelen yeni gelişmelere ve nereye gittiğine bir göz atalım.

Not: Bu konu hakkında daha fazla bilgi için WordPress kurucusu Matt Mullenweg'in WordCamp Europe 2019'daki konuşmasını izlemenizi tavsiye ederim.

Atlamadan sonra daha fazlası! Aşağıdan okumaya devam edin ↓

Gutenberg'e Neden İhtiyaç Duyuldu?

Gutenberg, WordPress'i yeniden canlandırmak, WordPress'i geliştiriciler için bir kez daha çekici hale getirmek (ve şu anki en korkulan platform olma durumunu tersine çevirmek) için tam zamanında geldi. WordPress, geriye dönük uyumluluğu bozmamaya odaklandığı için çekici görünmeyi bırakmıştı, bu da WordPress'in modern kodu içermesini önleyerek daha yeni, daha parlak çerçevelere kıyasla soluk görünmesini sağlıyordu.

Birçok kişi WordPress'in ölme tehlikesiyle karşı karşıya olmadığını (sonuçta, web'in 1/3'ünden fazlasına güç sağlıyor), böylece Gutenberg'e gerçekten ihtiyaç duyulmadığını iddia ediyor ve haklı olabilirler. Bununla birlikte, WordPress acil bir tehlike altında olmasa bile, modern geliştirme trendlerinden koparak, muhtemelen kısa vadede değil, kesinlikle orta ve uzun vadede eskimeye doğru gidiyordu. Gutenberg'in farklı WordPress paydaşları için deneyimi nasıl geliştirdiğini gözden geçirelim: geliştiriciler, web sitesi yöneticileri ve web sitesi kullanıcıları.

Geliştiriciler son zamanlarda JavaScript kitaplıkları Vue ve React aracılığıyla web siteleri oluşturmayı benimsediler çünkü (diğer nedenlerin yanı sıra) bileşenlerin gücü ve rahatlığı tatmin edici bir geliştirici deneyimine dönüşüyor. Gutenberg, çoğunluğa katılarak ve bu tekniği benimseyerek, WordPress'in geliştiricileri bir kez daha çekmesini ve tatmin edici buldukları bir şekilde kodlama yapmalarını sağlar.

Web sitesi yöneticileri içeriklerini daha kolay yönetebilir, üretkenliklerini artırabilir ve daha önce yapılamayacak şeyleri başarabilir. Örneğin, bir Youtube videosunu bir blok üzerinden yerleştirmek TinyMCE Textarea'dan daha kolaydır, bloklar en uygun görüntüleri sunabilir (sıkıştırılmış, cihaza göre yeniden boyutlandırılmış, farklı bir formata dönüştürülmüş vb.) ve WYSIWYG ( Ne Görüyorsun Neyi Alıyorsun ) yetenekleri , içeriğin web sitesinde nasıl görüneceğine dair gerçek zamanlı bir önizleme sağlamak için yeterince iyi.

Web sitesi kullanıcıları , güçlü işlevselliğe erişim sağlayarak, Facebook veya Twitter gibi son derece dinamik, kullanıcı dostu web uygulamalarını kullanırken yaşadıkları gibi, sitelerimizde gezinirken daha yüksek bir memnuniyete sahip olacaklardır.

Buna ek olarak, Gutenberg yavaş ama emin adımlarla web sitesini oluşturma sürecinin tamamını modernize ediyor. Şu anda yalnızca içerik düzenleyicisi olarak kullanılabilirken, gelecekte bir süre sonra tam teşekküllü bir site oluşturucu haline gelecek ve üstbilgi, altbilgi, kenar çubuğu vb. (WordPress.com'un arkasındaki şirket olan Automattic, ticari sitesi için açık kaynaklı WordPress yazılımına uyarlanabileceği tam site düzenleme yetenekleri ekleyen bir eklenti üzerinde çalışmaya başladı.) Site oluşturma özelliği sayesinde, -techy kullanıcıları sitelerine çok güçlü işlevler çok kolay bir şekilde ekleyebilecekler, bu nedenle WordPress web üzerinde çalışan daha büyük insan topluluğunu (yalnızca geliştiricileri değil) karşılamaya devam edecek.

Hızlı Gelişim

Gutenberg'in bu kadar hızlı bir gelişme hızı görmesinin nedenlerinden biri, Trac'a (WordPress çekirdeğini işleyen) kıyasla kod, sorunlar ve iletişimin yönetimini basitleştiren ve bunu ilk başta kolaylaştıran GitHub'da barındırılıyor olmasıdır. -Zaman katkıda bulunanların Git ile çalışma deneyimine sahip olabilecekleri için dahil olmaları gerekir.

WordPress çekirdeğinden ayrılan Gutenberg, hızlı yinelemeden yararlanabilir. Her 3 ayda bir WordPress'in yeni bir sürümü yayınlansa da, Gutenberg iki haftada bir yeni bir sürüm gören bağımsız bir eklenti olarak da mevcuttur (WordPress'in en son sürümü Gutenberg sürüm 5.5'i içerirken, en son eklenti sürümü 6.2'dir). ). Sitelerimiz için her iki haftada bir güçlü yeni işlevlere erişim gerçekten çok etkileyici ve daha geniş ekosistemden daha fazla işlevsellik açmayı mümkün kılıyor (örneğin, AMP eklentisi çeşitli özellikler için Gutenberg 5.8+ gerektirir).

Birden Çok Yığını Güçlendirmek İçin Başsız WordPress

Gutenberg'in yan etkilerinden biri, WordPress'in giderek daha fazla “başsız” hale gelmesi ve uygulamanın oluşturulmasını içeriğin yönetiminden daha da ayırmasıdır. Bunun nedeni, Gutenberg'in API'ler (WP REST API) aracılığıyla WordPress arka ucuyla etkileşime giren bir ön uç istemcisi olması ve Gutenberg'in geliştirilmesinin mevcut API'lerin tutarlı bir şekilde genişletilmesini gerektirmesidir. Bu API'ler Gutenberg ile sınırlı değildir; siteyi herhangi bir yığın kullanarak işlemek için herhangi bir istemci tarafı çerçevesi ile birlikte kullanılabilirler.

WordPress uygulamamız için kullanabileceğimiz bir yığın örneği, dinamik hale gelmek için 3. taraf hizmetler (API'ler) ile güçlendirilmiş statik sitelere dayalı bir mimariyi destekleyen JAMstack'tir (aslında Smashing Magazine bir JAMstack sitesidir!). Bu şekilde, içeriğimizi WordPress'te barındırabiliriz (gerçekten iyi olduğu şey olan bir İçerik Yönetim Sistemi olarak kullanır), içeriğe API'ler aracılığıyla erişen bir uygulama oluşturabilir, statik bir site oluşturabilir ve bunu bir İçeriğe dağıtabiliriz. Daha düşük maliyetler ve daha yüksek erişim hızı sağlayan Teslimat Ağı.

Yeni İşlevsellik

Gutenberg ile oynayalım (burada bulunan WordPress çekirdeğine dahil olmayan eklenti) ve son birkaç ayda hangi işlevlerin eklendiğini görelim.

Blok Yöneticisi

Blok yöneticisi aracılığıyla, içerik düzenleyicide hangi blokların bulunacağına karar verebiliriz; diğerleri devre dışı bırakılır. İstenmeyen bloklara erişimi kaldırmak, aşağıdakiler gibi çeşitli durumlarda faydalı olabilir:

  • Birçok eklenti, blok demetleridir; böyle bir eklenti kurarken, yalnızca birine ihtiyacımız olsa bile, tüm blokları içerik düzenleyiciye eklenecektir.
  • WordPress çekirdeğinde 40 kadar yerleştirme sağlayıcısı uygulanmaktadır, ancak uygulama için Vimeo ve Youtube gibi bunlardan yalnızca birkaçına ihtiyacımız olabilir.
  • Çok sayıda kullanılabilir blok olması bizi bunaltabilir, kullanıcının gezinmesi gereken ekstra katmanlar ekleyerek iş akışımızı bozabilir ve zamanın optimal olmayan kullanımına yol açabilir; bu nedenle, gereksiz blokları geçici olarak devre dışı bırakmak daha etkili olmamıza yardımcı olabilir
  • Benzer şekilde, yalnızca ihtiyacımız olan bloklara sahip olmak, yanlış blokların kullanılmasından kaynaklanan olası hataları önler; özellikle, hangi blokların gerekli olduğunun belirlenmesi yukarıdan aşağıya bir şekilde yapılabilir, web sitesi yöneticisi mevcut tüm blokları analiz eder ve hangilerinin kullanılacağına karar verir ve kararı içerik yöneticilerine empoze eder, bu da daha sonra bu görevden kurtulur ve kendi görevlerine konsantre olabilirler.
blok yöneticisi
Yönetici aracılığıyla blokları etkinleştirme/devre dışı bırakma (Büyük önizleme)

Yuvalama Elemanlı Kapak Bloğu

Kapak bloğu (bir arka plan görüntüsü üzerine bir başlık eklememize izin verir, genellikle kahraman başlıkları oluşturmak için kullanışlıdır) artık iç öğelerini (yani bir harekete geçirici mesaj oluşturmak için eklenebilecek başlık ve düğmeler) iç içe öğeler olarak tanımlar, özelliklerini bloklar arasında tek tip bir şekilde değiştirmemize izin verir (örneğin, başlığı kalın yapabilir ve ona bir bağlantı ekleyebilir, bir veya daha fazla düğme yerleştirebilir ve arka plan rengini değiştirebiliriz ve diğerleri).

Kapak bloğu
Kapak bloğu iç içe öğeleri kabul eder (Büyük önizleme)

Blok Gruplama ve Yerleştirme

Lütfen dikkat: Bu özellikler hala sorunlu! Bununla birlikte, onlara çok fazla zaman ve enerji ayrılmaktadır, bu nedenle yakında sorunsuz çalışmalarını bekleyebiliriz.

Blok gruplama, birkaç bloğu birlikte gruplandırmaya izin verir, böylece onları sayfada yukarı veya aşağı hareket ettirirken hepsi birlikte hareket eder. Blok yuvalama, bir bloğu bir bloğun içine yerleştirmek anlamına gelir ve yuvalama derinliğinin bir sınırı yoktur, bu nedenle blokların içindeki blokları, içindeki blokların içindeki bloklara sahip olabiliriz… (şimdi beni anladınız). Blok iç içe yerleştirme, özellikle bir sütun bloğu aracılığıyla mizanpaja sütun eklemek için kullanışlıdır ve ardından her sütun, resimler, metinler, videolar vb. gibi herhangi bir bloğun içinde içerebilir.

Blok gruplandırma ve iç içe yerleştirme
Bloklar birlikte gruplanabilir ve iç içe yerleştirilebilir (Büyük önizleme)

Önceden Var Olan Widget'ların Geçişi

Geçmişte sayfaya içerik eklemek için çeşitli yöntemler (TinyMCE içeriği, kısa kodlar, widget'lar, menüler vb.) olmasına rağmen, bloklar hepsini tek bir yöntemde birleştirmeye çalışır. Şu anda, widget'lar gibi yeni değerlendirilen eski kodlar blok biçimine taşınıyor.

Son zamanlarda, "Son Gönderiler" widget'ı, düzenin yapılandırılırken nasıl göründüğünün gerçek zamanlı önizlemesini destekleyen bir blok olarak yeniden uygulandı (görüntülenecek kelime sayısını değiştirme, bir alıntıyı veya tam gönderiyi gösterme, tarihi görüntüleme ya da değil, vb).

En son gönderiler widget'ı
"Son gönderiler" widget'ı, görünümünü özelleştirmek için çeşitli seçenekler içerir (Büyük önizleme)

Hareket Animasyonu

Blokları sayfada yukarı veya aşağı hareket ettirmek, bazen blokların nasıl yeniden sıralandığını anlamayı zorlaştıran ani bir geçiş içeriyordu. Gutenberg 6.1'den bu yana, hareket animasyonunun yeni bir özelliği, bir bloğu oluştururken, kaldırırken veya yeniden düzenlerken olduğu gibi blok değişikliklerine gerçekçi bir hareket ekleyerek bu sorunu çözer ve blokları yeniden sıralamak için gerçekleştirilen eylemlerin büyük ölçüde geliştirilmiş görsel ipucunu verir. Ek olarak, genel hareket animasyonu konsepti, değişimi ifade etmek ve böylece kullanıcı deneyimini geliştirmek ve daha iyi erişilebilirlik desteği sağlamak için Gutenberg'de uygulanabilir.

Hareket animasyonu
Bloklar yeniden sıralandıklarında yumuşak bir etkiye sahiptir. (Büyük önizleme)

İşlevsellik (Umarım) Çok Yakında

WordPress kurucusu Matt Mullenweg'e göre, Gutenberg'in tüm yol haritasının yalnızca %10'u şimdiye kadar uygulandı, bu nedenle bizi bekleyen birçok heyecan verici yeni şey var. Aşağıda listelenen yeni özellikler üzerinde çalışmalar ya çoktan başladı ya da ekip şu anda bunları deniyor.

  • Blok dizini
    wp-admin'de blok keşfi sağlayacak yeni bir üst düzey öğe. Bu şekilde bloklar, bir eklenti aracılığıyla gönderilmelerine gerek kalmadan bağımsız olarak kurulabilir.
  • Gezinme blokları
    Şu anda, navigasyon menüleri kendi arayüzleri üzerinden oluşturulmalıdır. Ancak yakında bunları bloklar aracılığıyla oluşturabileceğiz ve sayfanın herhangi bir yerine yerleştirebileceğiz.
  • Blokların sıralı montajı
    Blokları keşfedebilmek için bir sonraki mantıklı adım, en çok ihtiyaç duyulan yere anında yeni bir blok yükleyebilmektir: Yazı düzenleyicide. Bir gönderi yazarken bir blok yükleyebilir, HTML'sini oluşturmak için yeni bloğu kullanabilir, çıktısını gönderiye kaydedebilir ve bloğu kaldırabiliriz, bunların hepsini farklı bir yönetici sayfasına göz atmadan gerçekleştirebiliriz.
  • Görüntüleri yeniden boyutlandırırken ızgaraya yasla
    Gönderimize birkaç resim yerleştirdiğimizde, onları aynı genişlikte veya yükseklikte yeniden boyutlandırmak, doğru olanı elde edene kadar defalarca denemek ve başarısız olmak için acı verici bir süreç olabilir, ki bu ideal olmaktan uzaktır. Yakında, görüntü yeniden boyutlandırılırken arka planda görünen sanal bir ızgara katmanına görüntüyü yapıştırmak mümkün olacak.

WordPress Cazip Oluyor (Bir Kez Daha)

Birkaç neden, WordPress'in bir zamanlar olduğu gibi yakında kodlamak için çekici bir platform olacağı fikrini destekliyor. Bir iki tanesini görelim.

PHP Modernizasyonu

WordPress'in modernleştirme arayışı, modern JavaScript kitaplıklarını ve araçlarını (React, webpack, Babel) dahil etmekle bitmez: Ayrıca sunucu tarafı diline de uzanır: PHP. WordPress'in minimum PHP sürümü yakın zamanda 5.6'ya yükseltildi ve Aralık 2019 gibi erken bir tarihte 7.0 sürümüne yükseltilmelidir. PHP 7, PHP 5'e göre, özellikle hızını iki katından fazlasına ve PHP'nin sonraki sürümlerine (7.1) göre olağanüstü avantajlar sunar. , 7.2 ve 7.3) her biri daha da hızlı hale geldi.

PHP 7.0'dan sonraki sürümlerine daha fazla yükseltme yapmak için resmi bir plan yok gibi görünse de, ivme bir kez orada olduğunda onu devam ettirmek daha kolay. Ve PHP'nin kendisi de durmaksızın geliştirilmektedir. Kasım 2019'da piyasaya sürülecek olan PHP 7.4, ok işlevleri ve dizilerin içindeki yayılma operatörü (modern JavaScript için kullanıldığı gibi) ve kitaplıkları ve çerçeveleri OPCache'ye önceden yüklemek için bir mekanizma dahil olmak üzere birçok yeni iyileştirme içerecektir. diğer heyecan verici özelliklerin yanı sıra performansı artırın.

Kodun Platformlar Arasında Yeniden Kullanılabilirliği

Gutenberg'in WordPress'ten ayrılmasının büyük bir yan etkisi, diğer çerçevelerle de entegre edilebilmesidir. Ve olan da tam olarak bu! Gutenberg şimdi Drupal için mevcut ve Laraberg (Laravel için) yakında resmi olarak piyasaya sürülecek (şu anda sürüm adayını test ediyor). Bu olgunun güzelliği, Gutenberg aracılığıyla, tüm bu farklı çerçevelerin artık kodu paylaşabilmesi/yeniden kullanabilmesidir!

Çözüm

Bir web geliştiricisi olmak için daha iyi bir zaman olmamıştı. İlgili tüm diller ve teknolojiler (JavaScript, CSS, görüntü optimizasyonu, değişken yazı tipleri, bulut hizmetleri vb.) için gelişme hızı şaşırtıcıdır. Yakın zamana kadar, WordPress bu gelişme eğilimine dışarıdan bakıyordu ve geliştiriciler modernizasyon trenini kaçırdıklarını hissetmiş olabilirler. Ancak şimdi, Gutenberg aracılığıyla WordPress de trene biniyor ve web'i olumlu yönde yönlendirme geçmişine ayak uyduruyor.

Gutenberg, çözülmesi gereken birçok sorunu olduğundan henüz tam olarak işlevsel olmayabilir ve vaatlerini gerçekten yerine getirmesi biraz zaman alabilir. Ancak, şimdiye kadar iyi görünüyor ve her yeni sürümde daha da iyi görünüyor: Gutenberg, WordPress'e sürekli olarak yeni olanaklar getiriyor. Bu nedenle, Gutenberg'i denemeyi yeniden düşünmek için harika bir zaman (yani, henüz denemediyseniz). WordPress ile bir şekilde ilgilenen herkes (web sitesi yöneticileri, geliştiriciler, içerik yöneticileri, web sitesi kullanıcıları) bu yeni normalden yararlanabilir. Bunun heyecan verici bir şey olduğunu söyleyebilirim, değil mi?