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
870
Other Decks in Programming
See All in Programming
Flutterと Vibe Coding で個人開発!
hyshu
1
230
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
280
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
16
9.5k
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
270
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
120
decksh - a little language for decks
ajstarks
4
21k
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
230
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
180
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
180
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Embracing the Ebb and Flow
colly
86
4.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
22
1.4k
How to Ace a Technical Interview
jacobian
278
23k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Raft: Consensus for Rubyists
vanstee
140
7.1k
The Cost Of JavaScript in 2023
addyosmani
51
8.8k
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