End-to-end

Type-Safe

GraphQL

Apps

Carlos Rufo / 08-02-2020 / JavaScript Bangkok ðŸ‡đ🇭

👏 Kudos JSBangkok

Thanks to 🙏ðŸŧ
Speakers, Sponsors,

Organizers but specially,

to you all attendees â™Ĩïļ

🎉 Largest JavaScript Conference in Asia 🎊

👋 I'm Carlos

Software ðŸ’ŧ Consultant

GraphQL 🇭🇰 Organizer

SpaceX 🚀 GraphQL API

Agenda

  1. 🌏 GraphQL Intro

  2. 🚀 TS loves GQL

  3. 🌖 Live-coding

But before start...

It's 🎉 🎊 🎈
DevJokes Time

Check & contribute 👇
github.com/shrutikapoor08/devjoke

DevJokes time 🎉

How do you comfort a JavaScript bug?

You console it 😂

DevJokes time 🎉

DevJokes time 🎊

Why do functions always break up?

Because they have constant arguments.

*ðŸĨ ba dum tss

DevJokes time 🎊

"Your site will not have vulnerabilities...

if you don't find them"

DevJokes time 🎈

What the developer said to the repository?

FORK YOU! ðŸĪĢ

Intro 🌏

GraphQL

ðŸĪ” What
🧐 Why
ðŸĪĐ How

What ðŸĪ”

  • Specification

  • Query Language

  • Features

  • Learn

Specification

❌ It's not a library,
❌ nor a framework

✅ Is a language-agnostic
specification to build APIs

Query Language

✅ Is a Graph QL
to build APIs

❌ It's not a library,
❌ nor a framework

Features

💊 Strongly Typed

🔎 Introspectable

📝 Queries, Mutations, Subscriptions

â™ŧïļ Efficient & Reusable

🌐 Transport agnostic

⚡ïļ Product development

Learn

Confs

GQL Asia ðŸ‡ŪðŸ‡ģ Feb 20-22 

GQL Conf ðŸ‡Đ🇊 Jun ?

GQL HK 🇭🇰 Sept ?

GQL Summit 🇚ðŸ‡ļ Oct 27-28

Tutorials

FullStack GraphQL

Newsletters

GraphQL Weekly

Blogs

Open GraphQL

Why ðŸĪĐ

  • Type System

  • Predictability

  • Efficiency

  • Docs & Tooling

Type System

Predictability

Introspect your API âœĻ

Efficiency

  • Overfetching

  • Underfecthing

⚠ïļ Common issues in current APIs

Overfetching

Ask for what you need,
get exactly that 🎆

"Fetch more data
that the client
actually needs"

Underfetching

Ask for nested resources,
get all of that 🎇

"Fetch not enough data that the client
actually needs"

Docs

  • Auto-Generated

  • Typed

  • Up-to-Date

 

It'd be ðŸ”Ĩ

Tooling

Move faster with
powerful dev tools ðŸ•đ

  • In-browser API IDE

  • Auto-Gen Types

  • IDEs extensions

How 🧐

🔜 Live
Coding 

TypeScript
â™Ĩïļ

GraphQL

TypeScript

Typed superset of JavaScript that compiles to plain JavaScript

TypeScript ðŸĪ GraphQL

  • Starts and ends with JavaScript
  • Strong tooling for large apps
  • State of the art JavaScript

Introspect your API with GraphQL
Introspect your codebase with TS

Single Source of Truth

Type Generators

Auto-generate types based
on your GraphQL implementation

Live coding

🌏 🚀 🌖

Agenda

  1. GraphQL 🌏 Explorer

  2. GraphQL 🚀 Servers

  3. GraphQL 🌖 Clients

SpaceX APIs

Check & contribute
github.com/spacexland

GraphQL ðŸ‡đ🇭 Bangkok

GraphQL 🌏 Asia

           graphql.asia

Slides

āļ‚āļ­āļ‚āļ­āļšāļ„āļļāļ“ ðŸ‡đ🇭

End-to-end Type-Safe GraphQL Apps - JavaScript Bangkok

By Carlos Rufo

End-to-end Type-Safe GraphQL Apps - JavaScript Bangkok

  • 1,093