Learn how to migrate a create-react-app project to Gatsby!

Sign up for our newsletter to get notified when the course is launched and get a free preview

Mr Jam taking react on a road to Gatsby

"GatsbyJS can be a create-react-app replacement"

GatsbyJS and create-react-app are similar in that can help you set up an application and removes much of the configuration headache. However, GatsbyJS offers more like backed in performance optimizations and static rendering without the need for a server and a thriving ecosystem of plugins.

Why Migrating to GatsbyJS?

GatsbyCreate-React-App
Webpack support
Hot Reloading
Static Rendering
Code and data splitting
SEO Friendly App
Plugins Support
Unified Data Layer

Zero config performance optimazations

GatsbyJS provides code and data splitting out-of-the-box. It loads your critical HTML and CSS, then prefetches resources for other pages. That way, clicking around feels so fast. Additionally, it offers things like:

  • gatsby-link uses an intersection observer to preload linked pages when they appear in the viewport, making them feel like they load instantly
  • gatsby-image creates optimized versions of your images in Different sizes, loading a smaller, optimized version of an image and replacing it with a higher resolution version when loading has finished. It also uses an intersection observer to cheaply lazy load images.

Server side rendering without a server

At build time, GatsbyJS takes all your react component with all the needed data and generates static HTML, JavaScript, and CSS files. Once the website is fully loaded it rehydrates it into a fully fledge React PWA

A unified Data layer using GraphQL

GatsbyJS unifies all data sources into one layer using GraphQL

A rich plugin ecosystem

With GatsbyJS's flexible plugin system, it lets you bring your data source. From anywhere like CMS, database, or filesystem and makes it queriable through GraphQL.

Who is this for (and not for)?

This course Guides you to port your existing create-react-app project to GatsbyJS by reusing as much code from the project as you can. It explains the difference between the two. The course also helps you to understand GatsbyJS and how it works, so if you want to learn GatsbyJS, this course is for you. If this is your first working with React in general, then this course might not be a good fit for you.

  • Front End devs looking to understand the JAMstack
  • JS Developers looking to advance in their career
  • Wordpress Developer moving to GatsbyJS
  • Anyone who wants to get better at GatsbyJS and React

What you'll learn?

This course will guide through the process of porting a create-react-app to GatsbyJS. It will cover topics like.

  • Setup a Gatsby project
  • Create static pages in Gatsby
  • Create static pages programatically in Gatsby
  • Create a Layout component in Gatsby
  • Create client side routes in Gatsby
  • Explaining Gatsby plugins
  • Breaking down CRA routes into pages(static and client side)
  • Deconstructing Content transformation in a CRA app and map it to Gatsby plugins
  • Break down the content part in a CRA
  • Add a CSS preprocessor in Gatsby
  • Use React Context with Gatsby
  • Gatsby gotcha

Videos && Modules

Main Modules

  • Bootstrap the simplest GatsbyJS project
  • Create a Static page in Gatsby
  • Combine mutiple data sources using plugins
  • Create static pages programatically in Gatsby
  • Create client only pages in Gatsby
  • Create a Layout component in Gatsby
  • Add a plugin to a Gatsby
  • How does a source plugin work
  • How does a transformer plugin work
  • Extract Static pages from a CRA project
  • Extract Client side pages from a CRA project
  • Transform data at build instead of runtime using a transformer plugin
  • Load content at build time using a source plugin
  • Load dynamic content at runtime in Gatsby
  • Add a CSS preprocessor in Gatsby
  • Use React Context in Gatsby
  • Fix the Context mounting issue in Gatsby
  • Fix the window object issue in Gatsby
  • Optimize images using gatsby-transformer-sharp and gatsby-images
  • Build and serve the production ready project locally
  • Deploy a Gatsby project to Netlify

Bonus Content

  • Add authentication in Gatsby
  • Use Apollo GraphQL in Gatsby
  • Trigger build on content change
  • Use Gatsby cloud preview feature
  • Use Gatsby cloud for incremental build

Learn how to migrate a create-react-app project to Gatsby!

Sign up for our newsletter to get notified when the course is launched and get a free preview

Mr Jam taking react on a road to Gatsby

Who teaches this?

Khaled Garbaya's avatar

Hi my name is Khaled Garbaya I am a long-time contributor to GatsbyJS. I love the framework and been working with it since pre v1 version. I work on a variety of projects with different frameworks and environments, not only on the frontend and browsers but also on the server-side, command-line tools, and other environments capable of running JavaScript. I love to share my knowledge through e-books and videos. you can check out some of my work here