SlideShare a Scribd company logo
1 of 14
Your Cloud. 
Your Business. 
Top 10 Reasons to Learn AngularJS 
Jeremy Likness 
Principal Architect 
@JeremyLikness
What is AngularJS? 
• https://www.angularjs.org/ 
• Self-proclaimed super-heroic JavaScript framework that teaches 
HTML5 new tricks 
• Trending to be one of the most popular frameworks around
1. Got XAML? Come to Angular! 
• AngularJS is declarative (like XAML) 
• IValueConverter = Angular’s Filter 
• Control = Angular’s Directive 
• AngularJS Supports Two-Way Binding 
• True Design/Developer Separation
2. Less Ritual and Ceremony 
• This is an entire self-contained AngularJS app that echoes your input 
using data-binding: 
<script 
src="http://code.angularjs.org/1.2.9/angular.js"></script> 
<div ng-app><input type="text" ng-model=" 
txt"/><span>{{txt}}</span></div> 
• Here’s the proof: http://jsfiddle.net/jeremylikness/BzmfT/ 
• Dirty-tracking means less ceremony and ritual in your setup 
• One Google developer rewrote 6 months, 17,000 lines of code in 3 
weeks and shrank it down to 1,500 lines of code
3. Dependency Injection 
• Dependency Injection is provided with Angular “out of the box” 
• Includes mock objects for things like web service (HTTP) calls for 
true, easy-to-write unit tests 
• Learn more here: 
http://csharperimage.jeremylikness.com/2014/06/dependency-injection- 
explained-via.html 
and here: 
http://csharperimage.jeremylikness.com/2014/08/angularjs-lifetime- 
management-lazy.html
4. Declarative UI 
• HTML is declarative 
• Original goal of AngularJS was to allow non-developers to be 
able to set up filters, tags, and other functionality 
• Keeps presentation logic declarative and separate from the 
imperative business logic 
• This approach reduces side effects 
• Enables a cleaner developer/designer workflow
5. ‘DD … Test- and Behavior-Driven Dev 
• AngularJS has its own test suite 
• Ready to test out of the box 
• Plays well with popular frameworks like QUnit and Jasmine 
• Has its own testing framework (Protractor) 
• Data-binding makes it easier to test presentation logic independent of 
the UI/view 
• Everything is testable, including filters and directives (“controls”) 
• See tests for a 6502 emulator written in AngularJS: 
http://apps.jeremylikness.com/apps/t6502/
6. Massively Parallel Development 
• Many people complain about JavaScript in the enterprise 
because it’s not scalable and being dynamic makes it difficult to 
manage 
• Independent of AngularJS, solutions like CoffeeScript and 
TypeScript can help 
• With AngularJS the modular approach makes it really easy to 
architect the system to allow massive parallel development 
• Personally worked on project with 25+ globally distributed 
developers working on over 80,000 lines of client code
7. Designer/Developer Workflow 
• Don’t just scale within development. Scale across teams! 
• HTML and CSS hold the design for the app. 
• The app is declarative so designers don’t need to learn 
JavaScript to modify the design. 
• Data-binding provides a “design contract” – if you know you are 
working with data elements you can build functionality before 
the design is even available or ready without worrying about 
significant refactoring or rework.
8. Controls (Directives) 
• Web Components are part of ECMAScript 6 “Harmony” but not 
yet “current” for browsers 
• Polymer from Google is also a forward-looking framework 
• Directives in AngularJS are available right now 
• Have a special way to handle selection boxes, masked input, or 
other logic? Contain it in a control to reuse across modules nad 
projects. 
• Directives are testable, can be worked on in parallel, extend the 
UI declaratively and participate in dependency injection
9. State 
• HTTP is a stateless protocol 
• ASP.NET WebForms hide state using “view state” etc. 
• MVC goes “back to the basics” but some people find state 
management to be a challenge 
• Single Page Applications (SPA) address this 
• AngularJS supports SPA, HTTP, and AJAX concepts out of the 
box. Interact with services as a state of a running app and don’t 
worry about cookies or long URLs
10. Single Page Apps (SPA)! 
• Yeah, I said it 
• Not required for AngularJS but what it is best known for 
• ngRoute gives routing out of the box 
• ngView gives you a placeholder 
• ui-router gives even more control with nested views and state 
management 
• Full support for asynchronous loading of routes and resolution 
of asynchronous calls before rendering your templates
Conclusion 
• Read the full article: 
http://csharperimage.jeremylikness.com/2013/09/10-reasons-web- 
developers-should-learn.html 
• These points are based on real-world experience using 
AngularJS on large enterprise apps 
• Watch the full course to master AngularJS here: 
http://bit.ly/masterang 
• AngularJS and TypeScript are better together!
Questions? 
More Angular Projects and Examples: 
https://www.github.com/jeremylikness 
Email me to learn more: 
jlikness@ivision.com 
Jeremy Likness, Principal Architect @JeremyLikness

