introduction to javascriptmvc
DESCRIPTION
TRANSCRIPT
![Page 1: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/1.jpg)
The presentation is about to start...
Saturday, May 14, 2011
![Page 2: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/2.jpg)
JavaScriptMVCPedro Pimentel
Saturday, May 14, 2011
![Page 3: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/3.jpg)
What I do
ThoughtWorks
Ruby
@zukunftsalick
Shy
Saturday, May 14, 2011
![Page 4: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/4.jpg)
Who are you
Saturday, May 14, 2011
![Page 5: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/5.jpg)
Who are you
Uses Javascript as your main dev language
Saturday, May 14, 2011
![Page 6: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/6.jpg)
Who are you
Uses Javascript as your main dev language
Above average Javascript devs
Saturday, May 14, 2011
![Page 7: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/7.jpg)
Who are you
Uses Javascript as your main dev language
Above average Javascript devs
Average Javascript devs
Saturday, May 14, 2011
![Page 8: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/8.jpg)
Who are you
Uses Javascript as your main dev language
Above average Javascript devs
Average Javascript devs
Doesn’t know Javascript
Saturday, May 14, 2011
![Page 9: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/9.jpg)
Agenda
• Needs for a framework
• Tested ones
• JMVC itself
• Show me some code!
Saturday, May 14, 2011
![Page 10: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/10.jpg)
Need
Saturday, May 14, 2011
![Page 11: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/11.jpg)
(Saturday, May 14, 2011
![Page 12: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/12.jpg)
StructureSaturday, May 14, 2011
![Page 13: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/13.jpg)
We observe a pattern
Saturday, May 14, 2011
![Page 14: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/14.jpg)
We observe a pattern
We create abstractions and generalizations
Saturday, May 14, 2011
![Page 15: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/15.jpg)
We observe a pattern
We create abstractions and generalizations
We turn those abstractions into a framework
Saturday, May 14, 2011
![Page 16: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/16.jpg)
We observe a pattern
We create abstractions and generalizations
We turn those abstractions into a framework
The framework becomes a golden hammer
Saturday, May 14, 2011
![Page 17: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/17.jpg)
We observe a pattern
We create abstractions and generalizations
We turn those abstractions into a framework
The framework becomes a golden hammer
People start subverting the framework
Saturday, May 14, 2011
![Page 18: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/18.jpg)
Once upon a time ...
“The architects used all technologies of the heavens and earth they hadn’t got round to the first time. “
Saturday, May 14, 2011
![Page 19: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/19.jpg)
Once upon a time ...
“The architects used all technologies of the heavens and earth they hadn’t got round to the first time. “
The simple new() was replaced by a Factory
Saturday, May 14, 2011
![Page 20: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/20.jpg)
Once upon a time ...
“The architects used all technologies of the heavens and earth they hadn’t got round to the first time. “
The simple new() was replaced by a Factory
Which was replaced by Dependency Injection
Saturday, May 14, 2011
![Page 21: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/21.jpg)
Once upon a time ...
“The architects used all technologies of the heavens and earth they hadn’t got round to the first time. “
The simple new() was replaced by a Factory
Which was replaced by Dependency Injection
Which was replaced by an IOC container
Saturday, May 14, 2011
![Page 22: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/22.jpg)
Once upon a time ...
“The architects used all technologies of the heavens and earth they hadn’t got round to the first time. “
The simple new() was replaced by a Factory
Which was replaced by Dependency Injection
Which was replaced by an IOC container
Which was improved by XML configuration
Saturday, May 14, 2011
![Page 23: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/23.jpg)
Once upon a time ...
“The architects used all technologies of the heavens and earth they hadn’t got round to the first time. “
The simple new() was replaced by a Factory
Which was replaced by Dependency Injection
Which was replaced by an IOC container
Which was improved by XML configuration
Which was supplemented by @annotations
Saturday, May 14, 2011
![Page 24: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/24.jpg)
And then theyRESTed
Saturday, May 14, 2011
![Page 25: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/25.jpg)
)Saturday, May 14, 2011
![Page 26: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/26.jpg)
Ruby~40 people
28 devs> 10 data sources
Saturday, May 14, 2011
![Page 27: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/27.jpg)
Pivot Table
Saturday, May 14, 2011
![Page 28: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/28.jpg)
Saturday, May 14, 2011
![Page 29: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/29.jpg)
Saturday, May 14, 2011
![Page 30: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/30.jpg)
Saturday, May 14, 2011
![Page 31: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/31.jpg)
Saturday, May 14, 2011
![Page 32: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/32.jpg)
Saturday, May 14, 2011
![Page 33: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/33.jpg)
Saturday, May 14, 2011
![Page 34: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/34.jpg)
Saturday, May 14, 2011
![Page 35: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/35.jpg)
FuncUnit
Saturday, May 14, 2011
![Page 36: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/36.jpg)
StealJS
Saturday, May 14, 2011
![Page 37: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/37.jpg)
jQueryMX
Saturday, May 14, 2011
![Page 38: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/38.jpg)
DocumentJS
Saturday, May 14, 2011
![Page 39: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/39.jpg)
Similarities with Rails
Saturday, May 14, 2011
![Page 40: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/40.jpg)
js steal/generate/app app_name
rails new app_name
js steal/generate/controller App_name.Controllers.Name
js steal/generate/model App_name.Models.Name
rails generate controller Name
rails generate model Name
JavascriptMVC
Rails
js steal/getjs url_from_git_or_svn
rails plugin install name_or_git_svn_url
Saturday, May 14, 2011
![Page 41: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/41.jpg)
JavascriptMVC Rails
Saturday, May 14, 2011
![Page 42: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/42.jpg)
JavascriptMVC Rails
EJS <h2><%= foo %></h2> ERB
JAML h2(data.foo)
Micro <h2>{% foo %}</h2>
jQuery.Tmpl <h2>${foo}</h2>
Saturday, May 14, 2011
![Page 43: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/43.jpg)
JavaScriptMVC is not Rails
Saturday, May 14, 2011
![Page 44: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/44.jpg)
守 破 離shu ha ri
Saturday, May 14, 2011
![Page 45: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/45.jpg)
...
Saturday, May 14, 2011
![Page 46: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/46.jpg)
?
Saturday, May 14, 2011
![Page 47: Introduction to JavaScriptMVC](https://reader034.vdocuments.net/reader034/viewer/2022051818/5494c924ac7959042e8b4c9a/html5/thumbnails/47.jpg)
Thank you!@zukunftsalick
Saturday, May 14, 2011