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