I hadn't heard of this before but it looks really good. Good documentation, lots of plugins and community support, and appears to be in use by some big companies. Anyone here had good or bad experiences with it?
I am starting to do my blog with it and so far it's really good. One thing I love is how it is built to be a Progressive Web App. If you don't know what that is: after downloading your page, your browser will start to download the other pages of your website automatically so they will be able to render instantly. It's also amazing for documentation. You go on one page and the other pages will be preloaded so that means that even without network you can still browse all the pages and again with rendering instantly. Go on their website and check in the Chrome DevTool in Network, you will see.
Another thing I like is how they leverage GraphQL. I am not a fan to use it as a back end language but for a query tool existing only on the front it all makes sense and it's really effective. You can easily build query to generate all kind of pages and contents automatically. And that from all kind of sources (markdown, CSV).
There are many other great stuff like their source/transform plugin to be able to query on any (if the plugin is made) source.[1] Or having to only learn 2 API call (onCreateNode, onCreatePage) and GraphQL to start to do many of the biggest things... Or I can talk about how when building the project Gatsby makes all the call to any headless CMS to retrieve all the data to leverage them while still being able to create a static website at the same time...[2]
Finally Netlify provides a dead simple way to host your project. You just need to create an account and link your Github repo on their platform and every time your master will change your website will be automatically deployed. Ho and it's free...
Progressive Web Apps aren't universally a good idea. I'm sharing a 6Mb/s down link with 5 other people. The absolute last thing I want is every website to pre-cache 40 pages for every page I browse.
Gatsby tries to balance making your site work at some level offline w/ not precaching too much.
By default we cache the front page & then do "run-time" caching as the user visits different pages so ensuring they can at least return to the pages they've visited when offline.
This is a good point. But I think PWA's are still better than monstrous everything chunks. It would be good to make pwa's configurable to user preferences
There is way too much ceremony.