Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
FastBoot
Slide 2
Slide 2 text
Progressive Enhancement for Ember
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
“Server-Side Rendering”
Slide 6
Slide 6 text
“Server-Side Rendering” is just the start
Slide 7
Slide 7 text
Server-Side… • Rendering • Routing • Model Fetching • Serialization • Logging • Authentication
Slide 8
Slide 8 text
Other libraries have “server-side rendering”
Slide 9
Slide 9 text
FastBoot is server-side rendering for the 99%
Slide 10
Slide 10 text
Ease of Use
Slide 11
Slide 11 text
$ ember install ember-cli-fastboot Installation
Slide 12
Slide 12 text
$ ember fastboot Development
Slide 13
Slide 13 text
Deployment
Slide 14
Slide 14 text
Architecture
Slide 15
Slide 15 text
Requirements • No PhantomJS buggy, slow, massive memory consumption • No jsdom slow, compatibility quirks • Concurrent
Slide 16
Slide 16 text
HTTP/HTTPS
Slide 17
Slide 17 text
Ember App
Slide 18
Slide 18 text
Ember App App Instance App Instance
Slide 19
Slide 19 text
Constraints
Slide 20
Slide 20 text
Constraints • No jQuery • No DOM • No globals • No shared state • No browser-only APIs
Slide 21
Slide 21 text
Universal JavaScript
Slide 22
Slide 22 text
Isomorphic
Slide 23
Slide 23 text
ember-network github.com/tomdale/ember-network
Slide 24
Slide 24 text
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(); }); } });
Slide 25
Slide 25 text
node-fetch.js whatwg-fetch.js FastBoot browser fetch.js
Slide 26
Slide 26 text
Deployment
Slide 27
Slide 27 text
Ease of Use
Slide 28
Slide 28 text
Deploying to AWS
Slide 29
Slide 29 text
Demo
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
IAM Roles Instance Profiles ElasticBeanstalk Environments S3 Buckets Bucket Policies Autoscaling Groups
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
What You Can Do
Slide 34
Slide 34 text
bit.ly/help-finish-fastboot
Slide 35
Slide 35 text
FastBoot only works if the community rallies around it
Slide 36
Slide 36 text
Test Your Apps Test Your Addons
Slide 37
Slide 37 text
Fast Load SEO Friendly Mobile Friendly Rich Interactions Offline Fast Navigation progressive enhancement JavaScript
Slide 38
Slide 38 text
Fast Load SEO Friendly Mobile Friendly Rich Interactions Offline Fast Navigation +
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
Thank You
Slide 41
Slide 41 text
Questions?
Slide 42
Slide 42 text
SHIRT Suitsupply TROUSERS Ted Baker TIE Hermès SHOES Allen Edmonds SOCKS Slack