SlideShare a Scribd company logo
1 of 47
Download to read offline
The presentation is
                          about to start...


Saturday, May 14, 2011
JavaScriptMVC
                            Pedro Pimentel




Saturday, May 14, 2011
What I do
                   ThoughtWorks

                   Ruby

                  @zukunftsalick

                  Shy




Saturday, May 14, 2011
Who are you




Saturday, May 14, 2011
Who are you
                         Uses Javascript as your main dev language




Saturday, May 14, 2011
Who are you
                         Uses Javascript as your main dev language
                         Above average Javascript devs




Saturday, May 14, 2011
Who are you
                         Uses Javascript as your main dev language
                         Above average Javascript devs
                         Average Javascript devs




Saturday, May 14, 2011
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
Agenda
                         •   Needs for a framework

                         •   Tested ones

                         •   JMVC itself

                         •   Show me some code!




Saturday, May 14, 2011
Need



Saturday, May 14, 2011
(
Saturday, May 14, 2011
Structure
Saturday, May 14, 2011
We observe a pattern




Saturday, May 14, 2011
We observe a pattern
                    We create abstractions and generalizations




Saturday, May 14, 2011
We observe a pattern
                    We create abstractions and generalizations
                    We turn those abstractions into a framework




Saturday, May 14, 2011
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
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
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
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
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
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
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
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
And then they
                           RESTed


Saturday, May 14, 2011
)
Saturday, May 14, 2011
Ruby
                            ~40 people
                              28 devs
                         > 10 data sources

Saturday, May 14, 2011
Pivot Table



Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
FuncUnit



Saturday, May 14, 2011
StealJS



Saturday, May 14, 2011
jQueryMX



Saturday, May 14, 2011
DocumentJS



Saturday, May 14, 2011
Similarities with Rails



Saturday, May 14, 2011
JavascriptMVC
    js steal/generate/app app_name
    js steal/generate/controller App_name.Controllers.Name
    js steal/generate/model App_name.Models.Name
     js steal/getjs url_from_git_or_svn




     Rails
    rails new app_name
    rails generate controller Name
    rails generate model Name
    rails plugin install name_or_git_svn_url


Saturday, May 14, 2011
JavascriptMVC    Rails




Saturday, May 14, 2011
JavascriptMVC                     Rails

           EJS <h2><%= foo %></h2>         ERB

            JAML h2(data.foo)

            Micro <h2>{% foo %}</h2>

            jQuery.Tmpl <h2>${foo}</h2>



Saturday, May 14, 2011
JavaScriptMVC is not Rails



Saturday, May 14, 2011
shu   ha   ri




Saturday, May 14, 2011
...



Saturday, May 14, 2011
?

Saturday, May 14, 2011
Thank you!
                           @zukunftsalick




Saturday, May 14, 2011

More Related Content

Viewers also liked

Germany vs Argentina FIFA World Cup 2014 Final HD
Germany vs Argentina FIFA World Cup 2014 Final HDGermany vs Argentina FIFA World Cup 2014 Final HD
Germany vs Argentina FIFA World Cup 2014 Final HDcassieibellie
 
Audience theories
Audience theoriesAudience theories
Audience theoriesJo H
 
RFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
RFID Based Job Tracking Mobile Application that Eliminates Handwritten NotesRFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
RFID Based Job Tracking Mobile Application that Eliminates Handwritten NotesMike Taylor
 
Accelerated Grid Theming
Accelerated Grid ThemingAccelerated Grid Theming
Accelerated Grid ThemingNathan Smith
 
Top 10 tips on writing a professional cv
Top 10 tips on writing a professional cvTop 10 tips on writing a professional cv
Top 10 tips on writing a professional cvAbout Thesis Writing
 

Viewers also liked (6)

Germany vs Argentina FIFA World Cup 2014 Final HD
Germany vs Argentina FIFA World Cup 2014 Final HDGermany vs Argentina FIFA World Cup 2014 Final HD
Germany vs Argentina FIFA World Cup 2014 Final HD
 
Audience theories
Audience theoriesAudience theories
Audience theories
 
Vincent wilson ppt
Vincent wilson pptVincent wilson ppt
Vincent wilson ppt
 
RFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
RFID Based Job Tracking Mobile Application that Eliminates Handwritten NotesRFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
RFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
 
Accelerated Grid Theming
Accelerated Grid ThemingAccelerated Grid Theming
Accelerated Grid Theming
 
Top 10 tips on writing a professional cv
Top 10 tips on writing a professional cvTop 10 tips on writing a professional cv
Top 10 tips on writing a professional cv
 

Similar to Introduction to JavaScriptMVC

Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011Helgi Þormar Þorbjörnsson
 
JavaScript por debaixo dos panos
JavaScript por debaixo dos panosJavaScript por debaixo dos panos
JavaScript por debaixo dos panosDouglas Campos
 
Desenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery MobileDesenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery MobileBruno Oliveira
 
Oop design magma rails 2011
Oop design   magma rails 2011Oop design   magma rails 2011
Oop design magma rails 2011MagmaConf
 
Carton CPAN dependency manager
Carton CPAN dependency managerCarton CPAN dependency manager
Carton CPAN dependency managerTatsuhiko Miyagawa
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegekadieterdm
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackabilityPuppet
 
Sinsai.info Global ICT summit
Sinsai.info   Global ICT summitSinsai.info   Global ICT summit
Sinsai.info Global ICT summitHal Seki
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywoodehuard
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THISMononcQc
 
HTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex DevelopersHTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex DevelopersRyan Stewart
 
Discussing Java's Future
Discussing Java's FutureDiscussing Java's Future
Discussing Java's FutureRay Gauss
 
201107 sea js-d2-show
201107 sea js-d2-show201107 sea js-d2-show
201107 sea js-d2-showtaobao.com
 
Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"Jonathan Julian
 

Similar to Introduction to JavaScriptMVC (20)

Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011
 
JavaScript por debaixo dos panos
JavaScript por debaixo dos panosJavaScript por debaixo dos panos
JavaScript por debaixo dos panos
 
Desenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery MobileDesenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery Mobile
 
Oop design magma rails 2011
Oop design   magma rails 2011Oop design   magma rails 2011
Oop design magma rails 2011
 
Namesmatter
NamesmatterNamesmatter
Namesmatter
 
Carton CPAN dependency manager
Carton CPAN dependency managerCarton CPAN dependency manager
Carton CPAN dependency manager
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackability
 
Sinsai.info Global ICT summit
Sinsai.info   Global ICT summitSinsai.info   Global ICT summit
Sinsai.info Global ICT summit
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THIS
 
HTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex DevelopersHTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex Developers
 
JavaScript Landscape
JavaScript LandscapeJavaScript Landscape
JavaScript Landscape
 
Frontend caching - PHP Day, Italy, 2011
Frontend caching - PHP Day, Italy, 2011Frontend caching - PHP Day, Italy, 2011
Frontend caching - PHP Day, Italy, 2011
 
Discussing Java's Future
Discussing Java's FutureDiscussing Java's Future
Discussing Java's Future
 
Beyond Page Objects
Beyond Page ObjectsBeyond Page Objects
Beyond Page Objects
 
MILOFest 2010
MILOFest 2010MILOFest 2010
MILOFest 2010
 
The Evented Web
The Evented WebThe Evented Web
The Evented Web
 
201107 sea js-d2-show
201107 sea js-d2-show201107 sea js-d2-show
201107 sea js-d2-show
 
Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Introduction to JavaScriptMVC

  • 1. The presentation is about to start... Saturday, May 14, 2011
  • 2. JavaScriptMVC Pedro Pimentel Saturday, May 14, 2011
  • 3. What I do ThoughtWorks Ruby @zukunftsalick Shy Saturday, May 14, 2011
  • 4. Who are you Saturday, May 14, 2011
  • 5. Who are you Uses Javascript as your main dev language Saturday, May 14, 2011
  • 6. Who are you Uses Javascript as your main dev language Above average Javascript devs Saturday, May 14, 2011
  • 7. Who are you Uses Javascript as your main dev language Above average Javascript devs Average Javascript devs Saturday, May 14, 2011
  • 8. 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
  • 9. Agenda • Needs for a framework • Tested ones • JMVC itself • Show me some code! Saturday, May 14, 2011
  • 13. We observe a pattern Saturday, May 14, 2011
  • 14. We observe a pattern We create abstractions and generalizations Saturday, May 14, 2011
  • 15. We observe a pattern We create abstractions and generalizations We turn those abstractions into a framework Saturday, May 14, 2011
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. And then they RESTed Saturday, May 14, 2011
  • 26. Ruby ~40 people 28 devs > 10 data sources Saturday, May 14, 2011
  • 40. JavascriptMVC js steal/generate/app app_name js steal/generate/controller App_name.Controllers.Name js steal/generate/model App_name.Models.Name js steal/getjs url_from_git_or_svn Rails rails new app_name rails generate controller Name rails generate model Name rails plugin install name_or_git_svn_url Saturday, May 14, 2011
  • 41. JavascriptMVC Rails Saturday, May 14, 2011
  • 42. JavascriptMVC Rails EJS <h2><%= foo %></h2> ERB JAML h2(data.foo) Micro <h2>{% foo %}</h2> jQuery.Tmpl <h2>${foo}</h2> Saturday, May 14, 2011
  • 43. JavaScriptMVC is not Rails Saturday, May 14, 2011
  • 44. shu ha ri Saturday, May 14, 2011
  • 47. Thank you! @zukunftsalick Saturday, May 14, 2011