FastComments.com Blog

Fri Jan 21 2022
...

FastComments Sunucu Tarafı Render'ı Yayınladı

! Bu Makale Teknik Terimler İçeriyor

Yenilikler

2020'nin başından bu yana FastComments, yorum widget'ını render etmek için yalnızca JavaScript kullanmaktadır.

Ya size hemen hemen tüm temel işlevleri, ancak JS kullanmadan elde edebileceğinizi söylesek?

Bu bir ekran görüntüsü, üzerine tıklama çabalarınızı bırakın.
SSR Demo

Yukarıdaki ekran görüntüsü, JavaScript olmadan FastComments yorum widget'ıdır. Bu sayfayı, JavaScript olmadan buradan görüntüleyebilirsiniz.

Nasıl Kullanılır

Eğer WordPress kullanıyorsanız, FastComments eklenti sürümü 3.10.1, JS devre dışı bırakılmış kullanıcılar için SSR desteğini otomatik olarak ekler.

Özel uygulamalar için, bir yorum dizisinin UI'sını almak için bu sayfanın /ssr/comments çağrısını basitçe yapın:

https://fastcomments.com/ssr/comments?tenantId=$tenantId&urlId=$urlId&url=$url

Burada $urlId, sayfanın url'si veya kimliğidir. Bununla ilgili dökümantasyon burada.

Örneğin, PHP ile içindeki yorum dizisini render eden bir iframe sayfaya gönderebiliriz:

PHP Tabanlı SSR Örneği
1
2<?php
3$tenantId = rawurlencode("my-tenant-id");
4$urlId = rawurlencode("my-page-url-article-id");
5$url = rawurlencode("my-page-url");
6
7$fastcomments_url = "https://fastcomments.com/ssr/comments?tenantId=$tenantId&urlId=$urlId&url=$url";
8?>
9<iframe
10 src="<?php echo $fastcomments_url; ?>"
11 horizontalscrolling="no"
12 allowtransparency="true"
13 frameborder="0"
14 title="FastComments"
15 width="100%"
16 height="1500px"
17 style= "width: 1px !important; min-width: 100% !important; border: none !important; overflow: hidden !important;"
18></iframe>
19

Ayrıca bir yorum dizisi için HTML almak üzere bir API çağrısı yapabilir ve onu render edebilir veya depolayabilirsiniz.

Tam dökümantasyon SSR Dokümanları'nda docs.fastcomments.com mevcuttur.

SSO

Kurumsal görünümlü kısaltmaları sevdiğimiz için, endişelenmeyin, SSR SSO'yu destekliyor. SSR ile Tekli Giriş örneği buradadır.

Yerelleştirme

SSR tabanlı uç noktası, tarayıcının gönderdiği dil ile ilgili başlıklar temelinde cevabı otomatik olarak yerelleştirir. Ayrıca, JavaScript tabanlı widget ile aynı yerelleştirme geçersiz kılmalarını da kullanabilir.

Neden Bu Oluşturuldu

FastComments gibi hizmetlerle ilgili en büyük şikayetlerden biri, JS gerektirmeleridir. Yorum widget'ımızı mümkün olduğunca hafif tutuyoruz ve API çağrısı SLA'larımızı < 20ms olarak karşılamak için çalışıyoruz, ancak birçok küçük topluluk, sitelerine JS eklemenin anlamına geldiği bir çözümü kabul etmeyecek.

Bu, JavaScript'e erişimi olmayan render motorlarını kullanma fırsatını da açar.

Teknoloji

FastComments, UI'yı render etmek için kendi küçük mikro frameworkünü kullanır. Bu framework, React'a benzer bir yaklaşım kullanır, ancak başlangıç render'ı dışında manuel DOM manipülasyonlarına izin verilir.

Ana yorum widget kütüphanesinin tek bir giriş noktası vardır - bir dizi durumu alır ve sonuçta render edilecek HTML ve CSS oluşturarak çalışır. Bunu sunucuda da basitçe çağırırız. Kullanıcı sayfa ile etkileşimde bulunduğunda, durum değiştirilir ve en son HTML çekilir. Bu, yeni yılın bir parçası olarak gerçekleşen bir hackathonun sonucunda oluşturuldu.

Canlı Yorumlama

UI sunucu tarafından bir kez render edildiğinden, canlı yorumlama özellikleri mevcut değildir.

Ayrıca, bildirim çanı şu anda mevcut değil. Bu özelliği gelecekte eklemeye açık olacağız.

Performans

Sunucu tarafından render edilen UI, JavaScript tabanlı widget ile aynı depolama optimizasyonlarını ve render motorunu kullanır. Küçük yorum dizileri için, performans aslında daha iyidir, çünkü kullanıcı, ardından yorumları alıp UI'ı render eden bir script indirmek zorunda kalmaz.

Tarayıcılar ve SEO

FastComments zaten web tarayıcıları ile iyi çalışmaktadır; eğer SEO bir endişe ise, SSR kullanımı gerekmemektedir.

Gelecek Uygulamaları

Gelecekte bir Forum çözümü sunmayı planlıyoruz. Geleneksel olarak, forumlar sayfalandırılır ve sunucu tarafından render edilir. Modern Forum çözümleri bu normdan, sonsuz kaydırma ve istemci tarafı render'ı kullanarak uzaklaşmaktadır. Bunun, üçüncü taraf bir Forum çözümünü kullanmanın tek seçeneği olması gerektiğini düşünmüyoruz.

Sonuç Olarak

Umarız bu kılavuzu faydalı ve okunması kolay bulmuşsunuzdur. Herhangi bir sorunuz varsa alttaki yorum kısmında bize ulaşmaktan çekinmeyin.

Şerefe!