futuredev / love'script
DESCRIPTION
Delivered at Newcastle Ruby Group on 20th July 2011. Brief overview of the rise of JavaScript in web development and how backbone.js will allow Rails developers to use JavaScript without ditching Rails.TRANSCRIPT
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