SlideShare a Scribd company logo
1 of 20
WHO AM I?
Rob Taylor
Software Engineer & Technologist
•   16 years in the field
     • Browser Applications
     • Server Applications
     • Mobile Applications
     • Architecture
•   Training
     • Trends
     • New Technologies
•   Luv learning new things
THE JOURNEY
WHAT HAS HAPPENED
RECENTLY?
A NEW ERA…
WEB APPS ARE GETTING
MORE INTELLIGENT
WHAT’S NEXT?
WEB APPLICATIONS
HTML CHALLENGES
                                                    Yes, it really is
                                                     time to move
                                                         on…

Designed around building web sites
Developers want
   •   Single page applications
   •   No page refresh
   •   Separation of code
   •   Structure (MVC)
   •   Application design patterns
   •   Service Integration (RESTful Web Services)
WE WANT TO BUILD APPS IN
     THE BROWSER
WEB APP SOLUTIONS?
Emergence of many JavaScript Frameworks
   •   Backbone
   •   Knockout
                                Ooooh. So
   •   Batman                  many choices!
   •   Sencha Ext
   •   SproutCore
   •   Spine
   •   Sammy
   •   Ember
   •   Cappuccino
   •   and the list goes on…
AND NOW…

    YAJF (Yet Another JavaScript Framework)?




                  Not really…
MY LITMUS TEST
1.   Low barrier to entry
2.   Intuitive API and Syntax
3.   MVC (Model-View-Controller)
4.   Code Organization
5.   Data Binding
6.   Event Dispatching
7.   Templates
8.   Still leverages HTML and CSS (doesn’t try to hide it)
9.   Single code base for desktop browsers and mobile device
10. Team collaboration
11. Can be used with other solutions (jQuery, jQuery Mobile, other 3rd
    party JavaScript libraries and widgets)
12. Active community and/or commercial support
MY LITMUS TEST (SIMPLIFIED)

   Can I build the same application on these
   devices with the same client code base?




  Browser        Smart Phone           Tablet
MY RESULTS
I had eventually settled on Backbone.js
                                          Shortcomings
                                          •   Hard to separate view from
                                              controller
                                          •   No data binding
                                          •   Templates replaced entire
                                              sections on events



With Knockout.js in a very close second   Shortcomings
                                          •   Data-binding required some
                                              setup
                                          •   MVVM approach vs. MVC
                                              approach
                                          •   Syntax is not as approachable
                                              as others frameworks
THEN I FOUND…




     It passed the my litmus test even though it
     was in early beta.

     And now that it is at a 1.0, it has gotten
     even better!
MY LITMUS TEST
  Low barrier to entry
  Intuitive API and Syntax
  MVC (Model-View-Controller)
  Code Organization
  Data Binding
  Event Dispatching
  Templates
  Still leverages HTML and CSS (doesn’t try to hide it)
  Single code base for desktop browsers and mobile device
  Team collaboration
  Can be used with other solutions (jQuery, jQuery Mobile, other 3rd party
  JavaScript libraries and widgets)
  Active community and/or commercial support


Could improve
WHAT YOU WILL SEE TODAY




       Breakdown of MVC (Model-View-Controller)
       Data Binding
       Use of templates
       Routing
       Shared Data
       Web service connectivity to a database
QUESTIONS?




  Rob Taylor
  roboncode@gmail.com
  Twitter: @roboncode
  http://roboncode.com
THANK YOU!




  Rob Taylor
  roboncode@gmail.com
  Twitter: @roboncode
  http://roboncode.com

More Related Content

What's hot

Component based Progress Programming
Component based Progress ProgrammingComponent based Progress Programming
Component based Progress ProgrammingValentin Duricu
 
React - поглянемо по іншому на V в MVC
React - поглянемо по іншому на V в MVCReact - поглянемо по іншому на V в MVC
React - поглянемо по іншому на V в MVCStfalcon Meetups
 
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Codemotion
 
Developing SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJSDeveloping SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJSAlvaro Sanchez-Mariscal
 
