SlideShare une entreprise Scribd logo
1  sur  26
Why CoffeeScript?
FutureDev / Love’Script
TheFutureof 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
FutureDev / Love'Script
FutureDev / Love'Script
FutureDev / Love'Script

Contenu connexe

Tendances

Blogging in Business Sector
Blogging in Business SectorBlogging in Business Sector
Blogging in Business Sector
craig ross
 

Tendances (20)

Mistakes with words
Mistakes with wordsMistakes with words
Mistakes with words
 
Mistakes with words
Mistakes with wordsMistakes with words
Mistakes with words
 
Cyber-security tips: the heartbleed bug
Cyber-security tips: the heartbleed bugCyber-security tips: the heartbleed bug
Cyber-security tips: the heartbleed bug
 
Automating Deployments
Automating DeploymentsAutomating Deployments
Automating Deployments
 
Glide and APIs: a love story
Glide and APIs: a love storyGlide and APIs: a love story
Glide and APIs: a love story
 
Baby steps in an agile world
Baby steps in an agile worldBaby steps in an agile world
Baby steps in an agile world
 
Media slide 6
Media slide 6Media slide 6
Media slide 6
 
HTML Emails in Rails 3
HTML Emails in Rails 3HTML Emails in Rails 3
HTML Emails in Rails 3
 
#SydPHP - Pull Requests - The Good, The Bad & The Ugly
#SydPHP - Pull Requests - The Good, The Bad & The Ugly#SydPHP - Pull Requests - The Good, The Bad & The Ugly
#SydPHP - Pull Requests - The Good, The Bad & The Ugly
 
Build an App with JavaScript and jQuery (DTLA, 06/21)
Build an App with JavaScript and jQuery (DTLA, 06/21)Build an App with JavaScript and jQuery (DTLA, 06/21)
Build an App with JavaScript and jQuery (DTLA, 06/21)
 
Blogging in Business Sector
Blogging in Business SectorBlogging in Business Sector
Blogging in Business Sector
 
ReSharper: Discover the Secrets
ReSharper: Discover the SecretsReSharper: Discover the Secrets
ReSharper: Discover the Secrets
 
5 best practices for (web/ software) development (2010)
5 best practices for (web/ software) development (2010)5 best practices for (web/ software) development (2010)
5 best practices for (web/ software) development (2010)
 
Apache Camel & The Art of Entreprise Integration
Apache Camel & The Art of Entreprise IntegrationApache Camel & The Art of Entreprise Integration
Apache Camel & The Art of Entreprise Integration
 
I Got 99 Problems But CPAN Ain't One
I Got 99 Problems But CPAN Ain't OneI Got 99 Problems But CPAN Ain't One
I Got 99 Problems But CPAN Ain't One
 
Final java presentation
Final java presentationFinal java presentation
Final java presentation
 
Automatisez votre startup
Automatisez votre startupAutomatisez votre startup
Automatisez votre startup
 
Creating online pd that works
Creating online pd that worksCreating online pd that works
Creating online pd that works
 
Build a Game with JavaScript - Pasadena July
Build a Game with JavaScript - Pasadena JulyBuild a Game with JavaScript - Pasadena July
Build a Game with JavaScript - Pasadena July
 
Unit Tests Aren't Enough
Unit Tests Aren't EnoughUnit Tests Aren't Enough
Unit Tests Aren't Enough
 

En vedette

抗反思_逆對談── 例1-6
抗反思_逆對談── 例1-6抗反思_逆對談── 例1-6
抗反思_逆對談── 例1-6
lifeved
 
疑難2d──提問方式
疑難2d──提問方式疑難2d──提問方式
疑難2d──提問方式
lifeved
 
REDIculouS: Introduction to Redis
REDIculouS: Introduction to RedisREDIculouS: Introduction to Redis
REDIculouS: Introduction to Redis
pootsbook
 
Examen de writing
Examen de writingExamen de writing
Examen de writing
SaMiiiThoO
 
疑難1a── 單向教育的後遺症
疑難1a── 單向教育的後遺症疑難1a── 單向教育的後遺症
疑難1a── 單向教育的後遺症
lifeved
 
疑難2b──反思對談溝通法
疑難2b──反思對談溝通法疑難2b──反思對談溝通法
疑難2b──反思對談溝通法
lifeved
 
疑難2c──反思對談的目的
疑難2c──反思對談的目的疑難2c──反思對談的目的
疑難2c──反思對談的目的
lifeved
 
疑難2f──關鍵語_小明例子
疑難2f──關鍵語_小明例子疑難2f──關鍵語_小明例子
疑難2f──關鍵語_小明例子
lifeved
 
疑難2e──按格施教
疑難2e──按格施教疑難2e──按格施教
疑難2e──按格施教
lifeved
 
兒童事工──疑難一&二
兒童事工──疑難一&二兒童事工──疑難一&二
兒童事工──疑難一&二
lifeved
 
