Drupal'ın kurucusu ve lider geliştiricisi Dries Buytaert'in yakın zamanda yayınladığı bir blog yazısında, " ayrıştırma hareketi " nin çeşitli yönleri, çeşitli yaklaşımların artıları ve eksileri ve bunun Drupal'in gelecekteki tasarım mimarisi ile nasıl bir ilişkisi olduğu tartışıldı . Kendi deyimiyle "dekuplaj terimi, geleneksel olarak hizmet odaklı mimarlık kavramı yerine, arka uç ile bir veya daha fazla ön uç arasındaki bir ayrılığı ifade eder."
Son birkaç yıl içinde, kullanıcıların web sitelerinin altta yatan negatif durumlarda ötürü ve tüketicilerin İnternet'ten beklediği içerikle nasıl bağlantılı olduklarına dair kayda değer kayma nedeniyle, son derece büyük bir oranda geliştiricilerin dikkatini çeken ilginç bir konu. Yani, eğer bir şansınız varsa, bu blogu okumanızı ve Drupal'ın bu paradigmaya uyup uymadığını bir anlam kazanmanızı tavsiye ederim.
Peki, BigPipe nedir?
BigPipe , Facebook.com tarafından tasarlanan ve Facebook.com'un sayfa oluşturma verimliliğini önemli ölçüde artıran bir tarayıcı oluşturma sistemidir .
Tüm sistemi BigPipe olarak adlandırırız ve web sayfalarımızı Pagelets olarak adlandırılan mantıksal içerik bloklarına ayırmamıza ve bu Pagelet'lerin üretimini ve render edilmesini sağlar. Örneğin ana sayfaya baktığınızda, haber beslemesini bir Pagelet, başka bir öneri kutusu ve bir başka reklam olarak düşünün. BigPipe, sayfalarımızın TTL'lerini düşürmekle kalmaz, aynı zamanda kısmi içeriği görmenin daha hızlı bir şekilde tamamlanmasından daha hızlı hissedebildiğinden, kullanıcılar için daha hızlı görünmelerini sağlar.
TTL, "yüklenme zamanı" anlamına gelir ve bu işin ve Dries adreslerinin blog yayınının bazı adreslerini yürüten önemli metriktir. Yükleme süresi web sitesi kullanılabilirliği ve kullanıcı memnuniyeti için kritik öneme sahiptir, çünkü genellikle ziyaretçilerin ilgilerini çekmeden önce sadece birkaç saniyeniz vardır . Web sitenizin yüklenmesi 5-6 saniye sürüyorsa, büyük olasılıkla gelen ziyaretçileri kaybedebilirsiniz. Bu nedenle, TTL'yi mümkün olan en küçük süreye indiren mimari veya tasarım desenlerindeki her türlü değişiklik siteniz için önemli ölçüde elzem bir durumdur.
Drupal Zaten Önbellekleme Sistemlerine Sahip, Peki Neden BigPipe?
Ancak, yüksek oranda kişiselleştirilmiş içerik, her zaman benzersiz bir görüntüleyiciye özgü olduğundan ve performans önleme konusunda sınırlı geri dönüşlere sahip olduğundan, her zaman daha "pahalı" bir içerik türü olarak kalacaktır. Ek olarak, bu daha pahalı içerik parçaları, diğer daha az pahalı (önbelleklenmiş) içerik bileşenlerinin oluşturulmasını potansiyel olarak tutabilir, hatta bir saniyelik bir kesimde yapılabilse bile, bunların oluşumunu geciktirebilir.
Drupal 8, bu sorunu çözmek için BigPipe'ı entegre ederek ve Dries'e göre "BigPipe, hem temel hem de katkıda bulunan modüller için çekirdeğine entegre eden tek CMS'dir."
İstemci tarafı dinamik içerik değişimi için bir yaklaşım olan BigPipe ile sayfalarımızın ilerlemesini, sayfanın iskeletinin ilk önce nereye yüklendiğini, daha sonra "geçen hafta en çok dinlediğim şarkılar" veya "şu anda çalmakta" gibi pahalı bileşenleri oluşturabiliyoruz. Daha sonra tarayıcıya gönderilir ve yer tutucuları doldurulur. Bu bileşen güdümlü yaklaşım, her iki dünyanın da en iyisini sunar: İlk etkileşime geçme süresi ve tema katmanından yararlanan tam Drupal sayfaların hızlı parça yüklemesi ile engellenmeyen kullanıcı arayüzleri.
Bunun performans açısından neye benzediğini görmek için, Aşağıdaki BigPipe ile ve BigPipe olmadan Drupal 8 de sayfa yüklerini gösteren bu kısa videoya göz atın.
Drupal 8'in Geleceği Parlak mı?
Bu videodan görebileceğiniz gibi, BigPipe sistemini Drupal 8 sayfasının içine yerleştirmek, yüklenme çok daha hızlı bir sürede sonuçlanıyor. Bu tür bir yanıt verme, daha yüksek düzeyde kullanıcı etkileşimi sağlamak için kritik öneme sahiptir ve sadece ziyaretçilerin web sitesinden ayrılmasının engellenmesine yardımcı olmakla kalmaz, aynı zamanda web sitesinin uzak ve yavaş içerikli bir mağazadan ziyade bir uygulama gibi daha fazla olmasını sağlar.
Bu tür bir sistem, çalışmasını sağlamak için geliştiricilerin daha fazla çalışmasını gerektirecek mi? Dries'e göre, modül geliştiricilerinin etiket, içerik ve yaş gibi özellikler biçiminde bazı " önbelleğe alınabilirlik meta verileri " sağlamaları gerekecek , ancak Drupal 8'in Dinamik Sayfa Önbellek modülü işin büyük kısmını yapmalıdır. Dolayısıyla, iyileştirilmiş oluşturma sistemi göründüğü kadar iyi çalışıyorsa ve önbelleğe alınmış meta verileri belgelendiği şekilde uygulanması kolaysa, Drupal 8 bir CMS platformu olarak gerçekten parlamak için büyük bir şansa sahip olur.