FastComments.com Blog

Fri Jan 21 2022
...

FastComments Lança Renderização do Lado do Servidor

! Este Artigo Contém Jargão Técnico

O Que Há de Novo

Desde o lançamento no início de 2020, o FastComments tem usado exclusivamente JavaScript para renderizar o widget de comentários.

E se dissemos que você poderia ter quase toda a mesma funcionalidade essencial, mas sem usar JS?

Esta é uma captura de tela, pare de tentar clicar nela.
Demonstração SSR

A captura de tela acima é o widget de comentários do FastComments, sem JavaScript. Você pode visualizar esta página, sem JavaScript, aqui.

Como Usar

Se você estiver usando WordPress, a versão 3.10.1 do plugin FastComments adiciona automaticamente suporte para SSR como uma alternativa para os usuários que navegam com JS desativado.

Para implementações personalizadas, recupere a interface para um thread de comentários, simplesmente chame o /ssr/comments para essa página:

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

Onde $urlId é a url, ou id, da página. A documentação sobre isso está aqui.

Por exemplo, com PHP, podemos enviar um iframe para a página que renderiza o thread de comentários dentro:

Exemplo de SSR Baseado em PHP
1
2<?php
3$tenantId = rawurlencode("meu-id-de-locação");
4$urlId = rawurlencode("meu-id-url-artigo");
5$url = rawurlencode("minha-url-página");
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="não"
12 allowtransparency="verdadeiro"
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

Também poderíamos fazer uma chamada à API para obter o HTML para um thread de comentários, e renderizá-lo, ou armazená-lo.

A documentação completa está disponível nos Docs do SSR em docs.fastcomments.com.

SSO

Porque amamos siglas que soam empresariais, não se preocupe, o SSR suporta SSO. Um exemplo de Single-Sign-On com SSR está aqui.

Localização

O endpoint baseado em SSR localiza automaticamente a resposta com base nos cabeçalhos de idioma que o navegador envia. Ele também pode usar as mesmas substituições de localização que o widget baseado em JavaScript.

Por Que Isso Foi Construído

Uma das principais reclamações sobre serviços como o FastComments é que eles requerem JS. Nós já fazemos nosso widget de comentários o mais leve possível e garantimos que atendemos nossas SLAs de chamada de API de < 20ms, mas muitas comunidades menores não optarão por tal solução se isso significar adicionar JS ao seu site.

Isso também abre a oportunidade de usar mecanismos de renderização que não têm acesso ao JavaScript.

A Tecnologia

O FastComments usa seu próprio pequeno microframework para renderizar a interface. Este framework usa uma abordagem semelhante ao React, exceto que manipulações manuais do DOM fora da renderização inicial são permitidas.

A biblioteca central do widget de comentários tem um único ponto de entrada - ela leva um conjunto de estado e cria o HTML e CSS resultantes a serem renderizados. Chamamos isso no servidor também. Quando o usuário interage com a página, o estado é alterado e o HTML mais recente é recuperado. Isso foi criado como resultado de um hackathon que ocorreu como parte do ano novo.

Comentários Ao Vivo

Como a interface é renderizada pelo servidor, uma vez, os recursos de comentários ao vivo não estão disponíveis.

Além disso, o sino de notificações não está atualmente disponível. Estaremos abertos a adicionar esse recurso no futuro.

Desempenho

A interface renderizada pelo servidor usa as mesmas otimizações de armazenamento e o mecanismo de renderização que o widget baseado em JavaScript. Para threads de comentários pequenas, o desempenho é na verdade melhor, já que o usuário não precisa baixar um script que então busca os comentários e renderiza a interface.

Crawlers e SEO

O FastComments já funciona bem com crawlers da web; se SEO é uma preocupação, usar SSR não é obrigatório.

Aplicações Futuras

Planejamos lançar uma solução de Fórum no futuro. Tradicionalmente, fóruns são paginados e renderizados do lado do servidor. Soluções modernas de Fórum se afastam dessa norma ao usar rolagem infinita e renderização do lado do cliente. Não achamos que essa deva ser a única opção para usar uma solução de Fórum de terceiros.

Conclusão

Esperamos que você tenha achado este guia útil e fácil de ler. Sinta-se à vontade para comentar abaixo com qualquer pergunta.

Saudações!