生命價值教育──兒童課程簡介
生命價值教育──兒童課程簡介生命價值教育──兒童課程簡介
生命價值教育──兒童課程簡介
lifeved
 

En vedette (17)

抗反思_逆對談── 例1-6
抗反思_逆對談── 例1-6抗反思_逆對談── 例1-6
抗反思_逆對談── 例1-6
 
疑難2d──提問方式
疑難2d──提問方式疑難2d──提問方式
疑難2d──提問方式
 
REDIculouS: Introduction to Redis
REDIculouS: Introduction to RedisREDIculouS: Introduction to Redis
REDIculouS: Introduction to Redis
 
High Speed Rails
High Speed RailsHigh Speed Rails
High Speed Rails
 
Examen de writing
Examen de writingExamen de writing
Examen de writing
 
疑難1a── 單向教育的後遺症
疑難1a── 單向教育的後遺症疑難1a── 單向教育的後遺症
疑難1a── 單向教育的後遺症
 
Cuento indu
Cuento induCuento indu
Cuento indu
 
疑難2b──反思對談溝通法
疑難2b──反思對談溝通法疑難2b──反思對談溝通法
疑難2b──反思對談溝通法
 
疑難2c──反思對談的目的
疑難2c──反思對談的目的疑難2c──反思對談的目的
疑難2c──反思對談的目的
 
Zet de manager naar je hand
Zet de manager naar je handZet de manager naar je hand
Zet de manager naar je hand
 
疑難2f──關鍵語_小明例子
疑難2f──關鍵語_小明例子疑難2f──關鍵語_小明例子
疑難2f──關鍵語_小明例子
 
Ember.js Basics
Ember.js BasicsEmber.js Basics
Ember.js Basics
 
疑難2e──按格施教
疑難2e──按格施教疑難2e──按格施教
疑難2e──按格施教
 
兒童事工──疑難一&二
兒童事工──疑難一&二兒童事工──疑難一&二
兒童事工──疑難一&二
 
生命價值教育──兒童課程簡介
生命價值教育──兒童課程簡介生命價值教育──兒童課程簡介
生命價值教育──兒童課程簡介
 
Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVC
 
Probabilistic PCA, EM, and more
Probabilistic PCA, EM, and moreProbabilistic PCA, EM, and more
Probabilistic PCA, EM, and more
 

Similaire à FutureDev / Love'Script

Happy Programming with CoffeeScript
Happy Programming with CoffeeScriptHappy Programming with CoffeeScript
Happy Programming with CoffeeScript
Eddie Kao
 
Coffeescript unfancy javascript
Coffeescript unfancy javascriptCoffeescript unfancy javascript
Coffeescript unfancy javascript
Dimitris Tsironis
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
Baruch Sadogursky
 
6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf
Be Problem Solver
 

Similaire à FutureDev / Love'Script (20)

Writing Bullet-Proof Javascript: By Using CoffeeScript
Writing Bullet-Proof Javascript: By Using CoffeeScriptWriting Bullet-Proof Javascript: By Using CoffeeScript
Writing Bullet-Proof Javascript: By Using CoffeeScript
 
Happy Programming with CoffeeScript
Happy Programming with CoffeeScriptHappy Programming with CoffeeScript
Happy Programming with CoffeeScript
 
frontend-161011205424 (1).pdf
frontend-161011205424 (1).pdffrontend-161011205424 (1).pdf
frontend-161011205424 (1).pdf
 
Web Development
Web DevelopmentWeb Development
Web Development
 
frontend-161011205424.pptx
frontend-161011205424.pptxfrontend-161011205424.pptx
frontend-161011205424.pptx
 
CoffeeScript the Awesome
CoffeeScript the AwesomeCoffeeScript the Awesome
CoffeeScript the Awesome
 
What is JavaScript? Edureka
What is JavaScript? EdurekaWhat is JavaScript? Edureka
What is JavaScript? Edureka
 
Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101
 
RingoJS: Server-Side Javascript When Only Java Will Do
RingoJS:  Server-Side Javascript When Only Java Will DoRingoJS:  Server-Side Javascript When Only Java Will Do
RingoJS: Server-Side Javascript When Only Java Will Do
 
Coffeescript unfancy javascript
Coffeescript unfancy javascriptCoffeescript unfancy javascript
Coffeescript unfancy javascript
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
End to-End CoffeeScript
End to-End CoffeeScriptEnd to-End CoffeeScript
End to-End CoffeeScript
 
Codecinella / Using CodePen to learn, prototype and inspire the front end
Codecinella / Using CodePen to learn, prototype and inspire the front endCodecinella / Using CodePen to learn, prototype and inspire the front end
Codecinella / Using CodePen to learn, prototype and inspire the front end
 
6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf
 
Coffee script throwdown
Coffee script throwdownCoffee script throwdown
Coffee script throwdown
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
Eclipse@eBay
Eclipse@eBayEclipse@eBay
Eclipse@eBay
 
Js basics
Js basicsJs basics
Js basics
 
Ember
EmberEmber
Ember
 
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

FutureDev / Love'Script