Dinamik WordPress Bloklarının Geliştirilmiş Sunucu Oluşturması

Dinamik WordPress Bloklarının Geliştirilmiş Sunucu Oluşturması

Hafta sonu David Gwyer, blok eklentileri için özel bir sunucu tarafı oluşturma bileşenini duyurdu . WPGO Plugins'in kurucu ortağı, öncelikle kendi eklentilerindeki dinamik bloklar için oluşturma sürecini hızlandırmak için bileşenini oluşturdu. Ancak, şimdi bu bileşeni WordPress topluluğundaki diğer blok geliştiricileri için yayınladı.

Blokların çoğu statiktir. Çıktıları aynı kalır ve değiştirilmesine gerek yoktur. Ancak bazı bloklar dinamiktir. Çıktılarının, çıktı oldukları bağlam veya WordPress sistemindeki diğer değişiklikler gibi çeşitli nedenlere bağlı olarak değişmesi gerekir. Örneğin, çekirdek En Son Gönderiler bloğu dinamiktir çünkü görüntülediği gönderiler yeni yazılar yazıldıkça değişir. Statik bir blok olarak çıktılarsa, son kullanıcının her yeni gönderi yazıldığında bloğu güncellemesi gerekir. Bu nedenle, dinamik bloklar, sunucu tarafından düzenleyicide ve ön uçta işlendikleri için kullanışlıdır.

Sunucudan oluşturma ile ilgili sorun, özellikle kullanıcı belirli bir blokta art arda birkaç seçenek değişikliği yapıyorsa, bunun yavaş olabilmesidir. Her değişiklikle birlikte blok yeniden oluşturulmalıdır. Dinamik bloklarla ilgili temel deneyim ideal olmamıştır.

Gwyer'in yeni bileşeni GitHub aracılığıyla edinilebilir. Projenin çok az kodu var ve birincil JavaScript dosyası 4kb'nin biraz üzerinde (sıkıştırılmamış). WordPress'in mevcut bileşenine benzer şekilde çalışan yeni bir bileşen sunar. Blok geliştiricileri, hızlı bir test için bu sürüme geçmekte biraz sorun yaşamalıdır.

Şu anda bileşenini Esnek SSS eklentisi içinde kullanıyor. Birkaç testten geçtikten sonra, eklentinin dinamik blokları, neredeyse onunla JavaScript ile oluşturulmuş bir statik blok arasında çok az fark olduğu noktaya kadar çok daha duyarlı hissediyor.

 

Bileşen Nasıl Çalışır?

Gwyer'in bileşeni, render durumları arasında geçiş yaptığı noktanın yanı sıra iyi çalıştığını söylediği çekirdek bileşenin bir çatalı. Özel bileşeni bu sorunu gidermeye çalışıyor. "Ana eklemeler, yer tutucu içerik olarak kullanmak için önceki blok içeriğini izlemek için yeni bir durum parçası ve döndürücü konumunu işlemek için yeni bir bileşen desteği" dedi.

Hem çekirdeğin hem de bileşeninin temel bileşen oluşturma ile nasıl çalıştığını şu şekilde ortaya koydu:

  1. Render bloğu.
  2. Blok öznitelikleri güncellendi.
  3. Tüm blok içeriğini döndürücü ile değiştirin.
  4. Yeni blok içeriği oluşturun.

Yeni bileşeni, en azından algılanan bir görsel hız artışı yaratan önemli bir değişiklik yapıyor:

  1. Render bloğu.
  2. Blok öznitelikleri güncellendi.
  3. Tüm blok içeriğini yer tutucu içeriğiyle (mevcut / önceki içerik), artı sağ üst köşedeki döndürücü ile değiştirin.
  4. Yeni blok içeriği oluşturun.

Gwyer, "Blok içeriği, yeni içerik işlenmeye hazır olana kadar esasen değiştirilmeden bırakıldığı için hem daha hızlı hem de daha akıcı görünüyor," dedi.

Asıl soru, bu çatalın Gutenberg projesine girip girmeyeceği ve sonunda WordPress ile birleştirilip birleştirilmeyeceğidir. WordPress geliştiricisi Ben Gillbanks böyle düşünüyor ve istekle yeni bir GitHub bileti oluşturdu.

Gwyer, "Dinamik bloklar için çok daha iyi bir oluşturma deneyimi olduğu için Gutenberg'e eklendiğini görmek isterim" dedi. "Çekirdeğe dahil etmekle ilgileniyorlarsa, takımla mutlu bir şekilde iletişim kurarım."

 

Kaynak: Wordpress Tavern