FastComments.com Blog

Fri Jan 21 2022
...

FastComments Wydaje Renderowanie po Stronie Serwera

! Ten Artykuł Zawiera Terminologię Techniczną

Co Nowego

Od uruchomienia na początku 2020 roku, FastComments wykorzystywał wyłącznie JavaScript do renderowania widżetu komentarzy.

Co byś powiedział na to, że możesz mieć prawie wszystkie te same istotne funkcje, ale bez używania JS?

To jest zrzut ekranu, przestań starać się go kliknąć.
SSR Demo

Powyższy zrzut ekranu przedstawia widżet komentarzy FastComments, bez JavaScript. Możesz zobaczyć tę stronę, bez JavaScript, tutaj.

Jak To Użyć

Jeśli używasz WordPressa, wersja wtyczki FastComments 3.10.1 automatycznie dodaje wsparcie dla SSR jako alternatywę dla użytkowników, którzy przeglądają z wyłączonym JS.

Dla niestandardowych implementacji, pobierz UI dla wątku komentarzy, po prostu wywołując /ssr/comments dla tej strony:

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

Gdzie $urlId to url lub id strony. Dokumentacja na ten temat jest tutaj.

Na przykład, w PHP możemy wysłać iframe na stronę, która renderuje wątek komentarzy wewnątrz:

Przykład SSR w PHP
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

Możemy także wykonać zapytanie API, aby uzyskać HTML dla wątku komentarzy i go renderować lub przechowywać.

Pełna dokumentacja jest dostępna w Dokumentacji SSR na docs.fastcomments.com.

SSO

Ponieważ uwielbiamy brzmienie akronimów związanych z przedsiębiorstwami, nie martw się, SSR wspiera SSO. Przykład pojedynczego logowania z SSR jest tutaj.

Lokalizacja

Punkt końcowy oparty na SSR automatycznie lokalizuje odpowiedź na podstawie nagłówków związanych z językiem, które wysyła przeglądarka. Może również używać tych samych nadpisów lokalizacyjnych co widżet oparty na JavaScript.

Dlaczego To Zostało Zbudowane

Jedną z głównych skarg na usługi takie jak FastComments jest to, że wymagają JS. Już teraz staramy się, aby nasz widżet komentarzy był jak najbardziej zredukowany i staramy się spełnić nasze SLA dotyczące wywołań API < 20ms, ale wiele mniejszych społeczności nie wybierze takiego rozwiązania, jeśli oznacza to dodanie JS do ich witryny.

To również otwiera możliwość używania silników renderujących, które nie mają dostępu do JavaScript.

Technologia

FastComments wykorzystuje własny mały mikroframework do renderowania UI. Ten framework stosuje podobne podejście do React, z tą różnicą, że dozwolone są ręczne manipulacje DOM poza wstępnym renderowaniem.

Podstawowa biblioteka widżetu komentarzy ma jeden punkt wejścia - przyjmuje zestaw stanu i tworzy wynikowy HTML i CSS do renderowania. Po prostu wywołujemy to również na serwerze. Kiedy użytkownik wchodzi w interakcję ze stroną, stan jest zmieniany, a najnowszy HTML jest pobierany. To zostało zbudowane w wyniku hackathonu, który odbył się w ramach noworocznych.

Live Commenting

Ponieważ UI jest renderowane przez serwer, raz, funkcje komentarzy na żywo nie są obecnie dostępne.

Dodatkowo, dzwonek powiadomień nie jest obecnie dostępny. Będziemy otwarci na dodanie tej funkcji w przyszłości.

Wydajność

UI renderowane przez serwer wykorzystuje te same optymalizacje pamięci i silnik renderujący, co widżet oparty na JavaScript. Dla małych wątków komentarzy wydajność jest rzeczywiście lepsza, ponieważ użytkownik nie musi pobierać skryptu, który następnie pobiera komentarze i renderuje UI.

Crawlers and SEO

FastComments już dobrze współpracuje z robotami sieciowymi; jeśli SEO jest dla Ciebie ważne, korzystanie z SSR nie jest wymagane.

Przyszłe Aplikacje

Planujemy w przyszłości uruchomić rozwiązanie Forum. Tradycyjnie, fora są paginowane i renderowane po stronie serwera. Nowoczesne rozwiązania Forum odstępują od tej normy, wykorzystując nieskończone przewijanie i renderowanie po stronie klienta. Nie sądzimy, że to musi być jedyna opcja korzystania z rozwiązania forum od osoby trzeciej.

Na Zakończenie

Mamy nadzieję, że uznałeś ten przewodnik za pomocny i łatwy do przeczytania. Nie wahaj się zostawić komentarza poniżej z wszelkimi pytaniami.

Pozdrawiam!