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
25
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
50
Building a Production-Ready React Native App
tagraves
1
140
Learning to Learn From Disagreement
tagraves
0
98
Other Decks in Programming
See All in Programming
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
280
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
Package Management Learnings from Homebrew
mikemcquaid
0
220
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
570
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
200
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Oxlint JS plugins
kazupon
1
960
Grafana:建立系統全知視角的捷徑
blueswen
0
330
AgentCoreとHuman in the Loop
har1101
5
240
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
180
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
66
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Six Lessons from altMBA
skipperchong
29
4.1k
New Earth Scene 8
popppiees
1
1.5k
GraphQLとの向き合い方2022年版
quramy
50
14k
Context Engineering - Making Every Token Count
addyosmani
9
660
Prompt Engineering for Job Search
mfonobong
0
160
Docker and Python
trallard
47
3.7k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
53
Design in an AI World
tapps
0
140
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!