FastComments.com Blog

Fri Jan 21 2022
...

FastComments Lanza Renderizado del Lado del Servidor

! Este Artículo Contiene Jerga Técnica

Novedades

Desde su lanzamiento a principios de 2020, FastComments ha utilizado exclusivamente JavaScript para renderizar el widget de comentarios.

¿Qué pasaría si te dijéramos que podrías tener casi toda la misma funcionalidad esencial, pero sin usar JS?

Esta es una captura de pantalla, deja de intentar hacer clic en ella.
Demostración de SSR

La captura de pantalla anterior es el widget de comentarios de FastComments, sin JavaScript. Puedes ver esta página, sin JavaScript, aquí.

Cómo Usarlo

Si estás usando WordPress, la versión 3.10.1 del plugin FastComments agrega automáticamente soporte para SSR como una alternativa para los usuarios que navegan con JS deshabilitado.

Para implementaciones personalizadas, obtén la interfaz de usuario para un hilo de comentarios, simplemente llama a /ssr/comments para esa página:

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

Donde $urlId es la url, o id, de la página. La documentación sobre esto está aquí.

Por ejemplo, con PHP podemos enviar un iframe a la página que renderiza el hilo de comentarios dentro:

Ejemplo de SSR Basado en 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

También podríamos hacer una llamada a la API para obtener el HTML de un hilo de comentarios, y renderizarlo o almacenarlo.

La documentación completa está disponible en los Documentos de SSR en docs.fastcomments.com.

SSO

Porque nos encantan los acrónimos que suenan a empresa, no te preocupes, SSR admite SSO. Un ejemplo de Inicio de Sesión Único con SSR está aquí.

Localización

El endpoint basado en SSR localiza automáticamente la respuesta según los encabezados de idioma que envía el navegador. También puede usar las mismas sobreescrituras de localización que el widget basado en JavaScript.

Por Qué Se Creó Esto

Una de las principales quejas sobre servicios como FastComments es que requieren JS. Ya hacemos que nuestro widget de comentarios sea lo más ligero posible, y aseguramos cumplir nuestros SLAs de llamadas a la API de < 20ms, pero muchas comunidades más pequeñas no elegirán tal solución si significa agregar JS a su sitio.

Esto también abre la oportunidad de usar motores de renderizado que no tienen acceso a JavaScript.

La Tecnología

FastComments utiliza su propio pequeño microframework para renderizar la interfaz de usuario. Este framework utiliza un enfoque similar a React, excepto que se permiten manipulaciones manuales del DOM fuera de la renderización inicial.

La biblioteca central del widget de comentarios tiene un único punto de entrada: toma un conjunto de estado y crea el HTML y CSS resultantes que deben ser renderizados. Simplemente llamamos a esto en el servidor, también. Cuando el usuario interactúa con la página, el estado se cambia y el HTML más reciente se obtiene. Esto fue construido como resultado de un hackathon que tuvo lugar como parte del nuevo año.

Comentarios en Vivo

Dado que la interfaz de usuario es renderizada por el servidor, una sola vez, las funciones de comentarios en vivo no están disponibles.

Además, el ícono de notificaciones no está actualmente disponible. Estamos abiertos a agregar esta función en el futuro.

Rendimiento

La interfaz de usuario renderizada en el servidor utiliza las mismas optimizaciones de almacenamiento y motor de renderizado que el widget basado en JavaScript. Para pequeños hilos de comentarios, el rendimiento es en realidad mejor, ya que el usuario no tiene que descargar un script que luego obtiene los comentarios y renderiza la interfaz de usuario.

Crawlers y SEO

FastComments ya funciona bien con rastreadores web; si el SEO es una preocupación, no es necesario usar SSR.

Aplicaciones Futuras

Planeamos lanzar una solución de Foro en el futuro. Tradicionalmente, los foros son paginados y renderizados del lado del servidor. Las soluciones modernas de foros se alejan de esta norma utilizando desplazamiento infinito y renderizado del lado del cliente. No creemos que esta tenga que ser la única opción para utilizar una solución de Foro de terceros.

En Conclusión

Esperamos que encuentres esta guía útil y fácil de leer. No dudes en comentar abajo con cualquier pregunta.

¡Salud!