Live data from Hacker News

An Honest Review of Gatsby

cra.mr

61–70 of 120 posts

Re: An Honest Review of Gatsby

#61

When I found gatsby, I immediately stripped everything out and hooked into the dynamic createPages so I could just give it a list of components to turn into pages. (I thought the graphQL parts were horribly bloated boilerplate, so I didn’t want to even touch it.) It also works well with async import for runtime loading of components. Other then that, I don’t use any of it’s features. (I found a markdown react on npm…

Gatsby's one saving grace feature is the createPages API - it lets you programatically create pages at a specific URL with a specific template (React component), with context passed to the template that's not present in the URL. The benefit of this is you're able to render multiple difficult templates at the same URL pattern. Gatsby does, however, suffer from huge scale problems, I think mostly due to the data type i…

Yes, I see the scale issues and I don’t have much yet (I assume because I am using createPages it doesn’t use any caching).

At runtime it’s excellent - perfect scores for performance - and using the website is perfect, so I’m thankful that gatsby let me get started quickly and see how good runtime performance can be.

I’m planning to replace it with React’s built in ReactDOMServer (and I can do a simple change detection and rebuild only changed content easily).

Honestly, it will probably be easier then all the hacking I had to do to get gatsby to work the way I wanted.

Re: An Honest Review of Gatsby

#62

Earlier quoted context omitted.

Gatsby's one saving grace feature is the createPages API - it lets you programatically create pages at a specific URL with a specific template (React component), with context passed to the template that's not present in the URL. The benefit of this is you're able to render multiple difficult templates at the same URL pattern. Gatsby does, however, suffer from huge scale problems, I think mostly due to the data type i…

Yes, I see the scale issues and I don’t have much yet (I assume because I am using createPages it doesn’t use any caching). At runtime it’s excellent - perfect scores for performance - and using the website is perfect, so I’m thankful that gatsby let me get started quickly and see how good runtime performance can be. I’m planning to replace it with React’s built in ReactDOMServer (and I can do a simple change detecti…

> I assume because I am using createPages it doesn’t use any caching

It's not this - we only used createPages and ran into these issues. It's the ingesting content from contentful or any database that'll continue to grow where gatsby lets you down.

Re: An Honest Review of Gatsby

#63
post #48

Using gatsby is the worst choice I ever made, the build times are infuriatingly slow and GraphQL really is not a good fit for it. The amount of time that you have to spend just fiddling with Gatsby is insane and then in the end it only barely works. Their marketing keeps touting fast but I doubt there is something slower when you actually use it for something of consequence.

Their solution is to pay for their hosted build service, which doesnt even fix the problem.

Re: An Honest Review of Gatsby

#64
post #17

I had a bad experience with Gatsby too. I am fond of the Gatsby-Image plugin for an image heavy website because it will generate all the images you need for responsive sizes, plus webp, plus a blurry preview. The downside of this is that the lighthouse profiler currently does not score this setup properly and the blurry placeholder results in a lower score. There was an open bug to fix this last I checked. The other…

> and the blurry placeholder results in a lower score

I do not like it when people use these images. I think you get a better result when you use the now supported loading=lazy attribute on images https://web.dev/browser-level-image-lazy-loading/

Re: An Honest Review of Gatsby

#65

Is it wrong to suggest and admit that I write on my blog in plain HTML? How often do people refactor their designs and links? In PyCharm, I can do Regex search/replace and it gets the job done if I ever need to change the template (which hasn't happened in last 4 years). Not a single minute spent on searching for the right framework, reading docs, setting it up, dockerizing the app, and perhaps even building CI/CD fo…

Sounds like it works great for you!

However, scale that out to 3000 pages with a bunch of dynamic features, with many other developers and authors. You might find it a bit harder to manage then.

Re: An Honest Review of Gatsby

#66

Earlier quoted context omitted.

What was the actual issue it did not compile and what was resolve?

If I remember correctly, Hugo wasn't able to process the template-content combination when I tried starting it after a few months of not using it (Hugo had been updated meanwhile). So I updated the template which didn't solve the issue. Then I tried to find out what changed and it wasn't just a few lines of code, but more fundamental things. In the end, I just took a completely fresh version of the template and rebui…

For what we know 0.x version is not backward compatible as with many other projects, that can break many things. Let wait for a bright release.

Re: An Honest Review of Gatsby

#67

I wonder why it seems nobody wants to use Hugo. Smashing Magazine appears to be happy with it and they tooted about their experience with Hugo multiple times. Instead, everyone chooses Gatsby, Next or another javascript based framework of this week.

I use two pieces of backend software: Django and Hugo. Django is hugely more complex and I have considerably more experience with Hugo... And yet I run into far fewer problems and get stuff done faster with Django. Hugo has exactly one thing going for it compared to other static site builders: it's fast. I have about 100 pages now and they build in Aside from that, it's a pain to work with. The documentation is spars…

I would disagree with your complexity assessment there. Hugo has so much inferred logic and "magic" that working out why your pages aren't showing correctly can take hours before you notice the silly mistake you made. You're just slapped in the face until it starts working.

Django is of course a lot bigger, with many more moving parts, but it's much more explicit, Nd the documentation is superb; you're running a lot quicker.

Re: An Honest Review of Gatsby

#68

This review nails it. It takes the matrix.org gatsby website 20 minutes to build currently, which is excruciating when trying to do quick fixes for blog content - you just sit there wondering what the graphql is actually doing and what it’s giving you :/ edit: https://github.com/matrix-org/matrix.org/ if any indignant gatsby fans want to tell us what we’re doing wrong

Yeah, SSG build times are certainly an issue in my experience, even for smallish sites. I quite like the incremental regeneration idea in NextJS: https://nextjs.org/blog/next-9-5#stable-incremental-static-r... - sounds like it will rerender pages in the background as traffic comes in to them, while serving a stale version to the original request. I guess there are times when this might not be acceptable though... in…

It’s kinda funny to see that go around in circles. “Pre-rendering content as requests come in” is exactly the same as having dynamic pages and a layer of caching, as had been standard practice for the last 20 years. Some people just really like to “solve” already solved problems.

Re: An Honest Review of Gatsby

#69

Wes Bos released his 'Master Gatsby' course a few days ago: https://mastergatsby.com/

Isn’t it beautiful? You create an open-source community, grow it, get donations, start selling the product, sell cloud services, and finally sell content and training to actually be able to understand the complexity.

All to deploy static websites, something you can do for free with near zero complexity by simply choosing another option. The JS world has become a marketing machine.

Post reply on HN