More Related Content

Recently uploaded

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 SolutionsEnterprise Knowledge
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[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.pdfhans926745
 
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 AutomationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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 MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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 Nanonetsnaman860154
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

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
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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...
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Featured

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

The Top 10 Reasons Web Developers Should Learn Angular

  • 1. Your Cloud. Your Business. Top 10 Reasons to Learn AngularJS Jeremy Likness Principal Architect @JeremyLikness
  • 2. What is AngularJS? • https://www.angularjs.org/ • Self-proclaimed super-heroic JavaScript framework that teaches HTML5 new tricks • Trending to be one of the most popular frameworks around
  • 3. 1. Got XAML? Come to Angular! • AngularJS is declarative (like XAML) • IValueConverter = Angular’s Filter • Control = Angular’s Directive • AngularJS Supports Two-Way Binding • True Design/Developer Separation
  • 4. 2. Less Ritual and Ceremony • This is an entire self-contained AngularJS app that echoes your input using data-binding: <script src="http://code.angularjs.org/1.2.9/angular.js"></script> <div ng-app><input type="text" ng-model=" txt"/><span>{{txt}}</span></div> • Here’s the proof: http://jsfiddle.net/jeremylikness/BzmfT/ • Dirty-tracking means less ceremony and ritual in your setup • One Google developer rewrote 6 months, 17,000 lines of code in 3 weeks and shrank it down to 1,500 lines of code
  • 5. 3. Dependency Injection • Dependency Injection is provided with Angular “out of the box” • Includes mock objects for things like web service (HTTP) calls for true, easy-to-write unit tests • Learn more here: http://csharperimage.jeremylikness.com/2014/06/dependency-injection- explained-via.html and here: http://csharperimage.jeremylikness.com/2014/08/angularjs-lifetime- management-lazy.html
  • 6. 4. Declarative UI • HTML is declarative • Original goal of AngularJS was to allow non-developers to be able to set up filters, tags, and other functionality • Keeps presentation logic declarative and separate from the imperative business logic • This approach reduces side effects • Enables a cleaner developer/designer workflow
  • 7. 5. ‘DD … Test- and Behavior-Driven Dev • AngularJS has its own test suite • Ready to test out of the box • Plays well with popular frameworks like QUnit and Jasmine • Has its own testing framework (Protractor) • Data-binding makes it easier to test presentation logic independent of the UI/view • Everything is testable, including filters and directives (“controls”) • See tests for a 6502 emulator written in AngularJS: http://apps.jeremylikness.com/apps/t6502/
  • 8. 6. Massively Parallel Development • Many people complain about JavaScript in the enterprise because it’s not scalable and being dynamic makes it difficult to manage • Independent of AngularJS, solutions like CoffeeScript and TypeScript can help • With AngularJS the modular approach makes it really easy to architect the system to allow massive parallel development • Personally worked on project with 25+ globally distributed developers working on over 80,000 lines of client code
  • 9. 7. Designer/Developer Workflow • Don’t just scale within development. Scale across teams! • HTML and CSS hold the design for the app. • The app is declarative so designers don’t need to learn JavaScript to modify the design. • Data-binding provides a “design contract” – if you know you are working with data elements you can build functionality before the design is even available or ready without worrying about significant refactoring or rework.
  • 10. 8. Controls (Directives) • Web Components are part of ECMAScript 6 “Harmony” but not yet “current” for browsers • Polymer from Google is also a forward-looking framework • Directives in AngularJS are available right now • Have a special way to handle selection boxes, masked input, or other logic? Contain it in a control to reuse across modules nad projects. • Directives are testable, can be worked on in parallel, extend the UI declaratively and participate in dependency injection
  • 11. 9. State • HTTP is a stateless protocol • ASP.NET WebForms hide state using “view state” etc. • MVC goes “back to the basics” but some people find state management to be a challenge • Single Page Applications (SPA) address this • AngularJS supports SPA, HTTP, and AJAX concepts out of the box. Interact with services as a state of a running app and don’t worry about cookies or long URLs
  • 12. 10. Single Page Apps (SPA)! • Yeah, I said it • Not required for AngularJS but what it is best known for • ngRoute gives routing out of the box • ngView gives you a placeholder • ui-router gives even more control with nested views and state management • Full support for asynchronous loading of routes and resolution of asynchronous calls before rendering your templates
  • 13. Conclusion • Read the full article: http://csharperimage.jeremylikness.com/2013/09/10-reasons-web- developers-should-learn.html • These points are based on real-world experience using AngularJS on large enterprise apps • Watch the full course to master AngularJS here: http://bit.ly/masterang • AngularJS and TypeScript are better together!
  • 14. Questions? More Angular Projects and Examples: https://www.github.com/jeremylikness Email me to learn more: jlikness@ivision.com Jeremy Likness, Principal Architect @JeremyLikness