lecture_slides-airbnb-slides.pdf
-
Upload
prakul-agarwal -
Category
Documents
-
view
29 -
download
0
description
Transcript of lecture_slides-airbnb-slides.pdf
![Page 1: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/1.jpg)
Startup Engineeringcoursera.org/course/startupGuest Lecture
Alex Blackstock & Spike Brehm
![Page 2: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/2.jpg)
![Page 3: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/3.jpg)
![Page 4: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/4.jpg)
![Page 5: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/5.jpg)
OverviewThe Story
The Stack
The Future
It’s Hack Time!
![Page 6: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/6.jpg)
1THE STORY
![Page 7: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/7.jpg)
Text
Joe
Brian
Nate
![Page 8: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/8.jpg)
2007
Brian movesin with Joe
! Rent increasesThey can’t afford it
![Page 9: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/9.jpg)
! Rent increasesThey can’t afford it
SF Design Conference
![Page 10: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/10.jpg)
SF DESIGNCONFERENCE
NO VACANCY
![Page 11: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/11.jpg)
SF DESIGNCONFERENCE
![Page 12: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/12.jpg)
SF DESIGNCONFERENCE
![Page 13: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/13.jpg)
SF DESIGNCONFERENCE
![Page 14: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/14.jpg)
![Page 15: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/15.jpg)
![Page 16: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/16.jpg)
![Page 17: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/17.jpg)
![Page 18: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/18.jpg)
![Page 19: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/19.jpg)
![Page 20: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/20.jpg)
![Page 21: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/21.jpg)
Big Growth, Big Problems
Fraud
Search
Payments
Trust & Safety
Internationalization
![Page 22: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/22.jpg)
![Page 23: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/23.jpg)
2THE STACK
![Page 24: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/24.jpg)
RailsMySQL
HadoopRedis
CoffeeScriptBackbone
NodeSASS
Framework
DatabaseAnalyticsKey/Value StoreClient Language Client Framework
SSJSStylesheets
![Page 25: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/25.jpg)
Amazon Web ServicesEC2RDS
S3ELB
EMRDynamoDBElasticache
Web ServersDatabaseStorageLoad BalancingCluster ComputingDistributed K/VMemcache
![Page 26: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/26.jpg)
Ever heard of ... ?
ZooKeeperMesos
RedshiftChef
SphinxWeka
Service DiscoveryResource SharingWarehousingDeploymentSearchData Mining
![Page 27: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/27.jpg)
3THE FUTURE
![Page 28: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/28.jpg)
![Page 29: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/29.jpg)
![Page 30: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/30.jpg)
Let’s talk about webapps
![Page 31: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/31.jpg)
![Page 32: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/32.jpg)
Airbedandbreakfast.com
![Page 33: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/33.jpg)
Airbedandbreakfast.com
Started in 2008
![Page 34: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/34.jpg)
Airbedandbreakfast.com
Started in 2008
Ruby on Rails app
![Page 35: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/35.jpg)
Airbedandbreakfast.com
Started in 2008
Ruby on Rails app
Was Rails 2.3; painful upgrade to 3.x
![Page 36: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/36.jpg)
Airbedandbreakfast.com
Started in 2008
Ruby on Rails app
Was Rails 2.3; painful upgrade to 3.x
Traditional page-based paradigm
![Page 37: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/37.jpg)
![Page 38: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/38.jpg)
website
![Page 39: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/39.jpg)
website v.
![Page 40: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/40.jpg)
website v.webapp
![Page 41: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/41.jpg)
website
server
client
![Page 42: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/42.jpg)
webapp
server
client
![Page 43: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/43.jpg)
![Page 44: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/44.jpg)
past
![Page 45: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/45.jpg)
past v.
![Page 46: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/46.jpg)
past v.future
![Page 47: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/47.jpg)
![Page 48: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/48.jpg)
rich client app
![Page 49: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/49.jpg)
fat client apprich client app
![Page 50: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/50.jpg)
fat client apprich client app
single page app
![Page 51: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/51.jpg)
![Page 52: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/52.jpg)
What is a single page app?
![Page 53: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/53.jpg)
![Page 54: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/54.jpg)
![Page 55: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/55.jpg)
![Page 56: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/56.jpg)
navigate around the app without page refresh
![Page 57: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/57.jpg)
navigate around the app without page refresh
application logic in the client
![Page 58: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/58.jpg)
navigate around the app without page refresh
application logic in the client
fetch data on demand
![Page 59: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/59.jpg)
![Page 60: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/60.jpg)
How do you build a single page app?
![Page 61: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/61.jpg)
![Page 62: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/62.jpg)
![Page 63: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/63.jpg)
![Page 64: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/64.jpg)
Why now?
![Page 65: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/65.jpg)
![Page 66: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/66.jpg)
faster JavaScript runtimes
![Page 67: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/67.jpg)
faster JavaScript runtimes
new browser features (pushState, localStorage, WebGL, etc.)
![Page 68: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/68.jpg)
faster JavaScript runtimes
new browser features (pushState, localStorage, WebGL, etc.)
heightened user expectations
![Page 69: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/69.jpg)
![Page 70: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/70.jpg)
How we do it.
![Page 71: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/71.jpg)
![Page 72: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/72.jpg)
+
![Page 73: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/73.jpg)
![Page 74: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/74.jpg)
![Page 75: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/75.jpg)
![Page 76: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/76.jpg)
provides structure to your JS
![Page 77: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/77.jpg)
provides structure to your JS
MV* (MVC, MVP, MVVM, ...)
![Page 78: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/78.jpg)
provides structure to your JS
MV* (MVC, MVP, MVVM, ...)
Backbone.View, Backbone.Model, Backbone.Collection, Backbone.Router
![Page 79: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/79.jpg)
![Page 80: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/80.jpg)
think about building an application, rather than manipulating HTML
![Page 81: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/81.jpg)
![Page 82: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/82.jpg)
![Page 83: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/83.jpg)
![Page 84: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/84.jpg)
![Page 85: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/85.jpg)
![Page 86: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/86.jpg)
![Page 87: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/87.jpg)
![Page 88: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/88.jpg)
The Easy Way
![Page 89: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/89.jpg)
The Easy Wayv.
![Page 90: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/90.jpg)
The Easy Wayv.The Hard Way
![Page 91: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/91.jpg)
The Easy Way
![Page 92: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/92.jpg)
![Page 93: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/93.jpg)
JS app runs entirely in client
![Page 94: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/94.jpg)
JS app runs entirely in client
Server technology agnostic
![Page 95: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/95.jpg)
JS app runs entirely in client
Server technology agnostic
Poor SEO; not crawlable
![Page 96: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/96.jpg)
JS app runs entirely in client
Server technology agnostic
Poor SEO; not crawlable
Performance hit to download & evaluate JS before rendering
![Page 97: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/97.jpg)
The Hard Wayaka “The Holy Grail”
![Page 98: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/98.jpg)
![Page 99: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/99.jpg)
Routing, rendering, biz logic run on client & server
![Page 100: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/100.jpg)
Routing, rendering, biz logic run on client & server
Re-render in client with pushState; hit refresh, serve full page of HTML
![Page 101: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/101.jpg)
Routing, rendering, biz logic run on client & server
Re-render in client with pushState; hit refresh, serve full page of HTML
Provides SEO
![Page 102: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/102.jpg)
Routing, rendering, biz logic run on client & server
Re-render in client with pushState; hit refresh, serve full page of HTML
Provides SEO
Initial pageload is faster
![Page 103: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/103.jpg)
![Page 104: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/104.jpg)
Enter Rendr.
![Page 105: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/105.jpg)
![Page 106: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/106.jpg)
+
![Page 107: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/107.jpg)
+
![Page 108: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/108.jpg)
![Page 109: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/109.jpg)
Pulls Backbone to the server
![Page 110: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/110.jpg)
Pulls Backbone to the server
Write your application once
![Page 111: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/111.jpg)
Pulls Backbone to the server
Write your application once
Run application in web browser and in Node.js
![Page 112: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/112.jpg)
![Page 113: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/113.jpg)
![Page 114: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/114.jpg)
![Page 115: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/115.jpg)
![Page 116: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/116.jpg)
![Page 117: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/117.jpg)
Check out the blog post.
![Page 118: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/118.jpg)
Check out the blog post.
http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product
![Page 119: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/119.jpg)
![Page 120: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/120.jpg)
Coming soon.
nerds.airbnb.com
![Page 121: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/121.jpg)
4
![Page 122: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/122.jpg)
Never stop hacking
![Page 123: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/123.jpg)
Technological Vigilantism
![Page 124: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/124.jpg)
Cross-functional Collaboration
![Page 125: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/125.jpg)
Creating and Learning Together
![Page 126: lecture_slides-airbnb-slides.pdf](https://reader033.fdocuments.us/reader033/viewer/2022051517/55cf9bdb550346d033a7a0a1/html5/thumbnails/126.jpg)
Hackairthon #1