Introduce MVVM & How to implement it in your iOS app
Introduce MVVM & How to implement it in your iOS appIntroduce MVVM & How to implement it in your iOS app
Introduce MVVM & How to implement it in your iOS appHarvey Hu
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentSuresh Patidar
 
Comparative analysis of java script framework
Comparative analysis of java script frameworkComparative analysis of java script framework
Comparative analysis of java script frameworkNishant Kumar
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) Sascha Sambale
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...Hariharan Ganesan
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack developmentScott Lee
 
Migrating MVVM Applications to HTML5
Migrating MVVM Applications to HTML5Migrating MVVM Applications to HTML5
Migrating MVVM Applications to HTML5Chris Bannon
 
Common Sense Driven Development
Common Sense Driven DevelopmentCommon Sense Driven Development
Common Sense Driven DevelopmentBozhidar Bozhanov
 

What's hot (20)

MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Component based Progress Programming
Component based Progress ProgrammingComponent based Progress Programming
Component based Progress Programming
 
React - поглянемо по іншому на V в MVC
React - поглянемо по іншому на V в MVCReact - поглянемо по іншому на V в MVC
React - поглянемо по іншому на V в MVC
 
MEAN Stack
MEAN Stack MEAN Stack
MEAN Stack
 
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
 
Developing SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJSDeveloping SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJS
 
Introduce MVVM & How to implement it in your iOS app
Introduce MVVM & How to implement it in your iOS appIntroduce MVVM & How to implement it in your iOS app
Introduce MVVM & How to implement it in your iOS app
 
Single-page applications and Grails
Single-page applications and GrailsSingle-page applications and Grails
Single-page applications and Grails
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
 
Comparative analysis of java script framework
Comparative analysis of java script frameworkComparative analysis of java script framework
Comparative analysis of java script framework
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
Asp.net mvc 4
Asp.net mvc 4Asp.net mvc 4
Asp.net mvc 4
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
Migrating MVVM Applications to HTML5
Migrating MVVM Applications to HTML5Migrating MVVM Applications to HTML5
Migrating MVVM Applications to HTML5
 
Common Sense Driven Development
Common Sense Driven DevelopmentCommon Sense Driven Development
Common Sense Driven Development
 
XAML/C# to HTML5/JS
XAML/C#  to HTML5/JS XAML/C#  to HTML5/JS
XAML/C# to HTML5/JS
 
Top java script frameworks ppt
Top java script frameworks pptTop java script frameworks ppt
Top java script frameworks ppt
 
Mozilla Prism
Mozilla PrismMozilla Prism
Mozilla Prism
 
The shift to the edge
The shift to the edgeThe shift to the edge
The shift to the edge
 

Viewers also liked (9)

резюме
резюмерезюме
резюме
 
Sin título 1
Sin título 1Sin título 1
Sin título 1
 
FDI
FDIFDI
FDI
 
Career presentation
Career presentationCareer presentation
Career presentation
 
Alphabetic code for classroom display
Alphabetic code for classroom displayAlphabetic code for classroom display
Alphabetic code for classroom display
 
Madrid españa
Madrid españaMadrid españa
Madrid españa
 
Happymovilpresentación
HappymovilpresentaciónHappymovilpresentación
Happymovilpresentación
 
Lan and wan
Lan and wanLan and wan
Lan and wan
 
Dc motor
Dc motorDc motor
Dc motor
 

Similar to AngularJS UTOSC

Java Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.CatagorizedJava Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.Catagorizedroialdaag
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Reviewnetc2012
 
Mobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesMobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesQamar Abbas
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015MSDEVMTL
 
IBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksIBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksDejan Glozic
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web FrameworksSarika Jadhav
 
Lightweight webdev
Lightweight webdevLightweight webdev
Lightweight webdevdamianofusco
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014Ryan Cuprak
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Mayank Srivastava
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node jsHabilelabs
 
