FastComments.com Blog

Fri Jan 21 2022
...

FastComments Objavljuje Renderovanje na Serveru

! Ovaj Članak Sadrži Tehnički Žargon

Šta je Novo

Od lansiranja početkom 2020. godine, FastComments je isključivo koristio JavaScript za renderovanje komentarskog vidgeta.

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

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

Gore navedeni snimak ekrana je FastComments komentarski vidget, bez JavaScript-a. Možete pogledati ovu stranicu, bez JavaScript-a, ovde.

Kako to Koristiti

Ako koristite WordPress, FastComments dodatak verzija 3.10.1 automatski dodaje podršku za SSR kao rezervnu opciju za vaše korisnike koji pretražuju sa isključenim JS-om.

Za prilagođene implementacije, preuzmite UI za niti 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 je ovde.

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

Primer SSR-a zasnovanog na PHP-u
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 kako bismo dobili HTML za nit komentara, i renderovali ili sačuvali.

Potpuna dokumentacija je dostupna u SSR Dokumentaciji na docs.fastcomments.com.

SSO

Pošto volimo akronime koji zvuče kao da dolaze iz preduzeća, ne brinite, SSR podržava SSO. Primer jedinstvenog prijavljivanja sa SSR-om je ovde.

Lokalizacija

SSR zasnovan endpoint automatski lokalizuje odgovor na osnovu jezičkih header-a koje pretraživač šalje. Takođe može koristiti iste lokalizacione prepiske kao i widget zasnovan na JavaScript-u.

Zašto je Ovo Napravjeno

Jedna od glavnih primedbi na usluge poput FastComments je to što zahtevaju JS. Već činimo naš komentarski vidget što je moguće manjim i osiguravamo da ispunimo SLAs za naše API pozive ispod 20ms, ali mnoge manje zajednice neće izabrati takvo rešenje ako to znači dodavanje JS-a na svoju stranicu.

Ovo takođe otvara mogućnost korišćenja renderujućih motora koji nemaju pristup JavaScript-u.

Tehnologija

FastComments koristi svoj mali mikroframework za renderovanje UI. Ovaj framework koristi sličan pristup kao React, osim što su dozvoljene ručne dom manipulacije van inicijalnog renderovanja.

Osnovna biblioteka komentarskog vidgeta ima jedinstvenu ulaznu tačku - uzima set stanja i kreira rezultantni HTML i CSS koji se renderuju. Ovo jednostavno pozivamo i na serveru. Kada korisnik interaguje sa stranicom, stanje se menja i najnoviji HTML se preuzima. Ovo je napravljeno kao rezultat hackathona koji se desio kao deo novogodišnje proslave.

Live Komentarisanje

Pošto se UI renderuje od strane servera, jednom, funkcije live komentarisanja trenutno nisu dostupne.

Pored toga, obaveštenja su trenutno nedostupna. Bićemo otvoreni za dodavanje ove funkcionalnosti u budućnosti.

Performanse

UI renderovan na serveru koristi iste optimizacije skladištenja i renderujući motor kao i vidget zasnovan na JavaScript-u. Za male niti 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 Aplikacije

Planiramo da pokrenemo Forum rešenje u budućnosti. Tradicionalno, forumi su paginirani i renderovani na serveru. Savremena forum rešenja se udaljavaju od ove norme koristeći beskonačno skrolovanje i renderovanje na strani klijenta. Ne mislimo da je ovo jedina opcija za korišćenje treće strane Forum rešenja.

Na Zaključak

Nadamo se da vam je ovaj vodič bio koristan i lak za čitanje. Slobodno komentarišite ispod sa bilo kojim pitanjima.

Živeli!