Fri Jan 21 2022
...
FastComments Releases Server-Side Rendering
! Ovaj Članak Sadrži Tehnički Žargon
Šta je Novo
Od lansiranja početkom 2020. godine, FastComments je isključivo koristio JavaScript za renderovanje widget-a za komentare.
Šta ako bismo vam rekli da možete imati skoro sve iste osnovne funkcionalnosti, ali bez korišćenja JS?
Gore prikazan screenshot je FastComments widget za komentare, bez JavaScript-a. Možete videti ovu stranicu, bez JavaScript-a, ovde.
Kako ga Koristiti
Ako koristite WordPress, FastComments plugin verzija 3.10.1 automatski dodaje podršku za SSR kao rezervnu opciju za vaše korisnike koji pretražuju sa onemogućenim JS.
Za prilagođene implementacije, preuzmite UI za thread komentara, jednostavno pozovite /ssr/comments za tu stranicu:
Gde je $urlId url, ili id, stranice. Dokumentacija o ovome je ovde.
Na primer, uz PHP možemo poslati iframe na stranicu koja renderuje thread komentara unutra:
Takođe bismo mogli napraviti API poziv da dobijemo HTML za thread komentara, i renderujemo ili sačuvamo.
Potpuna dokumentacija je dostupna u SSR Docs na docs.fastcomments.com.
SSO
Pošto volimo akronime koji zvuče kao za preduzeća, ne brinite, SSR podržava SSO. Primer Jedinstvenog Prijavljivanja sa SSR je ovde.
Lokalizacija
SSR-bazirani endpoint automatski lokalizuje odgovor na osnovu jezičkih zaglavlja koje pregledač šalje. Takođe može koristiti iste lokalizacione prepravke kao JavaScript zasnovani widget.
Zašto je Ovo Napravljen
Jedna od glavnih primedbi na usluge poput FastComments je ta što zahtevaju JS. Već činimo naš widget za komentare što je moguće manjim i osiguravamo da ispunjavamo naše API pozive SLAs < 20ms, ali mnoge manje zajednice neće izabrati takvo rešenje ako to znači dodavanje JS na svoju stranicu.
Ovo takođe otvara priliku da koriste motore za renderovanje 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 izvan inicijalnog renderovanja.
Osnovna biblioteka za widget komentara ima jedinstvenu tačku ulaza - uzima skup stanja i stvara rezultantni HTML i CSS koji treba da se rendere. Ovo jednostavno pozivamo i na serveru. Kada korisnik interaguje sa stranicom, stanje se menja i poslednji HTML se preuzima. Ovo je izgrađeno kao rezultat hackathona koji se održao kao deo nove godine.
Živi Komentarisanje
Pošto se UI renderuje od strane servera, jednom, funkcionalnosti živog komentarisanja nisu dostupne.
Dodatno, obaveštenja zvono trenutno nije dostupno. Bićemo otvoreni za dodavanje ove funkcije u budućnosti.
Performanse
Serverom renderovani UI koristi iste optimizacije skladištenja i motor za renderovanje kao JavaScript zasnovani widget. Za male thread-ove komentara, performanse su zapravo bolje, jer korisnik ne mora da preuzima skriptu koja zatim preuzima komentare i renderuje UI.
Crawleri i SEO
FastComments već dobro funkcioniše sa web crawlers; ako je SEO briga, korišćenje SSR nije obavezno.
Buduće Aplikacije
Planiramo da pokrenemo rešenje za Forum u budućnosti. Tradicionalno, forumi su paginirani, i server-side renderovani. Savremena rešenja za Forume odstupaju od ove norme koristeći beskonačno skrolovanje i klijentsko renderovanje. Ne mislimo da to mora biti jedina opcija za korišćenje rešenja za Forum treće strane.
Na Kraj
Nadamo se da ste pronašli ovaj vodič korisnim i lakim za čitanje. Slobodno komentarišite ispod sa bilo kakvim pitanjima.
Živeli!
