Pirobits
  

Arquitectura actual del blog: front-end

alberto avatar Alberto Sola · 7/1/2023

Tras los últimos posts donde explico por qué me he alejado de Docker o React para simplificar la arquitectura de esta web, creo que el siguiente paso es contar cómo funciona mi blog a día de hoy.

Cuando leo posts de otras personas, me gusta mucho cuando explican cómo y por qué hacen las cosas. Esto me permite conocer otros puntos de vista y aprender sobre los problemas a los que se enfrentan. Ahora es mi turno.

Posts anteriores:

Front-end

Al inicio he utilizado este blog como campo de pruebas para aprender en profundidad las ventajas y desventajas de diferentes frameworks basados en React (Gatsby, Nextjs o Remixjs). React es una librería que llevo usando varios años y que siempre me gustó. La experiencia de desarrollo es genial y te permite mucha flexibilidad a la hora de realizar webs.

Esta tecnología es muy útil para algunos casos, como comenté en el post anterior, pero en el mío me estaba llevando a necesitar cada vez más tiempo para mantenerlo, elevaba la complejidad para poder reutilizar código, además de observar cómo de complicado es optimizar algunas partes.

¿Qué es Static-Site-Generation (SSG)?

Los sitios web dinámicos funcionan con un servidor que recibe tu petición y genera tu vista (html) al vuelo (o desde una caché 😉).

Los sitios web estáticos se generan de antemano, por ejemplo en tu ordenador, y se sirven los ficheros directamente al usuario sin ningún tipo de procesamiento. Esto tiene muchas ventajas, ya que simplifica la arquitectura necesaria para gestionar estos sitios, y se benfician mucho de las cachés o CDNs (Content Delivery Network). Como desventaja, si tienes que generar miles de vistas, quizá no tiene sentido que escojas esta opción, o si quieres hacer una aplicación web compleja (como un reproductor de música).

¿Por qué escojo este camino?

Me parece la tecnología más simple y eficaz para un blog. Hay muchas plantillas ya hechas que puedes usar como base, y siempre puedes añadir algo de javascript para darle algo de “reactividad” a tu página. En los próximos posts quiero profundizar más sobre esta parte.

A día de hoy utilizo Hugo, un generador de sitios estáticos escrito en Go, que es muy eficiente y simple de utilizar. He probado Zola, que está hecho en Rust, pero lo veo algo verde a día de hoy y por ejemplo los emojis no funcionan bien (¿hay algo más expresivo que un emoji? 😌).

Las oportunidades en la vida son pasajeras y hay que aprovecharlas al momento. Poder iterar rápido para mí a día de hoy es una clara ventaja y no quiero dedicar mi tiempo a reinventar la rueda o alimentar la complejidad de utilizar tecnologías “de moda”.

Conclusión

Usa siempre la tecnología que más se adapte a tus necesidades. Si tienes algún proyecto pequeño, utilízalo para probar y aprender sobre las ventajas y desventajas de cada tecnología. Recuerda que una vez hayas tomado una decisión, siempre podrás volver a cambiar de rumbo pero, cuanto más tarde, mayor será el coste.

En el siguiente post te contaré cómo funciona el backend de mi blog, así como mi opinión sobre la infraestructura cloud.

¿Te ha parecido interesante el artículo?¡ Únete a la comunidad para recibir contenido exclusivo !

Aprende sobre creación de producto y desarrollo de software

Comparto mis aprendizajes construyendo productos de software, novedades y artículos que me parecen interesantes. Voy directo al grano y te envío, como mucho, un mail a la semana. Qué, ¿te apuntas?

Ya son más de 50 creadores que reciben estos aprendizajes 🚀

Lo último que he escrito en el blog