FastComments.com Blog

Fri Jan 21 2022
...

FastComments objavljuje renderovanje na serverskoj strani

! Ovaj članak sadrži tehnički žargon

Šta je novo

Od lansiranja početkom 2020. godine, FastComments je isključivo koristio JavaScript za renderovanje vidžeta za komentare.

Šta ako vam kažemo da možete imati skoro sve iste osnovne funkcionalnosti, ali bez korišćenja JS-a?

Ovo je snimak ekrana, prestanite da pokušavate da ga kliknete.
SSR Demo

Gore prikazani snimak ekrana je vidžet za komentare FastComments, bez JavaScript-a. Možete pogledati ovu stranicu, bez JavaScript-a, ovde.

Kako ga koristiti

Ako koristite WordPress, FastComments dodatak verzije 3.10.1 automatski dodaje podršku za SSR kao rezervu za vaše korisnike koji pregledaju sa isključenim JS-om.

Za prilagođene implementacije, preuzmite UI za nit komentara, jednostavno pozovite /ssr/comments za tu stranicu:

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

Gde je $urlId url, ili id, stranice. Dokumentacija o ovome se nalazi ovde.

Na primer, sa PHP-om možemo poslati iframe na stranicu koja renderuje nit komentara unutra:

PHP Primer SSR-a
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

Takođe možemo napraviti API poziv da dobijemo HTML za nit komentara i da ga renderujemo ili sačuvamo.

Kompletna dokumentacija je dostupna u SSR dokumentaciji na docs.fastcomments.com.

SSO

Pošto volimo akronime koji zvuče kao preduzetnički, ne brinite, SSR podržava SSO. Primer Single-Sign-On sa SSR-om je ovde.

Lokacija

SSR zasnovana tačka pristupa automatski lokalizuje odgovor na osnovu jezičkih zaglavlja koje pretraživač šalje. Takođe može koristiti iste lokalizacione izuzeća kao i vidžet zasnovan na JavaScript-u.

Zašto je ovo izgrađeno

Jedna od glavnih pritužbi na usluge poput FastComments je da zahtevaju JS. Već radimo da naš vidžet za komentare bude što je moguće manji i osiguramo da ispunimo naše SLAs za API pozive od < 20ms, ali mnoge manje zajednice neće izabrati takvo rešenje ako to znači dodavanje JS-a na svoj sajt.

Ovo takođe otvara priliku da se koriste renderovanje engine-ovi koji nemaju pristup JavaScript-u.

Tehnologija

FastComments koristi svoj mali mikroframework za renderovanje UI-a. Ovaj framework koristi sličan pristup kao React, osim što su manuelne DOM manipulacije van inicijalnog renderovanja dozvoljene.

Osnovna biblioteka vidžeta za komentare ima jedinstvenu tačku ulaza - uzima skup stanja i stvara rezultatajući HTML i CSS koji treba renderovati. Ovo jednostavno pozivamo i na serveru. Kada korisnik interaguje sa stranicom, stanje se menja i najnoviji HTML se preuzima. Ovo je izgrađeno kao rezultat hakatona koji se odigrao kao deo novogodišnjih proslava.

Uživanje u komentarisanju

Pošto je UI renderovan od strane servera, jednom, funkcionalnosti uživo komentarisanja nisu dostupne.

Dodatno, obaveštenja nisu trenutno dostupna. Bićemo otvoreni za dodavanje ove funkcionalnosti u budućnosti.

Performanse

UI renderovan na serveru koristi iste optimizacije skladišta i renderovací motor kao vidžet zasnovan na JavaScript-u. Za male nitove komentara, performanse su zapravo bolje, jer korisnik ne mora preuzimati skriptu koja zatim preuzima komentare i renderuje UI.

Crawlers i SEO

FastComments već dobro funkcioniše sa web crawler-ima; ako je SEO zabrinutost, korišćenje SSR-a nije obavezno.

Buduće primene

Planiramo da u budućnosti lansiramo rešenje za Forume. Tradicionalno, forumi su paginirani i renderovani na serverskoj strani. Moderna rešenja za forume se udaljavaju od ove norme koristeći beskonačno skrolovanje i renderovanje na strani klijenta. Mi ne mislimo da to mora biti jedina opcija za korišćenje rešenja za Forume trećih strana.

Na kraju

Nadamo se da ste našli ovaj vodič korisnim i lakim za čitanje. Slobodno komentarišite ispod sa bilo kakvim pitanjima.

Pozdrav!