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
24
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
49
Building a Production-Ready React Native App
tagraves
1
140
Learning to Learn From Disagreement
tagraves
0
97
Other Decks in Programming
See All in Programming
AI時代のUIはどこへ行く?
yusukebe
18
8.9k
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
個人軟體時代
ethanhuang13
0
320
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
1
130
Testing Trophyは叫ばない
toms74209200
0
880
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
250
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
770
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
180
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
860
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
BBQ
matthewcrist
89
9.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
RailsConf 2023
tenderlove
30
1.2k
Become a Pro
speakerdeck
PRO
29
5.5k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Gamification - CAS2011
davidbonilla
81
5.4k
How to train your dragon (web standard)
notwaldorf
96
6.2k
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!