Close
AlgoliaLogoLight
Close full mode
logo

Why Gatsby?

Git RepositoryEdit on Github

Prerequisite

  • React
  • GraphQL (You can also read from the Gatsby Docs)

Consider to use Gatsby if:

  • You want to create your personal blog.
  • You want to create a website for a company, foundation, agency, meetup, group, organization that seldom update contents.
  • You are going to use a static site generator.
  • You don't want to backup a database and image files.
  • You don't want to pay for a hosting/database/CDN and pay only for domain name.
    • For public repository, you can use GitHub Pages.
    • For private repository, you can use Cloudflare Workers.
  • You want to create Progressive Web Apps (PWA).
  • You want to work with a new technologies out of the box without any extra setup, e.g.
    • TypeScript
    • Sass
    • GraphQL is ready to use and no addition setup. All .md, image, YAML files and other assets are exposed as GraphQL resources that you can query to construct a new page in a website.
    • React Hook
    • Hot reload to see an update result immediately
  • You like Markdown and want to use MDX which supports React component inside .mdx file.
  • A lot of plugin that easily setup and use to enable rich contents to Gatsby site, e.g.
    • Mermaid
    • GraphViz
    • Git history information
    • More plugins https://www.gatsbyjs.com/plugins
  • You want to start with many free themes/starter https://www.gatsbyjs.com/starters/.
  • Easy to setup with GitHub Actions for continuous delivery.

Gatsby isn't suitable if:

  • The web admin is not a developer. To modify the content or design, it requires programming skills.
  • You want the admin control panel to modify the content.
  • Your content will be changed quite often, it's more difficult to modify content than using the admin control panel.
    • If you want to update the content on a mobile or public computer, it might be not convenient. The computer requires specific tools such as an editor, git command, etc.
  • You rely on traditional technologies like basic HTML and CSS renderer tools. Other tools will be suitable for you such as:
    • Jekyll - for Ruby user
    • Eleventy (11ty) for JavaScript/Node user (The concept almost closes to Jekyll)
    • Hugo - for Go user

Other useful information

Loading comments...