Skip to content

Latest commit

 

History

History
91 lines (64 loc) · 1.96 KB

yehuda_keynote.md

File metadata and controls

91 lines (64 loc) · 1.96 KB

Yehuda Keynote

  • Ember

  • Embrace JavaScript

  • "I am a web developer" (as opposed to a ruby/javascript/etc developer)

  • Started programming in 2005

  • The Dark Ages

    • ie6 ~80% marketshare
    • 2004, w3c voted against continuing development of html
    • ie7 was a script to make ie6 closer to firefox in terms of support
    • browsers sucked
  • Since then

    • 100x improvements in javascript performance
  • Ruby on Rails

    • pg's "on lisp" advocated doing as much on the server-side as possible
  • 2007

    • ie7
    • sproutcore
    • cappuccino
    • write entire UI in javascript (terrible)
  • Anti-documents

    • "Let's build flash in the browser" (with javascript)
  • iPhone changed approach to web programming

    • <3 HTML <3
  • angular js

  • ember is

  • The Web Today

    • much different today than when rails was created
    • ie no longer the winning browser
  • Locus of innovation

    • most exciting innovations are happening on the client
  • Agreement!

    • Rails is great for apps that leverage browser templates
    • Don't have to use rails only for generating html
  • basecamp javascript file is 960KB

  • Mental Models

  • Craft

  • "Sprinkling of javascript"

    • Leads to Ad Hoc
    • 1 MB of javascript is not a "sprinkling"
  • Backbone

    • Very small, very simple, easy to ship
    • Also very limited
  • Ember

    • Want what rails has: convention over configuration
  • 2012

    • "The Year Rubyists Wrote Off JS Libraries"
  • Stop Hiding From JavaScript

  • Things are Better

  • Omakase Strategy

    • Cache everything
    • Cached documents should have everything in them
    • Use JavaScript to "decorate" your cached documents
  • Very Static Templates

    • Not "Like Rails"
    • javascript becomes ad-hoc templating engine
  • Timestamps (The Omakase Strategy)

    • When the page updates, update the timestamps through javascript
  • Timestamps (The Ember Strategy)

    • Javascript generates the time (momentjs)
  • Data + JS = HTML

  • JSON + JS = HTML

  • JSON + template = HTML

  • Stop Hiding

  • Be Proud of Your Javascript