SlideShare a Scribd company logo
Intro to Gatsby.js
Ben McCormick
Windsor Circle
Twitter: @ben336
Blog: http://benmccormick.org
Who Am I?
• Senior Software Engineer at Windsor Circle
in Durham
• Blogger at benmccormick.org
• Gatsby user since Fall 2016
So What Is Gatsby?
A new static site generator built with React,
Webpack and GraphQL
What is Gatsby For?
• Building lightning fast websites, especially when
some of the content is relatively static
• Blogs, Business sites, Marketing Sites,
eCommerce sites, web apps
Buzzword #1:
Static Site Generators
• Code executed and HTML generated at build
time
• Typically generated based on a mix of data files
(markdown, images, JSON, ???) templates and
code
• Examples: Jekyll, Hugo,
Buzzword
def: a word or phrase, often an
item of jargon, that is fashionable
at a particular time or in a
particular context.
from https://www.staticgen.com/
Wordpress Model
Wordpress runs
on a server
with content
in a database
User makes
a request
Wordpress runs
PHP code to
pull data from DB
load it into a
template, and then
return HTML
SSG Model
SSG builds a
combination of
data + code into
HTML files
HTML is deployed
to a host
User makes request
and gets static
HTML response
<HTML>
<HTML>
???
SSG Model (Gatsby
Version)
from https://www.gatsbyjs.org
Benefits of SSGs (static
content)
• Fast to load
• Simpler, especially for security
• Cheap to run
• Reliably cacheable
Benefits of SSGs
(dynamic/hybrid content)
• Faster first load
• Progressive Enhancement - we can fall back to
plain HTML by default
• For JS based SSGs- can reuse client and server
code
Buzzword #2: React
• JavaScript framework created by Facebook
• Component-based workflow
• Can be rendered to HTML on the server then “re-
hydrated” on the client
• Immensely popular, large eco-system
• Works with JSX “templating language”
Buzzword #3:Webpack
• JavaScript code bundling tool
• Supports code-splitting (load only what you need for a
specific page, then load more later when its needed
without a full reload)
• Large ecosystem of plugins to handle all sorts of file
types
• Hot Reloading: See changes as you update your code
from https://webpack.js.org/
Buzzword #4: GraphQL
• Data querying language developed by Facebook
• Makes it simple to load all the data needed for a
specific component and ONLY that data
• Young tool, but popular in the React ecosystem
• Comes with a built in playground environment
GraphQL
Benefits of Gatsby
• Optimized loads: Load only what you need for initial
page, then only load new data for additional pages
• Best Practices as plugins: Offline support, image
optimization, RSS feed, etc
• Flexibility of a React web application
• Hot Reloading: See changes as you develop your site
Demo: benmccormick.org
• My blog
• Converted to Gatsby 1 this month (still some
mess)
• https://github.com/benmccormick/benmccormick
org
Gatsby Cons
• Young Project
• Learning curve if you’re not in the
React/Webpack/GraphQL ecosystem
Still Early Days
• Repo opened 2 years ago, full time developed for
the past year, 1.0 released this month
• Some documentation is missing, some trial and
error may be required
• Growing fast
Gatsby intro
Resources
• Site: https://www.gatsbyjs.org/
• Github: https://github.com/gatsbyjs/gatsby
Questions?
Ben McCormick
Windsor Circle
Twitter: @ben336
Blog: http://benmccormick.org

More Related Content

PDF
Modern Static Site with GatsbyJS
PDF
ES2015 / ES6: Basics of modern Javascript
PPTX
Building event-driven Serverless Apps with Azure Functions and Azure Cosmos DB
PPTX
Manage react state with MobX
PPTX
PDF
MongodB Internals
PPTX
The redux saga begins
PPTX
Java script basic
Modern Static Site with GatsbyJS
ES2015 / ES6: Basics of modern Javascript
Building event-driven Serverless Apps with Azure Functions and Azure Cosmos DB
Manage react state with MobX
MongodB Internals
The redux saga begins
Java script basic

What's hot (20)

