Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GraphQL - JavaScript Fullstack Solution
Search
Michael Hsu
December 29, 2017
Programming
2
300
GraphQL - JavaScript Fullstack Solution
GitHub:
https://github.com/evenchange4/todomvc-subscriptions
Demo:
https://todomvc-web.now.sh/
Michael Hsu
December 29, 2017
Tweet
Share
More Decks by Michael Hsu
See All by Michael Hsu
Front-End Practice 2019
evenchange4
0
860
Other Decks in Programming
See All in Programming
ReadMoreTextView
fornewid
0
260
SODA - FACT BOOK
sodainc
1
790
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
440
Agent Rules as Domain Parser
yodakeisuke
1
580
カクヨムAndroidアプリのリブート
numeroanddev
0
400
TypeScript LSP の今までとこれから
quramy
1
490
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.9k
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
180
從零到一:搭建你的第一個 Observability 平台
blueswen
1
820
Your Architecture as a Crime Scene:Forensic Analysis
manfredsteyer
PRO
0
100
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
120
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
A better future with KSS
kneath
239
17k
KATA
mclloyd
29
14k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Code Reviewing Like a Champion
maltzj
524
40k
The World Runs on Bad Software
bkeepers
PRO
68
11k
A Modern Web Designer's Workflow
chriscoyier
693
190k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
GRAPHQL - JAVASCRIPT FULLSTACK SOLUTION 2017.12.29 MICHAEL HSU
AGENDA 1. Recap 2. Server 3. Web
RECAP API GATEWAY - PROXY
RECAP GRAPHQL NATIVE - CONNECT TO DATABASE
DEMO ▸ TodoMVC: CRUD + Realtime ▸ https://todomvc-web.now.sh/
TODOMVC - FULLSTACK . (lerna) !"" packages #"" constants #
Shared constants between client and server. #"" server # GraphQL Server !"" web # Web server
SERVER
HOW TO BUILD A GRAPHQL SERVER? (1/3) GRAPHQL OPERATION ▸
Query: R ▸ Mutation: CUD ▸ Subscription: Realtime (WS, MQTT) ▸ https://todomvc-server.now.sh/
HOW TO BUILD A GRAPHQL SERVER? (2/3) LIBRARIES ‣ 1.
graphql-yoga: express, graphql-tools, graphql- subscriptions, graphiql ‣ 2. knex.js: ORM ‣ 3. Pkg: Binary compiler ‣ 4. Docker: Container
HOW TO BUILD A GRAPHQL SERVER? (3/3) MODULE ▸ 1.
connector: connect to database ▸ 2. models: ORM, database manipulate ▸ 3. typeDefs: GraphQL type ▸ 4. resolver: Logic ▸ https://github.com/evenchange4/todomvc-subscriptions/ blob/master/packages/server/README.md
WEB
HOW TO BUILD A GRAPHQL WEB? (1/2) LIBRARIES ▸ 1.
Next.js: Server-rendered React applications ▸ 2. Apollo-client: GraphQL client ▸ 3. Apollo-link-state: Manage local state (redux)
HOW TO BUILD A GRAPHQL WEB? (2/2) MODULE ▸ 1.
gql: GraphQL type ▸ 2. hoc: React ▸ 3. resolvers: GraphQL for local state (getState, reducer) ▸ https://github.com/evenchange4/todomvc-subscriptions/ blob/master/packages/web/README.md
SERVER & WEB CONCLUSION - SIZE ▸ Server: Linux binary
64MB ▸ Web: bundle size 433KB + 101KB (Code split)
FULLSTACK TODOMVC WITH GRAPHQL SUBSCRIPTIONS https://github.com/evenchange4/todomvc-subscriptions TAKEAWAY