DEV Community

Cover image for 4 Reasons for GatsbyJS and when not to use it.
Rich11
Rich11

Posted on • Originally published at rileven.tech

4 Reasons for GatsbyJS and when not to use it.

Gatsby is a great tool to build websites and more. But often people ask me when to use it and what Gatsby is most suited for in my
opinion. That's a good question. And the answer as is always: It depends. But that's not all. Let's have a deeper look
on this question. I think it comes down to four points:

1. Performance

Gatsby is fast. That's true. I mean, its easy-to-reach crazy good score with Gatsby. This website has a score of 91 in performance and I did not do anything
to achieve a better score. It comes right out of the box. In comparison, a WordPress blog only reaches 63. I tested it on the blog whaitbutwhy (definitely check it out). And the performance on a site gets even worse when you use a page builder and a ton of
different plugins or even WooCommerce. And if you want to have a fast and reliable site - you also have to build it with custom code.

Ok, but what does these numbers mean. It means that you lose some people because of your site speed and also miss some opportunities on the search optimizations. Both
are very important for an online business. I think we all had this moment where we visited a website which loads long. I think it is annoying. Or think about an online store
you want to shop in. If every time you visit another product the site takes a long time, that would be a bad experience.

In numbers that means:

40% of people abandon a website that takes more than 3 seconds to load. 🤯

Thanks to Neil Patel for a really in deeps article about the bottom line of a slow page.

I think this number shows really drastically how important a fast page is for your business. How much money you would lose with a slow website. Gatsby helps you to avoid
this and gives you a lot more speed than most others tools to build a site. But the benefits you get out of the box could even be optimized by using the right plugins and
optimization of your gatsby-config file. But that's an entirely different topic.

So number one is clear. If you need a really fast site use Gatsby.

2. Flexibility

Next up is Flexibility. This is also a good and important part. Building a page with Gatsby gives you flexibility. Which ensures to react to potentially changes in the future. Think about it
this way. You have built a page with Gatsby. Then your page grows, and you need a CMS because there are people how need to work on the content. Than you easily could add a CMS to Gatsby. If you are
lucky your page still grows. You think about selling merch in your own shop. That also easy to add with Gatsby, no worries. And you want to have a small part on the page where the data comes from
airtable. That's also possible.

I know that this also would be possible with something like WordPress but if you cannot code it yourself there you would have to search for a plugin and pray that this plugin suits all your needs.
And yes, If you want to do all these things in Gatsby you also need to code, but you do not need to learn PHP and the ins and outs of WordPress. If you know react, it is enough. And also Gatsby gives you more
flexibility on the tooling. I mean, if you want to use StyledComponents instead of CSS. You can! You like TypeScript more than plain JavaScript. Go and do it. There are no limits.

I really love how flexible Gatsby is and this helps me as a developer to build different sites for different needs. And I do not have to rebuild everything if the business changes.

3. Design

Flexibility is great. But Flexibility in Design could be a major thing. If your company has a CI which needs to be used, most page builder are not able to deal with it. With Gatsby, you could build the pixel perfect
page.

Yes, every time you have a page with a special design, you need to code it. In my opinion not every time. Because tools like Webflow are pretty good, for people with a bit of programming knowledge
and some design skills. But this only counts for a page with not that much functionality. If you want more - you need something like Gatsby.

And maybe your company has already some prebuild components which could be used in a project. Then it is easy for you to build a page with Gatsby.

I think for me personally it's easier to build a design with CSS than learning a new page builder and being frustrated afterwards why some things do not work with it. But in the end
it should be your personal preference.

4. Ecosystem

The last thing to keep in mind that when building with Gatsby is the Ecosystem. Why is this important? First, if you need help, you have several places you could go. And Second there are so
many plugins and recipes you could use to improve your page.

In comparison, if you use a not that popular tool than you might end up stuck on a problem or searching for plugins and help. I would always go for a tool which either has a great customer
support or a good Ecosystem.

I can totally recommend the Gatsby Discord and docs. There are some information and helpful tools you could find an answer for your problem.

When not to use Gatsby

As you might recognize, I like Gatsby. But I think not all the time Gatsby is the right choice. I would love to say it always makes sense, but this would be not honest.

For me, it there a some points which should be considered before thinking about building with Gatsby:

  • You can not code and do not know anybody who can code.
  • You are superb at coding with WordPress.
  • You only want a minimal page.
  • You want a really graphical way to edit your site.

Let me give a bit more detail to all these points.

If you can not code it will be hard and yes I totally would recommend learning to code, but this takes some time. If you don't want to do it, and you don't know someone who can code or if it is to
expensive. Then you have to find another way. Building a site with Gatsby and do not know how to code is impossible in my opinion.

The next should also be clear. I mean, if you have your tools and your already experienced, and you know they will fit for the job. It is fine and a good idea to work with what you know.
If you want to try something new. I can totally recommend it Gatsby, but I think you would be faster with the tools you know.

For the next point, it's also not that useful to use Gatsby. If you just won't a small page. Just use HTML and CSS. Its fast and easy. I mean, if your page is only like a small online business card.
Why bother with a tool like Gatsby. I think then you could do it for fun but not because it is useful.

The last part I would like to mention is in case you love to design your page like in a design tool. Then Gatsby is not right for you. If you need it shiny and beautiful, you should take something like
Webflow and wix.com. They are great, and it is a more visual way to build a page.

Conclusion

Gatsby is great. I can totally recommend you to build a page with it. But next time you would like to build a project, think about what your purpose is. I mean that's a general question you
should ask yourself when thinking about a project. Do not use the shiny new framework because its new, use something that suits the job.

I think most of the time Gatsby will do a great job, but sometimes it would be better to use something else. Hopefully my point of view will help you than to achieve your goals and satisfy
your needs.

Top comments (0)