PPTX
Web development using javaScript, React js, Node js, HTML, CSS and SQL
PDF
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
PPTX
Web Designing
PDF
Tech Talk on ReactJS
PDF
오픈소스 GIS 실습 (5)
PDF
SQL vs. NoSQL Databases
PPTX
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
PPTX
Should I move my database to the cloud?
PDF
Intro To MongoDB
PPT
WordPress Complete Tutorial
PDF
Light Weight Transactions Under Stress (Christopher Batey, The Last Pickle) ...
PDF
Redux toolkit
PPSX
Cassandra and Riak at BestBuy.com
PPTX
A presentation on front end development
PPTX
Introduction to MongoDB
PDF
TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직을 만드는 여정
PDF
Hadoop & MapReduce
PDF
Front end microservices: architectures and solution
PDF
TypeScript
PPTX
Web development using javaScript, React js, Node js, HTML, CSS and SQL
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
Web Designing
Tech Talk on ReactJS
오픈소스 GIS 실습 (5)
SQL vs. NoSQL Databases
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Should I move my database to the cloud?
Intro To MongoDB
WordPress Complete Tutorial
Light Weight Transactions Under Stress (Christopher Batey, The Last Pickle) ...
Redux toolkit
Cassandra and Riak at BestBuy.com
A presentation on front end development
Introduction to MongoDB
TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직을 만드는 여정
Hadoop & MapReduce
Front end microservices: architectures and solution
TypeScript
Ad

Similar to Gatsby intro (20)

PPTX
Introduction To Gatsbyjs
PPTX
Build Fast WordPress Site With Gatsby
PDF
GraphQL Bangkok Meetup 6.0
PDF
Pump up the JAM with Gatsby (2019)
PDF
Gatsby (Code.Talks) 2019
PDF
Великолепный Gatsby.js | Odessa Frontend Meetup #19
PDF
Pump up the JAM with Gatsby
PDF
JAMstack with gatsby, contentful and netlify aka the dream stack
PDF
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
PPTX
Presentation on Gatsby to SF Static Web Tech Meetup
PPTX
Using the WordPress REST API and Gatsby.js
PPTX
Gatsby v2: Faster build times, guess.js, and more!
PPTX
The Future Is The Cloud
PDF
Gatsby vs. Next.js
PPTX
Delicious Simplicity: Gatsby Is A Gamechanger
PDF
Top 8 react static site generators for 2020
PDF
Using WordPress with Static Site Generators by Muhammad Muhsin and Jason Bahl...
PDF
Modern Web Architecture<br>based on JS, API and Markup
PDF
Top React Static Site Generators for 2022.pdf
PDF
Blazing Fast eCommerce with Gatsby, WordPress, and WooCommerce by Muhammad Mu...
Introduction To Gatsbyjs
Build Fast WordPress Site With Gatsby
GraphQL Bangkok Meetup 6.0
Pump up the JAM with Gatsby (2019)
Gatsby (Code.Talks) 2019
Великолепный Gatsby.js | Odessa Frontend Meetup #19
Pump up the JAM with Gatsby
JAMstack with gatsby, contentful and netlify aka the dream stack
Build Your Blazing Fast Site with Gatsby and WordPress @ WordSesh by Muhammad...
Presentation on Gatsby to SF Static Web Tech Meetup
Using the WordPress REST API and Gatsby.js
Gatsby v2: Faster build times, guess.js, and more!
The Future Is The Cloud
Gatsby vs. Next.js
Delicious Simplicity: Gatsby Is A Gamechanger
Top 8 react static site generators for 2020
Using WordPress with Static Site Generators by Muhammad Muhsin and Jason Bahl...
Modern Web Architecture<br>based on JS, API and Markup
Top React Static Site Generators for 2022.pdf
Blazing Fast eCommerce with Gatsby, WordPress, and WooCommerce by Muhammad Mu...
Ad

More from Ben McCormick (6)

PPTX
A Second Set Of Eyes: Getting The Most From Code Reviews
PPTX
Saving Time By Testing With Jest
PPTX
Vim survival guide
PDF
Decorators Lightning Talk for Triangle JavaScript
PPTX
Backbonemeetup
PDF
Component Based Development
A Second Set Of Eyes: Getting The Most From Code Reviews
Saving Time By Testing With Jest
Vim survival guide
Decorators Lightning Talk for Triangle JavaScript
Backbonemeetup
Component Based Development

Recently uploaded (20)

PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPT
Introduction Database Management System for Course Database
PPTX
Online Work Permit System for Fast Permit Processing
PDF
medical staffing services at VALiNTRY
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Transform Your Business with a Software ERP System
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
top salesforce developer skills in 2025.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms II-SECS-1021-03
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Introduction Database Management System for Course Database
Online Work Permit System for Fast Permit Processing
medical staffing services at VALiNTRY
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
How to Choose the Right IT Partner for Your Business in Malaysia
ISO 45001 Occupational Health and Safety Management System
VVF-Customer-Presentation2025-Ver1.9.pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Upgrade and Innovation Strategies for SAP ERP Customers
Transform Your Business with a Software ERP System
Operating system designcfffgfgggggggvggggggggg
CHAPTER 2 - PM Management and IT Context
Navsoft: AI-Powered Business Solutions & Custom Software Development
top salesforce developer skills in 2025.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Internet Downloader Manager (IDM) Crack 6.42 Build 41

