Caso de Estudio •

Release Content Faster
Cómo Firebase Redujo la Publicación de Blog de Horas a Minutos con Astro

Por
Equipo de Astro

Firebase es una plataforma de desarrollo de aplicaciones móviles y web. Permite a los usuarios prototipar y escalar sus aplicaciones fácilmente sin tener que preocuparse por servicios individuales del backend. Respaldado por Google, Firebase es confiado por millones de empresas para abstraer la infraestructura del backend para que los usuarios puedan enfocarse en los aspectos centrales de su día a día.

Tener un blog accesible es importante para Firebase para que los usuarios puedan mantenerse al día con las últimas noticias y anuncios. Astro pudo ayudar a Firebase a reconstruir su blog con un aumento de rendimiento del 71% y una disminución en el tiempo de publicación de horas a minutos.

Puntajes de Lighthouse para el blog de Firebase.

Desafíos

El equipo de 10 desarrolladores de Firebase solía alojar su blog en Blogger. Con este CMS, tenían que primero escribir un post de blog en Google Docs y luego convertir el borrador a un documento de Blogger. Incluso un post de blog corto podía resultar fácilmente en una hora de trabajo antes de publicar.

La experiencia de edición en Blogger también era problemática:

  1. Las imágenes y otros componentes interactivos requerían que los desarrolladores elaboraran el HTML manualmente.
  2. Blogger no tenía imágenes de perfil. Tenías que insertar HTML y CSS para representar una imagen de perfil directamente en el post del blog.
  3. A veces, no podías arreglar algo incluso si sabías qué estaba mal. Por ejemplo, las mejoras de accesibilidad eran difíciles de controlar en Blogger. Esto resultaba en una experiencia por debajo de lo normal para los usuarios.

Requisitos

Según David East, ingeniero líder del equipo del blog en Firebase, Firebase requería una herramienta con una experiencia de desarrollador moderna. Querían mantener un blog más performante y publicar blogs más rápido con menos fricción en un equipo colaborativo de 10 desarrolladores.

Hidratación parcial.

Solución e Implementación

Con Astro, los nuevos miembros del equipo pueden configurarse en menos de 30 minutos gracias a la documentación.

La documentación fue fenomenal. Lo que sí creo que fue súper útil es que Astro hace un muy buen trabajo siendo muy fuerte en convenciones. Así que cuando intentas usarlo para el trabajo para el que está diseñado, es simplemente dolorosamente claro lo que estás haciendo. Nunca te preocupas de que te quiten la silla de debajo. Siempre puedes desarrollar basándote en estas suposiciones.

— David East, Lead Engineer @ Firebase (Blog)

Los desarrolladores de Firebase también pudieron lograr animaciones complejas y accesibles con Astro, un logro que no habrían podido hacer con Blogger debido a su limitado sistema de plantillas. Como ejemplo, el equipo quería crear la animación de slice que está en la página principal del blog de Firebase. Sin embargo, esta animación de slice es extremadamente difícil de crear en la web hoy en día. En su lugar, tienes que tomar piezas idénticas de contenido una encima de otra y eliminar ciertas secciones en la animación, como una cortina. Los lectores de pantalla intentarán leer y navegar por el contenido oculto, lo cual es confuso para los usuarios. Firebase pudo construir esta animación de manera accesible gracias a la flexibilidad de Astro.

Animación de slice amarillo en capas.

Las partes de la migración relacionadas con Astro fueron rápidas. Vieron mejoras solo con poder tomar su contenido de Google Docs, convertirlo a Markdown usando un plugin, y luego pegarlo en un documento de Astro. La mayor parte del tiempo del proyecto se gastó realmente en perfeccionar el diseño del blog junto con la construcción del proof-of-concept en sí.

Resultados

Al cambiar de Blogger a Astro, el tiempo necesario para publicar un post de blog estándar pasó de horas a minutos. También solía tomarles 6 minutos generar un sitio completo con GitHub Actions. Ahora, el tiempo de build con GitHub Actions promedia 1.5 minutos, una reducción general del tiempo de build del 75%.

Características del backend de Firebase.