Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Fiber or Glimmer?
Search
Tommy Graves
January 12, 2018
Programming
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fiber or Glimmer?
Given at CodeMash 2018
Tommy Graves
January 12, 2018
More Decks by Tommy Graves
See All by Tommy Graves
Rethinking Testing for React Applications
tagraves
0
56
Building a Production-Ready React Native App
tagraves
1
150
Learning to Learn From Disagreement
tagraves
0
100
Other Decks in Programming
See All in Programming
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.9k
Intent as Code
shoppingjaws
6
1k
Heart of Swift Concurrency
koher
0
700
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
Jetpack Compose メカニズム
skydoves
0
410
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
240
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
230
Building an Out-of-Order CPU
latte72
1
770
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The Language of Interfaces
destraynor
162
27k
How to build a perfect <img>
jonoalderson
1
6k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Scaling GitHub
holman
464
140k
The agentic SEO stack - context over prompts
schlessera
0
940
Optimizing for Happiness
mojombo
378
71k
Color Theory Basics | Prateek | Gurzu
gurzu
1
460
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
GitHub's CSS Performance
jonrohan
1033
470k
Chasing Engaging Ingredients in Design
codingconduct
0
310
Transcript
FIBER OR GLIMMER?
TOMMY GRAVES MEET ME Twitter: @TAGraves GitHub: https://github.com/tagraves Root Insurance:
https://joinroot.com
REACT & EMBER Focuses / Commitments Goals for Fiber /
Glimmer The Future
Focuses / Commitments
REACT’S COMMITMENTS 1. JavaScript only 2. Do one thing
EMBER’S COMMITMENTS 1. Use the best tool for the job
2. Be everything, be opinionated
Goals for Fiber / Glimmer
GOAL #1 ENABLE DEVELOPMENT OF NEW FEATURES FIBER’S GOALS Fragments
Error Boundaries Portals Context
render() { return ( <> <div /> <div /> </>
); } render() { return [ <li key=“A”>A</li>, <li key=“B”>B</li>, ]; } render() { return ‘Just a string!’; } render() { return null; } FRAGMENTS
render() { return ReactDOM.createPortal( <div id=“A” />, document.getElementById(‘X’), ); }
PORTALS
componentDidCatch(errorMessage, errorInfo) { this.setState({ error: errorMessage, }); } ERROR BOUNDARIES
GOAL #2 ENABLE REACT ASYNC FIBER’S GOALS
STACK
FIBER
STACK
FIBER
STACK FIBER Recursive Iterative Uses the stack Uses linked lists
Synchronous Asynchronous Blocking Non-Blocking
GOAL #1 SPLIT THE EMBER RENDERING ENGINE OUT FROM THE
REST OF EMBER GLIMMER’S GOALS
GOAL #2 IMPLEMENT A VM FOR EFFICIENT AND LIGHTWEIGHT RENDERING
GLIMMER’S GOALS
<div>Hello World!</div> {}
<div> Hello {{conference}}! </div> { “conference”: “CodeMash” }
<div class=“days”> {{#each days key="id" as |day|}} {{day.name}} <hr />
{{/each}} </div> { “days”: [ { “name”: “Thursday”, “id”: 1 }, { “name”: “Friday”, “id”: 2 } ] }
The Future?
THANK YOU!