Pirobits
  

Arquitectura actual del blog: front-end

alberto avatar Alberto Sola · 7/1/2023 · 4 min

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”.

Insisitiré siempre que me gusta mucho React, pero hay que saber cuándo una herramienta es mejor que otra según tus necesidades. Cada problema puede tener una solución diferente.

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.

Ten cuidado con la falacia del coste hundido: esta hace referencia a nuestra tendencia de seguir invirtiendo tiempo, dinero o energía en algo que sabemos que es una mala inversión, debido a que hemos realizado una inversión previa que no se puede recuperar.

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

Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.


Posts recientes