Drupal 8 & Gatsby JS What, Why & How Zach Weishar Senior - - PowerPoint PPT Presentation

drupal 8 gatsby js
SMART_READER_LITE
LIVE PREVIEW

Drupal 8 & Gatsby JS What, Why & How Zach Weishar Senior - - PowerPoint PPT Presentation

Drupal 8 & Gatsby JS What, Why & How Zach Weishar Senior Technical Solutions Manager @Adapt JAMstack Javascript, APIs, Markup Why JAMstack? Fast page loads Reduced security footprint Lower hosting costs Presentation is seperated


slide-1
SLIDE 1

Drupal 8 & Gatsby JS

What, Why & How

slide-2
SLIDE 2

Zach Weishar

Senior Technical Solutions Manager

@Adapt

slide-3
SLIDE 3

JAMstack

Javascript, APIs, Markup

slide-4
SLIDE 4

Why JAMstack?

Fast page loads Reduced security footprint Lower hosting costs Presentation is seperated from data

slide-5
SLIDE 5

Why Gatsby?

Even faster page loads Next level image handling Data agnostic Progressive Web App (PWA) support out of the box Rich ecosystem of plugins

slide-6
SLIDE 6

Why Drupal?

slide-7
SLIDE 7

Drupal + Gatsby

Drupal is excellent at modeling content and creating structured data Gatsby is an excellent platform for building user intfaces (UI's) Gatsby's developer experiance is rst class, especially for teams that have already embraced React Much of the integration between Gatsby + Drupal is solved by pre-existing plugins

slide-8
SLIDE 8

What you loose

slide-9
SLIDE 9

Views

Querying data is done via JSON API Module No built in view lters, pagination, etc. Only query one entity type at a time

slide-10
SLIDE 10

Web Forms + Comments

There is no server to handle form submissions

slide-11
SLIDE 11

Automatic redirect creation

The redirect module is a no brainer on a standard Drupal site, but it won't help you in a decoupled site

slide-12
SLIDE 12

Built in Authentication

There is none

slide-13
SLIDE 13

Content Preview

Gatsby needs to build in order to see changes on the live site If you don't want to preview in production, you also need to add a staging environment for preview

slide-14
SLIDE 14

Client-side form soulutions

Search Pure client-side search, such as JS Search API based search such as Aloglia (SaaS), Solr, or Elastic Search Comments Disqus, or a similar client-side solution Webforms TypeForm, Wufoo or another client-side SaaS offering

slide-15
SLIDE 15

Preview

The Gatsby team has rolled out their rst SaaS product to solve this, Gatsby Preview

slide-16
SLIDE 16

Redirects

Create redirects in Drupal as usual. At build time, register redirects with your host S3: API for CUD updates on redirects Netlify: Congure redirects in _redirects le or netlify.toml

slide-17
SLIDE 17

What is your risk tollerance?

Drupal has community supported solutions for just about any problem JAMstacks don't offer the same breadth of solutions (at least not yet)

slide-18
SLIDE 18

Cutting the cord

Have you ditched cable for streaming services? This is a similar decision Choose exactly what you want and cut what you don't But if you want a full cable replacement, the cost of each peice in aggregate might be more than cable

slide-19
SLIDE 19

Gatsby + D8 might make sense when...

Client doesn't have a large budget for hosting Client doesn't have a dev team to perform security updates Performance is a top priority You need to pull content from multiple sources You have a team of front-end devs that like working in React You're building an interactive app with some static content mixed in

slide-20
SLIDE 20

Gatsby + D8 might not make sense when...

Site has an extremely high node count Site content is updated frequently Site serves personalized pages for authenticated users Your client doesn't understand the tradeoffs associated with the JAMstack model

slide-21
SLIDE 21

It's a balancing act

You have to decide if the benets outweigh the challanges for your project

slide-22
SLIDE 22

Looking to the future

Gatsby / Drupal integration will continue to improve + develop along with Drupal's API rst initiative Gatsby itself is a venture backed company, which means it's likely to continue innovating Gatsby is extremely popular right now, but that may fade over time. The concept of the JAMstack is more durable and more important

slide-23
SLIDE 23

Resources

Rain drupal distribution: https://www.drupal.org/project/rain Rain Gatsby companion: https://bitbucket.org/mediacurrent/mis_gatsby_rain/src/develop/ Build hooks module: https://www.drupal.org/project/build_hooks Gatsby live preview: https://www.drupal.org/project/gatsby JSON:API Cross Bundles: https://www.drupal.org/project/jsonapi_cross_bundles/ Infustructure examples: https://www.mediacurrent.com/blog/drupal-behind-rewall-gatsby

slide-24
SLIDE 24

Questions?