Advanced MVVM in Windows 8
Advanced MVVM in Windows 8Advanced MVVM in Windows 8
Advanced MVVM in Windows 8Gill Cleeren
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React NativeMike Melusky
 

Similar to AngularJS UTOSC (20)

Java Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.CatagorizedJava Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.Catagorized
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
Spring Into the Cloud
Spring Into the CloudSpring Into the Cloud
Spring Into the Cloud
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
 
React Tech Salon
React Tech SalonReact Tech Salon
React Tech Salon
 
Mvc3 part1
Mvc3   part1Mvc3   part1
Mvc3 part1
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
 
Mobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesMobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelines
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015
 
IBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksIBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New Tricks
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
Lightweight webdev
Lightweight webdevLightweight webdev
Lightweight webdev
 
Angular js gtg-27feb2013
Angular js gtg-27feb2013Angular js gtg-27feb2013
Angular js gtg-27feb2013
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Advanced MVVM in Windows 8
Advanced MVVM in Windows 8Advanced MVVM in Windows 8
Advanced MVVM in Windows 8
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

AngularJS UTOSC

  • 1.
  • 2. WHO AM I? Rob Taylor Software Engineer & Technologist • 16 years in the field • Browser Applications • Server Applications • Mobile Applications • Architecture • Training • Trends • New Technologies • Luv learning new things
  • 6. WEB APPS ARE GETTING MORE INTELLIGENT
  • 9. HTML CHALLENGES Yes, it really is time to move on… Designed around building web sites Developers want • Single page applications • No page refresh • Separation of code • Structure (MVC) • Application design patterns • Service Integration (RESTful Web Services)
  • 10. WE WANT TO BUILD APPS IN THE BROWSER
  • 11. WEB APP SOLUTIONS? Emergence of many JavaScript Frameworks • Backbone • Knockout Ooooh. So • Batman many choices! • Sencha Ext • SproutCore • Spine • Sammy • Ember • Cappuccino • and the list goes on…
  • 12. AND NOW… YAJF (Yet Another JavaScript Framework)? Not really…
  • 13. MY LITMUS TEST 1. Low barrier to entry 2. Intuitive API and Syntax 3. MVC (Model-View-Controller) 4. Code Organization 5. Data Binding 6. Event Dispatching 7. Templates 8. Still leverages HTML and CSS (doesn’t try to hide it) 9. Single code base for desktop browsers and mobile device 10. Team collaboration 11. Can be used with other solutions (jQuery, jQuery Mobile, other 3rd party JavaScript libraries and widgets) 12. Active community and/or commercial support
  • 14. MY LITMUS TEST (SIMPLIFIED) Can I build the same application on these devices with the same client code base? Browser Smart Phone Tablet
  • 15. MY RESULTS I had eventually settled on Backbone.js Shortcomings • Hard to separate view from controller • No data binding • Templates replaced entire sections on events With Knockout.js in a very close second Shortcomings • Data-binding required some setup • MVVM approach vs. MVC approach • Syntax is not as approachable as others frameworks
  • 16. THEN I FOUND… It passed the my litmus test even though it was in early beta. And now that it is at a 1.0, it has gotten even better!
  • 17. MY LITMUS TEST Low barrier to entry Intuitive API and Syntax MVC (Model-View-Controller) Code Organization Data Binding Event Dispatching Templates Still leverages HTML and CSS (doesn’t try to hide it) Single code base for desktop browsers and mobile device Team collaboration Can be used with other solutions (jQuery, jQuery Mobile, other 3rd party JavaScript libraries and widgets) Active community and/or commercial support Could improve
  • 18. WHAT YOU WILL SEE TODAY  Breakdown of MVC (Model-View-Controller)  Data Binding  Use of templates  Routing  Shared Data  Web service connectivity to a database
  • 19. QUESTIONS? Rob Taylor roboncode@gmail.com Twitter: @roboncode http://roboncode.com
  • 20. THANK YOU! Rob Taylor roboncode@gmail.com Twitter: @roboncode http://roboncode.com