Fri Jan 21 2022
...
FastComments випускає серверне рендеринг
! У цій статті міститься технічна термінологія
Що нового
З моменту запуску на початку 2020 року FastComments виключно використовував JavaScript для рендерингу віджета коментарів.
А що, якби ми сказали вам, що ви можете отримати майже всю ту ж саму основну функціональність, але без використання JS?
Вищезазначений знімок екрану – це віджет коментування FastComments без JavaScript. Ви можете переглянути цю сторінку без JavaScript тут.
Як це використовувати
Якщо ви використовуєте WordPress, версія плагіна FastComments 3.10.1 автоматично додає підтримку SSR як резервний варіант для ваших користувачів, які переглядають з відключеним JS.
Для власних реалізацій отримайте UI для потоку коментарів, просто викликавши /ssr/comments для цієї сторінки:
Де $urlId – це URL або ID сторінки. Документацію щодо цього можна знайти тут.
Наприклад, за допомогою PHP ми можемо надіслати iframe на сторінку, яка рендерить потік коментарів всередині:
Ми також можемо зробити API виклик для отримання HTML для потоку коментарів і рендерити або зберігати його.
Повна документація доступна в SSR Docs на docs.fastcomments.com.
SSO
Оскільки нам подобаються підприємницькі абревіатури, не хвилюйтеся, SSR підтримує SSO. Приклад одноразового входу з SSR тут.
Локалізація
Точка входу на основі SSR автоматично локалізує відповідь відповідно до мовних заголовків, які надсилає браузер. Вона також може використовувати ті ж локалізаційні перевизначення, що й віджет на основі JavaScript.
Чому це було створено
Однією з основних скарг на сервіси, такі як FastComments, є те, що вони вимагають JS. Ми вже робимо наш віджет коментарів максимально легким і забезпечуємо дотримання SLAs наших API запитів менше 20 мс, але багато менших спільнот не виберуть таке рішення, якщо це означає додавання JS на їхній сайт.
Це також відкриває можливості для використання рендерингів, які не мають доступу до JavaScript.
Технологія
FastComments використовує свій власний малий мікрофреймворк для рендерингу UI. Цей фреймворк використовує подібний підхід до React, виключаючи те, що ручні маніпуляції з DOM поза початковим рендером дозволені.
Основна бібліотека віджета для коментарів має єдину точку входу – вона приймає набір станів і створює результуючий HTML і CSS для рендерингу. Ми просто викликаємо це на серверах також. Коли користувач взаємодіє зі сторінкою, стан змінюється, і завантажується останній HTML. Це було створено в результаті хакатону, який відбувся в рамках нового року.
Живе коментування
Оскільки UI рендериться сервером один раз, функції живого коментування наразі недоступні.
Крім того, дзвінок сповіщень наразі недоступний. Ми будемо відкриті до додавання цієї функції в майбутньому.
Продуктивність
Серверний UI використовує ті ж оптимізації зберігання та рендеринг, що й віджет на основі JavaScript. Для маленьких потоків коментарів продуктивність насправді краща, оскільки користувач не повинен завантажувати скрипт, який потім отримує коментарі та рендерить UI.
Crawlers і SEO
FastComments вже добре працює з веб-павуками; якщо SEO є проблемою, використання SSR не є обов'язковим.
Майбутні застосування
Ми плануємо запустити форум у майбутньому. Традиційно форуми пагінується та рендеряться на стороні сервера. Сучасні рішення для форумів відходять від цього норму, використовуючи безкінечне прокручування та рендеринг на стороні клієнта. Ми не вважаємо, що це має бути єдиний варіант використання стороннього рішення для форумів.
На завершення
Сподіваємося, що ви вважаєте цей посібник корисним та легким для читання. Не соромтеся коментувати нижче з будь-якими запитаннями.
На здоров'я!
