Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
An Update on FastBoot
tomdale
January 29, 2016
Programming
2
730
An Update on FastBoot
Slides from my Ember NYC talk on January 28th, 2016 about Ember server-side rendering with FastBoot.
tomdale
January 29, 2016
Tweet
Share
More Decks by tomdale
See All by tomdale
EmberConf 2019 Keynote
tomdale
1
460
EmberConf 2018 Keynote
tomdale
4
1.5k
Secrets of the DOM Virtual Machine
tomdale
1
850
EmberCamp London Keynote 2016
tomdale
11
4.2k
Hella Good Ember
tomdale
7
1.2k
EmberConf 2016 Keynote
tomdale
12
2.1k
Introduction to FastBoot - Global Ember Meetup
tomdale
1
130
Progressive Enhancement is Dead, Long Live Progressive Enhancement
tomdale
1
500
Nine Things I've Learned
tomdale
4
790
Other Decks in Programming
See All in Programming
GDG Seoul IO Extended 2022 - Android Compose
taehwandev
0
270
PythonユーザによるRust入門
rmizuta3
9
3k
Dagger + Anvil: Learning to Love Dependency Injection
vrallev
2
230
Power Automateドリブンのチームマネジメント
hanaseleb
0
170
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
210
EFFICIENT CREATION OF AN EMPTY COLLECTION IN .NET
abt
0
150
CUDA高速化セミナーvol.1 ~画像処理アルゴリズムの高速化~
fixstars
3
170
1時間半で克服するJavaScriptの非同期処理/async_javascript_kokufuku
marchin1989
2
590
git on intellij
hiroto_kitamura
0
160
即、New Relic / New Relic NOW!
uzulla
0
270
#JJUG_CCC 「サポート」は製品開発? - JDBCライブラリ屋さんが実践する攻めのテクニカルサポートとJavaエンジニアのキャリアについて -
cdataj
0
400
heyにおけるCI/CDの現状と課題
fufuhu
1
540
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
KATA
mclloyd
7
8.7k
Web development in the modern age
philhawksworth
197
9.3k
jQuery: Nuts, Bolts and Bling
dougneiner
56
6.4k
How STYLIGHT went responsive
nonsquared
85
3.9k
Building a Scalable Design System with Sketch
lauravandoore
447
30k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Building Adaptive Systems
keathley
25
1.1k
Adopting Sorbet at Scale
ufuk
63
7.6k
Facilitating Awesome Meetings
lara
29
4k
Visualization
eitanlees
124
11k
Web Components: a chance to create the future
zenorocha
303
40k
Transcript
FastBoot
Progressive Enhancement for Ember
None
None
“Server-Side Rendering”
“Server-Side Rendering” is just the start
Server-Side… • Rendering • Routing • Model Fetching • Serialization
• Logging • Authentication
Other libraries have “server-side rendering”
FastBoot is server-side rendering for the 99%
Ease of Use
$ ember install ember-cli-fastboot Installation
$ ember fastboot Development
Deployment
Architecture
Requirements • No PhantomJS buggy, slow, massive memory consumption •
No jsdom slow, compatibility quirks • Concurrent
HTTP/HTTPS
Ember App
Ember App App Instance App Instance
Constraints
Constraints • No jQuery • No DOM • No globals
• No shared state • No browser-only APIs
Universal JavaScript
Isomorphic
ember-network github.com/tomdale/ember-network
import Route from "ember-route"; import fetch from "ember-network/fetch"; export default
Route.extend({ model() { return fetch('https://api.github.com/users/tomdale/events') .then(function(response) { return response.json(); }); } });
node-fetch.js whatwg-fetch.js FastBoot browser fetch.js
Deployment
Ease of Use
Deploying to AWS
Demo
None
IAM Roles Instance Profiles ElasticBeanstalk Environments S3 Buckets Bucket Policies
Autoscaling Groups
None
What You Can Do
bit.ly/help-finish-fastboot
FastBoot only works if the community rallies around it
Test Your Apps Test Your Addons
Fast Load SEO Friendly Mobile Friendly Rich Interactions Offline Fast
Navigation progressive enhancement JavaScript
Fast Load SEO Friendly Mobile Friendly Rich Interactions Offline Fast
Navigation +
None
Thank You
Questions?
SHIRT Suitsupply TROUSERS Ted Baker TIE Hermès SHOES Allen Edmonds
SOCKS Slack