Es posible que hayas entrado aquí atraído por la notificación de que he creado un nuevo repositorio en Github, o tal vez, porque me sigues en alguna de mis redes sociales. Sea como sea, te agradezco que estés aquí y sobre todo, espero que vuelvas a entrar a ver las siguientes publicaciones, pero ahora vamos a lo que de verdad nos interesa. ¿Por qué hacer un blog con un framework de javascript? Normalmente, y sobre todo por mi trabajo, PHP es el lenguaje en el que programo, y justo por esa razón decidí hacerlo con javascript. Necesitaba hacer algo distinto. Investigué e incluso pregunté en Twitter a ver que me recomendaba la gente, y sí, muchos me dijisteis GatsbyJS, así que me puse a ello. Empecé por mirar su página web y estos son los puntos claves por los que me decidí.
Es un framework bastante sencillo, si sigues paso a paso las docs oficiales de la web de GatsbyJS, que encontrarás aquí, no te debería resultar tedioso ni desesperadamente complicado.
Es posible que si vienes de lenguajes como PHP o Python, al principio te cueste un poco coger el funcionamiento a través de componentes y del GraphQL. Si te pasa esto, no te rindas, puede ser un buen momento para verte un curso rápido de React, que es en lo que se basa GatsbyJS, y te ayudará bastante.
GatsbyJS es otro generador de sitios estáticos como: Hugo, Jekyll, Pelican, etc. Sin embargo, la fortaleza de este es que está basado en ReactJS, Webpack, GraphQL, ES6+ JavaScript, CSS, y cuenta con soporte para multitud de formatos de entrada de contenido.
Al estar construido sobre React tiene todas sus ventajas + PWA (Progressive Web App) + PRPL (Push, Render, Pre-cache, Lazy-load). Esto hace que los sitios web desarrollados con GatsbyJS sean muy rápidos y estables.
Al manejar datos de contenido estático, como por ejemplo este post que está escrito en un fichero .md, hace que los datos ya estén renderizados y listos para cuando el usuario los necesite. Esto quiere decir que el sitio web no ejecuta ningún código del lado del servidor, ni consulta ninguna base de datos.
Son sitios más estables, más sencillos de mantener y a la hora de crecer es más fácil añadirles funcionalidad nueva.
También tiene ventaja respecto al hospedaje en un servidor, ya que no es necesario hacer prácticamente ningún ajuste.