Why CoffeeScript?
FutureDev / Love’Script
The Future of Web Development:Learn to love
/(Coffee|Java)script/
The Future of Web Development:Learn to love
/(Coffee|Java)script/
This presentation IS
• High-level– Theory & Trends
• Ambivalent to CoffeeScript• About Rails & JavaScript
This presentation IS NOT
• In depth• An intro to CoffeeScript• Starting a flame war
The WebDev Landscape
Rails
• Models– Heavy lifting
• Controllers & Routing– Calling the shots
• Views– Looking good
AJAX before Rails 3
• Just let Rails do it’s thing• ActionView::Helpers::PrototypeHelper
– _remote_ Control
AJAX after Rails 3
• GET OUTA’ MY FACE!• Unobtrusive JavaScript with jQuery• ActionView::Helpers::JavaScriptHelper
• Go roll your own…
Can we do THAT?!
• But Facebook does it, it can’t be that hard.
• Ohhh, just add that.• And that….• And that…..• Awesome.
Convoluted Code
• You just cooked yourself up some spaghetti.
• JS becomes unmaintainable• You start playing Jenga with code• You hate it
There MUST be a better way
• Sproutcore?• Cappuccino?• Uki?• Qooxdoo?• GWT?
• But that all goes away from Rails.
It’s all JavaScript
• JavaScript runs in the client/browser• It’s is incredibly fast• It can run on the server
• BUT if you’re building on Rails, you have to duplicate all your domain logic.
Web Development Sucks
• “The core of the problem revolves around the most exciting domain in web application development today: Javascript. The explosion of Javascript has given rise to amazing applications of stellar quality for quite some time now, but I see them coming only from teams with gobs of time and expertise.”
• http://harry.me/2011/01/27/today-web-development-sucks/
The next DHH?
“I see an opportunity for the next DHH to rise.”
What about DHH?
JavaScript Framework?!Yes Please.
Basecamp Mobile
CoffeeScript in Rails 3, April
Cinco
• Backbone.js (JS MVC)• Zepto (Lightweight DOM lib)• Eco (Templating)• Stitch (Dev, Testing,
Compilation)
Peepcode launch 3-part series
ThoughtBot get involved
$39
Recommended