Gatsby intro

  • 1. Intro to Gatsby.js Ben McCormick Windsor Circle Twitter: @ben336 Blog: http://benmccormick.org
  • 2. Who Am I? • Senior Software Engineer at Windsor Circle in Durham • Blogger at benmccormick.org • Gatsby user since Fall 2016
  • 3. So What Is Gatsby? A new static site generator built with React, Webpack and GraphQL
  • 4. What is Gatsby For? • Building lightning fast websites, especially when some of the content is relatively static • Blogs, Business sites, Marketing Sites, eCommerce sites, web apps
  • 5. Buzzword #1: Static Site Generators • Code executed and HTML generated at build time • Typically generated based on a mix of data files (markdown, images, JSON, ???) templates and code • Examples: Jekyll, Hugo,
  • 6. Buzzword def: a word or phrase, often an item of jargon, that is fashionable at a particular time or in a particular context.
  • 8. Wordpress Model Wordpress runs on a server with content in a database User makes a request Wordpress runs PHP code to pull data from DB load it into a template, and then return HTML
  • 9. SSG Model SSG builds a combination of data + code into HTML files HTML is deployed to a host User makes request and gets static HTML response <HTML> <HTML> ???
  • 10. SSG Model (Gatsby Version) from https://www.gatsbyjs.org
  • 11. Benefits of SSGs (static content) • Fast to load • Simpler, especially for security • Cheap to run • Reliably cacheable
  • 12. Benefits of SSGs (dynamic/hybrid content) • Faster first load • Progressive Enhancement - we can fall back to plain HTML by default • For JS based SSGs- can reuse client and server code
  • 13. Buzzword #2: React • JavaScript framework created by Facebook • Component-based workflow • Can be rendered to HTML on the server then “re- hydrated” on the client • Immensely popular, large eco-system • Works with JSX “templating language”
  • 14. Buzzword #3:Webpack • JavaScript code bundling tool • Supports code-splitting (load only what you need for a specific page, then load more later when its needed without a full reload) • Large ecosystem of plugins to handle all sorts of file types • Hot Reloading: See changes as you update your code
  • 16. Buzzword #4: GraphQL • Data querying language developed by Facebook • Makes it simple to load all the data needed for a specific component and ONLY that data • Young tool, but popular in the React ecosystem • Comes with a built in playground environment
  • 18. Benefits of Gatsby • Optimized loads: Load only what you need for initial page, then only load new data for additional pages • Best Practices as plugins: Offline support, image optimization, RSS feed, etc • Flexibility of a React web application • Hot Reloading: See changes as you develop your site
  • 19. Demo: benmccormick.org • My blog • Converted to Gatsby 1 this month (still some mess) • https://github.com/benmccormick/benmccormick org
  • 20. Gatsby Cons • Young Project • Learning curve if you’re not in the React/Webpack/GraphQL ecosystem
  • 21. Still Early Days • Repo opened 2 years ago, full time developed for the past year, 1.0 released this month • Some documentation is missing, some trial and error may be required • Growing fast
  • 23. Resources • Site: https://www.gatsbyjs.org/ • Github: https://github.com/gatsbyjs/gatsby
  • 25. Ben McCormick Windsor Circle Twitter: @ben336 Blog: http://benmccormick.org

Editor's Notes

  • #2: Hey everybody, I’m the third speaker tonight so hopefully your brains aren’t too full. I’ll try to keep things moving.
  • #4: Who has already heard about gatsby? Its been around for ~ a year, but just released a revamped 1.0 at the beginning of this month So many buzzwords…
  • #5: Show Segment Blog
  • #12: Vs wordpress
  • #13: VS a monolith web app
  • #14: Everything is a re-usable component with a clear interface JSX isn’t really a templating language ¯\_(ツ)_/¯
  • #17: Like a more limited SQL for APIs? Github, Shopify, NYTimes
  • #18: Query for grabbing all JavaScript related posts from my blog
  • #19: Compared to other static site generators: It’s about smart data handling and builds Not just for text
  • #21: Webpack is abstracted away a bit, React and GraphQL are definitely not
  • #22: There have been a lot of updates this month, and I’ve seen some bugs come through. Documentation looks better for new starters than for upgraders right now Benefit of the structure is that bugs are build time problems not run-time for the most part
  • #23: Opportunities to contribute