Fri Jan 21 2022
...
FastComments Udgiver Server-Side Rendering
! Denne artikel indeholder teknisk jargon
Hvad er nyt
Siden lanceringen i begyndelsen af 2020 har FastComments udelukkende brugt JavaScript til at gengive kommentar-widgeten.
Hvad hvis vi fortalte dig, at du kunne få næsten al den samme essentielle funktionalitet, men uden at bruge JS?
Det ovenstående screenshot viser FastComments kommentar-widget, uden JavaScript. Du kan se denne side, uden JavaScript, her.
Sådan bruger du det
Hvis du bruger WordPress, tilføjer FastComments plugin-version 3.10.1 automatisk support for SSR som en fallback for dine brugere, der browsere med JS deaktiveret.
For brugerdefinerede implementationer, hent UI'en for en kommentar-tråd, ved simpelthen at kalde /ssr/comments for den pågældende side:
Hvor $urlId er url'en, eller id'et, for siden. Dokumentation om dette er her.
For eksempel, med PHP kan vi sende en iframe til siden, der gengiver kommentar-tråden indeni:
Vi kunne også lave et API-kald for at få HTML til en kommentar-tråd, og gengive eller gemme det.
Komplet dokumentation er tilgængelig i SSR Docs på docs.fastcomments.com.
SSO
Fordi vi elsker enterprise-lydende akronymer, skal du ikke bekymre dig, SSR understøtter SSO. Et eksempel på Single-Sign-On med SSR er her.
Lokalisering
Den SSR-baserede endpoint lokaliserer automatisk svaret baseret på de sprogrelaterede headers, som browseren sender. Den kan også bruge de samme lokaliserings overrides som den JavaScript-baserede widget.
Hvorfor dette blev bygget
En af de vigtigste klager over tjenester som FastComments er, at de kræver JS. Vi gør allerede vores kommentar-widget så slank som muligt, og sikrer, at vi overholder vores API-kald SLA'er på < 20ms, men mange mindre samfund vil ikke vælge en sådan løsning, hvis det betyder at tilføje JS til deres site.
Dette åbner også op for muligheden for at bruge gengivelsesmotorer, der ikke har adgang til JavaScript.
Teknologien
FastComments bruger sit eget lille mikroframework til at gengive UI'en. Dette framework bruger en lignende tilgang til React, bortset fra at manuelle DOM-manipulationer uden for den indledende gengivelse er tilladt.
Den centrale kommentar-widgetbibliotek har et enkelt entry point - det tager et sæt tilstande og skaber resulterende HTML og CSS, der skal gengives. Vi kalder simpelthen dette på serveren også. Når brugeren interagerer med siden, ændres tilstanden, og den nyeste HTML hentes. Dette blev bygget som et resultat af et hackathon, der fandt sted som en del af nytåret.
Live kommentarer
Da UI'en gengives af serveren, én gang, er live kommentarfunktioner ikke tilgængelige.
Derudover er notifikationsklokken i øjeblikket ikke tilgængelig. Vi vil være åbne for at tilføje denne funktion i fremtiden.
Ydelse
Den server-gengivne UI bruger de samme lageroptimeringer og gengivelsesmotor som den JavaScript-baserede widget. For små kommentar-tråde er ydeevnen faktisk bedre, da brugeren ikke behøver at downloade et script, der derefter henter kommentarerne og gengiver UI'en.
Crawlers og SEO
FastComments fungerer allerede godt med webcrawlere; hvis SEO er en bekymring, er brug af SSR ikke nødvendigt.
Fremtidige applikationer
Vi planlægger at lancere en Forum-løsning i fremtiden. Traditionelt er fora pagineret og server-side gengivet. Moderne Forum-løsninger bevæger sig væk fra denne norm ved at bruge uendelig rulling og klient-side gengivelse. Vi mener ikke, at dette skal være den eneste mulighed for at bruge en tredjeparts Forum-løsning.
Afslutning
Vi håber, du har fundet denne guide nyttig og nem at læse. Føl dig fri til at kommentere nedenfor med eventuelle spørgsmål.
Skål!
