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?
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:
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:
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!
