A LOT of work goes into creating a website. There are so many small details that need to be considered for a catchy and user-friendly interface, it easily gets overwhelming. Some things to consider are the design and layout, functionality, usability, and loading time of your site.
Fortunately, there are some really effective tools out there to help with the process and take your content to the next level. Gatsby’s themes give you the option to create reusable components in a gatsby-config.js file, which won’t get lost during updates. Keep reading below, because I want to explain exactly why GatsbyJS themes are so brilliant, and why you should be using them over other traditional methods. Finally, I’ll list some tips at the end on how to get started using Gatsby’s themes.
Before we jump into things, let’s get familiar with what exactly a GatsbyJS theme is and what is its purpose. When I think of the word theme, my brain immediately jumps to your standard and most recognized content management systems (CMS). Wordpress, Drupal, and Contentful are all CMSs that allow you to choose the interface of your site. However, GatsbyJS themes are somewhat different; they’re enhanced Gatsby starters that give you greater creative freedom when customizing your site. Gatsby's themes also eliminate/minimize the stress of having any changes you’ve made rejected when performing system updates.
Themes solve the issues that original starters couldn’t support due to limitations with customization, flexibility, shared functionality, and updates by allowing you to have entire sites and configurations bottled up as one stand-alone NPM package. Thanks to the versatility of Gatsby's themes, you have the ability to break down your projects into a reusable block for future Gatsby projects.
Why would I choose a Theme when I can just use a Starter?
I’ll admit when I first started doing my research on Gatsby's themes, I was confused as to why I would use a theme versus a starter. At first glance, they both seem so similar, however as I dug a little deeper I came to see that the difference really is in the details. When you place them side by side, you quickly see how using a Gatsby theme outshines using a simple starter.
- Pre-built gatsby sites that are used for blogging, e-commerce, design, and documentation.
- Allow users to create sites fast.
- Hard to maintain and/or update a site that was built using a starter once custom changes have been made due to the fact that it has been forked from the starter.
- Compiles of composable components that allow users to create customizations that won’t get lost or broken when pulling down updates from the original theme.
- It allows your configuration to be reusable on multiple sites.
- Stored in an NPM (node package manager) package that can be shared allowing easy collaboration amongst teams.
- It allows a lot more versatility in site customization.
- Themes can be stacked, allowing users to target certain functionality that the other may not have.
- It takes a lot of stress off users who have never used Gatsby.
- It can function as a plugin.
As you can see, Gatsby themes and starters are very similar when you take into consideration the amount of time it will take users to get started but themes are clearly the best option if you are looking to have flexibility with your design, functionality, customization, and site maintenance.
So..how do I get started?
Here are some links to the GatsbyJS documentation and other helpful resources that will get you through the process of getting started and/or building out your first GatsbyJS theme!!