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
Fiber or Glimmer?
Search
Tommy Graves
January 12, 2018
Programming
0
23
Fiber or Glimmer?
Given at CodeMash 2018
Tommy Graves
January 12, 2018
Tweet
Share
More Decks by Tommy Graves
See All by Tommy Graves
Rethinking Testing for React Applications
tagraves
0
48
Building a Production-Ready React Native App
tagraves
1
140
Learning to Learn From Disagreement
tagraves
0
96
Other Decks in Programming
See All in Programming
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
Deep Dive into ~/.claude/projects
hiragram
7
1.3k
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
100
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
310
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
450
エラーって何種類あるの?
kajitack
5
300
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
190
童醫院敏捷轉型的實踐經驗
cclai999
0
190
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
240
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
220
C++20 射影変換
faithandbrave
0
530
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
71
4.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Thoughts on Productivity
jonyablonski
69
4.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
33
5.9k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
210
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!