startup engineering
play

Startup Engineering Guest Lecture Alex Blackstock & Spike Brehm - PowerPoint PPT Presentation

coursera.org/course/startup Startup Engineering Guest Lecture Alex Blackstock & Spike Brehm Overview The Story The Stack The Future Its Hack Time! 1 THE STORY Joe Nate Text Brian 2007 Brian moves in with Joe Rent increases


  1. coursera.org/course/startup Startup Engineering Guest Lecture Alex Blackstock & Spike Brehm

  2. Overview The Story The Stack The Future It’s Hack Time!

  3. 1 THE STORY

  4. Joe Nate Text Brian

  5. 2007 Brian moves in with Joe Rent increases ! They can’t a ff ord it

  6. Rent increases ! They can’t a ff ord it SF Design Conference

  7. NO VACANCY

  8. Big Growth, Big Problems Fraud Search Payments Trust & Safety Internationalization

  9. 2 THE STACK

  10. Framework Rails Database MySQL Analytics Hadoop Redis Key/Value Store Co ff eeScript Client Language Backbone Client Framework Node SSJS SASS Stylesheets

  11. Amazon Web Services EC2 Web Servers RDS Database S3 Storage ELB Load Balancing EMR Cluster Computing DynamoDB Distributed K/V Elasticache Memcache

  12. Ever heard of ... ? ZooKeeper Service Discovery Mesos Resource Sharing Redshift Warehousing Chef Deployment Sphinx Search Weka Data Mining

  13. 3 THE FUTURE

  14. Let’s talk about webapps

  15. Airbedandbreakfast.com

  16. Airbedandbreakfast.com Started in 2008

  17. Airbedandbreakfast.com Started in 2008 Ruby on Rails app

  18. Airbedandbreakfast.com Started in 2008 Ruby on Rails app Was Rails 2.3; painful upgrade to 3.x

  19. Airbedandbreakfast.com Started in 2008 Ruby on Rails app Was Rails 2.3; painful upgrade to 3.x Traditional page-based paradigm

  20. website

  21. website v.

  22. website v. webapp

  23. website client server

  24. webapp client server

  25. past

  26. past v.

  27. past v. future

  28. rich client app

  29. rich client app fat client app

  30. rich client app fat client app single page app

  31. What is a single page app?

  32. navigate around the app without page refresh

  33. navigate around the app without page refresh application logic in the client

  34. navigate around the app without page refresh application logic in the client fetch data on demand

  35. How do you build a single page app?

  36. Why now?

  37. faster JavaScript runtimes

  38. faster JavaScript runtimes new browser features (pushState, localStorage, WebGL, etc.)

  39. faster JavaScript runtimes new browser features (pushState, localStorage, WebGL, etc.) heightened user expectations

  40. How we do it.

  41. +

  42. provides structure to your JS

  43. provides structure to your JS MV* (MVC, MVP, MVVM, ...)

  44. provides structure to your JS MV* (MVC, MVP, MVVM, ...) Backbone.View, Backbone.Model, Backbone.Collection, Backbone.Router

  45. think about building an application, rather than manipulating HTML

  46. The Easy Way

  47. The Easy Way v.

  48. The Easy Way v. The Hard Way

  49. The Easy Way

  50. JS app runs entirely in client

  51. JS app runs entirely in client Server technology agnostic

  52. JS app runs entirely in client Server technology agnostic Poor SEO; not crawlable

  53. JS app runs entirely in client Server technology agnostic Poor SEO; not crawlable Performance hit to download & evaluate JS before rendering

  54. The Hard Way aka “The Holy Grail”

  55. Routing, rendering, biz logic run on client & server

  56. Routing, rendering, biz logic run on client & server Re-render in client with pushState; hit refresh, serve full page of HTML

Recommend


More recommend