I really love Gatsby. It combines the best of both worlds: static sites and React.
For a very long time, I've been fond of Jekyll. It's mostly because my open source projects are hosted on GitHub and Jekyll is their go-to framework. There's nothing wrong per se with Jekyll. I was simply missing some features from React.
When I was working on React apps, the main benefits for me were: (i) component encapsulation and (ii) CSS Modules. It's easy to understand what a component does just by looking at it. If it gets too complicated, you can simply split it into another component. And CSS Modules are a life saver. The two hardest things in CSS are floats and naming things. That second part is solved now.
My issue with React however is the whole Webpack setup, and the fact that JS is required to run the website.
So when Gatsby appeared, I was pleasantly surprised to see it solved these issues. I ended up rebuilding my website with Gatsby, and I'm currently using it for 2 client projects.
My only issue with Gatsby is its reliance on GraphQL. I tried understanding the GraphQL concepts and purpose, especially with its weird syntax, but it feels over-engineered. Or at least, it doesn't feel like Gatsby needs GraphQL. So I'm not sure why it's so tightly tied to it. What I end up doing for fetching/storing data is using some static JSON files. It's easy to read, to port, and to parse.
I only use GatsbyJS.org the open source project, not GatsbyJS.com the service. But it seems to be similar to WordPress.org/WordPress.com, or what Ghost does. Even if the open source project somehow died, I wouldn't feel stuck with the framework ; since most of the codebase are React components, it'd be easy to port to another platform. That's another benefit.
Honest question, but why is React unique in offering component encapsulation? I see this more of a structural paradigm than something a framework allows for or limits against.
It’s probably not unique in that aspect. I just happen to have quite a bit of experience in React. And that “componentization” only made sense to me when I started using React.
I think it's something about developers who only use React that think React is extremely unique. I hear stuff like this all the time, "How do you use redux with Angular" like redux couldn't possible apply to anything else. Pretty much all the frameworks provide a component based architecture, this isn't a unique thing to react. You choose react for it being extremely popular, JSX, relatively small footprint (unless you start using it as a framework).
I posted a similar sentiment elsewhere on this page. The project that really hit the sweet spot for me, in this regard, is React Static: https://react-static.js.org/
Doesn't have VC money, though, but there's not that much development needed for my (and apparently yours) use cases either.
For a very long time, I've been fond of Jekyll. It's mostly because my open source projects are hosted on GitHub and Jekyll is their go-to framework. There's nothing wrong per se with Jekyll. I was simply missing some features from React.
When I was working on React apps, the main benefits for me were: (i) component encapsulation and (ii) CSS Modules. It's easy to understand what a component does just by looking at it. If it gets too complicated, you can simply split it into another component. And CSS Modules are a life saver. The two hardest things in CSS are floats and naming things. That second part is solved now.
My issue with React however is the whole Webpack setup, and the fact that JS is required to run the website.
So when Gatsby appeared, I was pleasantly surprised to see it solved these issues. I ended up rebuilding my website with Gatsby, and I'm currently using it for 2 client projects.
My only issue with Gatsby is its reliance on GraphQL. I tried understanding the GraphQL concepts and purpose, especially with its weird syntax, but it feels over-engineered. Or at least, it doesn't feel like Gatsby needs GraphQL. So I'm not sure why it's so tightly tied to it. What I end up doing for fetching/storing data is using some static JSON files. It's easy to read, to port, and to parse.
I only use GatsbyJS.org the open source project, not GatsbyJS.com the service. But it seems to be similar to WordPress.org/WordPress.com, or what Ghost does. Even if the open source project somehow died, I wouldn't feel stuck with the framework ; since most of the codebase are React components, it'd be easy to port to another platform. That's another benefit.