FastComments.com Blog
Fri Jan 21 2022
...

FastComments представља серверско рендеровање

! Овај чланак садржи технички жаргон

Шта је ново

Од покретања у раним 2020. години, FastComments је искључиво користио ЈаваСкрипт за рендеровање виџета за коментаре.

Шта ако вам кажемо да можете имати готово исту суштинску функционалност, али без коришћења ЈС-а?

This is a screenshot, stop trying to click it.
SSR Demo

Горњи снимак екрана је FastComments виџет за коментаре, без ЈаваСкрипта. Можете видети ову страницу, без ЈаваСкрипта, овде.

Како да га користите

Ако користите WordPress, FastComments додатак верзије 3.10.1 аутоматски дода подршку за SSR као резерву за кориснике који прегледају са онемогућеним ЈС-ом.

За прилагођена решења, преузмите UI за нити коментара, једноставно позовите /ssr/comments за ту страницу:

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

Где је $urlId URL или ID странице. Документација за ово је here.

На пример, са PHP-ом можемо послати iframe на страницу који рендерује нити коментара унутар:

PHP-Based SSR Example
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

Такође можемо направити API позив да добијемо HTML за нити коментара, и рендерујемо, или сачувамо.

Потпуна документација је доступна у SSR Docs at docs.fastcomments.com.

SSO

Пошто волимо акрониме који звуче као из предузећа, не брините, SSR подржава SSO. Пример Single-Sign-On са SSR је овде.

Локализација

SSR-базирани крајњи тачка аутоматски локализује одговор на основу језичких хедерова које шаље прегледач. Такође може користити исте локализационе заменe као ЈаваСкрипт базирани виџет.

Зашто је ово изграђено

Једна од главних притужби на услуге попут FastComments је што захтевају ЈС. Ми већ правимо наш виџет за коментаре што је могуће танкији, и осигуравамо да испуњавамо SLA за API позиве од < 20мс, али многе мање заједнице неће изабрати такво решење ако то значи додавање ЈС-а на њихов сајт.

Ово такође отвара могућност коришћења рендеринг мотора који немају приступ ЈаваСкрипту.

Технологија

FastComments користи сопствени мали микрофрејмворк за рендеровање UI-а. Овај фрејмворк користи сличан приступ као React, осим што су ручне DOM манипулације изван почетног рендера дозвољене.

Главна библиотека виџета за коментаре има један улазни тачку – она узима скуп стања и креира резултујући HTML и CSS за рендеровање. Ми једноставно позивамо ово на серверу такође. Када корисник интерагује са страницом, стање се мења и најновији HTML се преузима. Ово је изграђено као резултат хакатона који се одржао као део нове године.

Живо коментарисање

Пошто UI рендерује сервер, једном, функције живог коментарисања нису доступне.

Такође, обавештајна звоница тренутно није доступна. Бићемо отворени за додавање ове функције у будућности.

Перформансе

Серверски рендеровани UI користи исте оптимизације складиштења и рендеринг мотор као ЈаваСкрипт базирани виџет. За мале нити коментара, перформансе су заправо боље, јер корисник не мора да преузме скрипту која затим преузима коментаре и рендерује UI.

Претраживачи и SEO

FastComments већ добро ради са веб претраживачима; ако је SEO брига, коришћење SSR није потребно.

Будуће примене

Планирамо да у будућности лансирамо решење за Форум. Традиционално, форуми су пагинирани и серверски рендеровани. Савремена решења за Форум се одступају од овог нормала користећи бесконачно скроловање и клијентско рендеровање. Не мислимо да ово мора бити једина опција за коришћење решења трећег лица за Форум.

У закључку

Надамо се да вам је овај водич био користан и лак за читање. Слободно оставите коментар испод са било каквим питањима.

Поздрав!