SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
A n g u l a r J S S e s s i o n s 
INTRODUCTION
GOALS FOR TODAY 
What is AngularJS ? Conceptual overview 
2 
Why and when should I use it ? 
Testing aspects 
http://angularjs.org
CONCEPTUAL OVERVIEW 
AngularJS is a structural framework for dynamic 
3 
web applications.
CONCEPTUAL OVERVIEW 
4 
Like any abstraction, it comes at a cost of 
flexibility. Not every app is a good fit for Angular
CONCEPTUAL OVERVIEW 
5 
MVC done right
CONCEPTUAL OVERVIEW 
6 
A declarative user interface
CONCEPTUAL OVERVIEW 
7 
Data models are JavaScript objects 
SCOPES
CONCEPTUAL OVERVIEW 
8 
Behavior with directives. 
DOM manipulation where they belong! 
http://www.thoughtworks.com/radar/#/techniques/698 
This involves aggressively restricting all DOM access (which usually translates to all 
jQuery usage) to a thin 'segregation layer'. One pleasant side-effect of this approach is 
that everything outside of that segregated DOM layer can be tested rapidly in isolation 
from the browser using a lean JavaScript engine such as node.js.
CONCEPTUAL OVERVIEW 
9 
Flexibility with Filters
CONCEPTUAL OVERVIEW 
10 
Context aware communication
CONCEPTUAL OVERVIEW 
11 
You will write less code. 
Yes you will 
Registering callbacks Manipulating HTML DOM programmatically 
Marshaling data to and from the UI 
Writing tons of initialization code just to get started
CONCEPTUAL OVERVIEW 
Designers tend to love it. HTML stays declarative 
12
CONCEPTUAL OVERVIEW 
INVERSION OF CONTROL 
through 
DEPENDENCY INJECTION 
PLUS GOOD TESTING/MOCKING TOOLS 
TESTABILITY! 
13
CONCEPTUAL OVERVIEW 
14 
MODULE MODULE 
CONFIG FILTER DIRECTIVE FACTORY CONTROLLER 
ROUTES SERVICE 
PROVIDER 
VALUE
CONCEPTUAL OVERVIEW 
15 
SHOW TIME!
CONCEPTUAL OVERVIEW 
16 
DIRECTIVE 
DIRECTIVE 
"{{ name }}" is a binding expression!
CONCEPTUAL OVERVIEW 
TWO WAY DATA BINDING 
TEMPLATE 
VIEW 
COMPILE 
LINK 
MODEL 
17
CONCEPTUAL OVERVIEW 
18 
This example contains bad 
practices. It was created for 
educational purposes only! 
FILTER
CONCEPTUAL OVERVIEW 
19 
MOMODDUULELE 
CONFIG 
PROVIDERS 
ROUTES CONTROLLER 
DIRECTIVE FACTORY 
FILTER 
SERVICE
CONCEPTUAL OVERVIEW 
20
CONCEPTUAL OVERVIEW 
21 
Services Providers 
Directives 
Filters 
Config 
Controllers 
Factories
CONTROLLERS 
22
CONCEPTUAL OVERVIEW 
23 
Services Providers 
Directives 
Filters 
Controllers 
Factories Config
CONCEPTUAL OVERVIEW 
24 
Services Providers 
Directives 
Filters 
Controllers 
Factories Config
SERVICES/FACTORIES 
25
CONCEPTUAL OVERVIEW 
If you want your function to be called like a 
normal function, use factory. If you want your 
function to be instantiated with the new 
operator, use service. 
26
CONCEPTUAL OVERVIEW 
27 
Services Providers 
Directives 
Filters 
Controllers 
Factories Config
CONCEPTUAL OVERVIEW 
Features Factory Service Value Constant Provider 
28 
Can have dependencies yes yes no no yes 
Object available in config phase no no no yes yes 
Can create functions / primitives yes no yes yes yes
CONCEPTUAL OVERVIEW 
29 
Services Providers 
Directives 
Filters 
Controllers 
Factories Config
DIRECTIVES 
30
CONCEPTUAL OVERVIEW 
31 
Services Providers 
Directives 
Filters 
Controllers 
Factories Config
32
CONCEPTUAL OVERVIEW 
33 
Services Providers 
Directives 
Filters 
Controllers 
Factories Config
CONFIG FILE 
34
SOME BEST PRACTICES 
GOOD PRACTICES 
35
SOME BEST PRACTICES 
Controllers and Services should not 
reference the DOM 
36
SOME BEST PRACTICES 
Controllers should have view behavior 
37
SOME BEST PRACTICES 
Services should have reusable logic, independent 
of the view 
38
SOME BEST PRACTICES 
Scope should be read-only in the templates 
39
SOME BEST PRACTICES 
Be careful with simple examples. 
! 
Your architectures should reflect the system, 
not the frameworks you used in your system 
Uncle Bob - Screaming Architecture 
40
41 
ECOSYSTEM 
NG (core) ngAnimate 
ngRoute ngResource 
ngCookies 
ngTouch 
ngSanitize 
ngMock 
http://ngmodules.org/
REFERENCES 
▫︎ http://docs.angularjs.org/guide : Angular official documentation, it used to 
be very poor with very simples examples but is getting better in content 
although still using the same basics examples. 
42 
! 
!▫︎https://github.com/angular/angular.js/wiki : Very good “articles" to 
understand better what angular is doing under the hood, like managing scopes 
and directives. 
! 
!▫︎ http://www.thinkster.io/pick/GtaQ0oMGIl: "A Better Way to Learn AngularJS” 
: Very nice website that puts together a lot of good resources to learn AngularJs 
from scratch. 
! 
!▫︎http://www.youtube.com/angularjs: AngularJs official youtube channel where 
they share and live-stream their presentations. 
!
REFERENCES 
▫︎https://egghead.io/ : Videos with very simple explanation of the angular world 
such as directives, scope, controllers, very simple to start to understand what 
angular can do for you but no how it does it. 
! 
!▫︎http://joelhooks.com/ : Blog where you can find some very interesting articles 
about AngularJs such as "Modeling Data and State in Your AngularJs Application” 
! 
! ▫︎AngularJs (O'Reilly, Brad Green & Shyam Seshadri): Nice book to go deeper 
into the AngularJs concepts and what it has to offer. 
! 
43 
! ▫︎Javascript: the good parts (O'Reilly, Douglas Crockford)
THANK YOU 
Questions? 
! 
Renan Martins 
rmartins@thoughtworks.com 
! 
Tania Gonzales 
tgonzales@thoughtworks.com

Weitere ähnliche Inhalte

Was ist angesagt?

Angular js tutorial slides
Angular js tutorial slidesAngular js tutorial slides
Angular js tutorial slides
samhelman
 

Was ist angesagt? (20)

Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - Introduction
 
Angular js
Angular jsAngular js
Angular js
 
Why angular js Framework
Why angular js Framework Why angular js Framework
Why angular js Framework
 
AngularJS Best Practices
AngularJS Best PracticesAngularJS Best Practices
AngularJS Best Practices
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Angular js
Angular jsAngular js
Angular js
 
Introduction of angular js
Introduction of angular jsIntroduction of angular js
Introduction of angular js
 
AngularJS Basic Training
AngularJS Basic TrainingAngularJS Basic Training
AngularJS Basic Training
 
Front end development with Angular JS
Front end development with Angular JSFront end development with Angular JS
Front end development with Angular JS
 
Step by Step - AngularJS
Step by Step - AngularJSStep by Step - AngularJS
Step by Step - AngularJS
 
AngularJS Best Practices
AngularJS Best PracticesAngularJS Best Practices
AngularJS Best Practices
 
Introduction to Angular js 2.0
Introduction to Angular js 2.0Introduction to Angular js 2.0
Introduction to Angular js 2.0
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction
 
Angular js 1.3 presentation for fed nov 2014
Angular js 1.3 presentation for fed   nov 2014Angular js 1.3 presentation for fed   nov 2014
Angular js 1.3 presentation for fed nov 2014
 
Angular js
Angular jsAngular js
Angular js
 
Angular js PPT
Angular js PPTAngular js PPT
Angular js PPT
 
Angular js 1.3 basic tutorial
Angular js 1.3 basic tutorialAngular js 1.3 basic tutorial
Angular js 1.3 basic tutorial
 
Angular js
Angular jsAngular js
Angular js
 
Angular js tutorial slides
Angular js tutorial slidesAngular js tutorial slides
Angular js tutorial slides
 
AngularJs presentation
AngularJs presentation AngularJs presentation
AngularJs presentation
 

Ähnlich wie Angular js introduction by Tania Gonzales

Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniter
Pongsakorn U-chupala
 
Feature Development with jQuery
Feature Development with jQueryFeature Development with jQuery
Feature Development with jQuery
Michael Edwards
 

Ähnlich wie Angular js introduction by Tania Gonzales (20)

AngularJS Basics
AngularJS BasicsAngularJS Basics
AngularJS Basics
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
AngularJS in practice
AngularJS in practiceAngularJS in practice
AngularJS in practice
 
Vue.js Use Cases
Vue.js Use CasesVue.js Use Cases
Vue.js Use Cases
 
React vs Angular
React vs Angular React vs Angular
React vs Angular
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniter
 
AngularJS
AngularJSAngularJS
AngularJS
 
AngularJS
AngularJS AngularJS
AngularJS
 
Intoduction to Angularjs
Intoduction to AngularjsIntoduction to Angularjs
Intoduction to Angularjs
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular application
 
AngularJS By Vipin
AngularJS By VipinAngularJS By Vipin
AngularJS By Vipin
 
JavaScript - Kristiansand PHP
JavaScript - Kristiansand PHPJavaScript - Kristiansand PHP
JavaScript - Kristiansand PHP
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework
 
Getting Started with AngularJS
Getting Started with AngularJSGetting Started with AngularJS
Getting Started with AngularJS
 
Angularjs interview questions and answers
Angularjs interview questions and answersAngularjs interview questions and answers
Angularjs interview questions and answers
 
Mobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesMobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelines
 
Monorail Introduction
Monorail IntroductionMonorail Introduction
Monorail Introduction
 
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр ШевнинAzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
 
Feature Development with jQuery
Feature Development with jQueryFeature Development with jQuery
Feature Development with jQuery
 
Sitecore mvc
Sitecore mvcSitecore mvc
Sitecore mvc
 

Mehr von Thoughtworks

Mehr von Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Angular js introduction by Tania Gonzales

  • 1. A n g u l a r J S S e s s i o n s INTRODUCTION
  • 2. GOALS FOR TODAY What is AngularJS ? Conceptual overview 2 Why and when should I use it ? Testing aspects http://angularjs.org
  • 3. CONCEPTUAL OVERVIEW AngularJS is a structural framework for dynamic 3 web applications.
  • 4. CONCEPTUAL OVERVIEW 4 Like any abstraction, it comes at a cost of flexibility. Not every app is a good fit for Angular
  • 5. CONCEPTUAL OVERVIEW 5 MVC done right
  • 6. CONCEPTUAL OVERVIEW 6 A declarative user interface
  • 7. CONCEPTUAL OVERVIEW 7 Data models are JavaScript objects SCOPES
  • 8. CONCEPTUAL OVERVIEW 8 Behavior with directives. DOM manipulation where they belong! http://www.thoughtworks.com/radar/#/techniques/698 This involves aggressively restricting all DOM access (which usually translates to all jQuery usage) to a thin 'segregation layer'. One pleasant side-effect of this approach is that everything outside of that segregated DOM layer can be tested rapidly in isolation from the browser using a lean JavaScript engine such as node.js.
  • 9. CONCEPTUAL OVERVIEW 9 Flexibility with Filters
  • 10. CONCEPTUAL OVERVIEW 10 Context aware communication
  • 11. CONCEPTUAL OVERVIEW 11 You will write less code. Yes you will Registering callbacks Manipulating HTML DOM programmatically Marshaling data to and from the UI Writing tons of initialization code just to get started
  • 12. CONCEPTUAL OVERVIEW Designers tend to love it. HTML stays declarative 12
  • 13. CONCEPTUAL OVERVIEW INVERSION OF CONTROL through DEPENDENCY INJECTION PLUS GOOD TESTING/MOCKING TOOLS TESTABILITY! 13
  • 14. CONCEPTUAL OVERVIEW 14 MODULE MODULE CONFIG FILTER DIRECTIVE FACTORY CONTROLLER ROUTES SERVICE PROVIDER VALUE
  • 16. CONCEPTUAL OVERVIEW 16 DIRECTIVE DIRECTIVE "{{ name }}" is a binding expression!
  • 17. CONCEPTUAL OVERVIEW TWO WAY DATA BINDING TEMPLATE VIEW COMPILE LINK MODEL 17
  • 18. CONCEPTUAL OVERVIEW 18 This example contains bad practices. It was created for educational purposes only! FILTER
  • 19. CONCEPTUAL OVERVIEW 19 MOMODDUULELE CONFIG PROVIDERS ROUTES CONTROLLER DIRECTIVE FACTORY FILTER SERVICE
  • 21. CONCEPTUAL OVERVIEW 21 Services Providers Directives Filters Config Controllers Factories
  • 23. CONCEPTUAL OVERVIEW 23 Services Providers Directives Filters Controllers Factories Config
  • 24. CONCEPTUAL OVERVIEW 24 Services Providers Directives Filters Controllers Factories Config
  • 26. CONCEPTUAL OVERVIEW If you want your function to be called like a normal function, use factory. If you want your function to be instantiated with the new operator, use service. 26
  • 27. CONCEPTUAL OVERVIEW 27 Services Providers Directives Filters Controllers Factories Config
  • 28. CONCEPTUAL OVERVIEW Features Factory Service Value Constant Provider 28 Can have dependencies yes yes no no yes Object available in config phase no no no yes yes Can create functions / primitives yes no yes yes yes
  • 29. CONCEPTUAL OVERVIEW 29 Services Providers Directives Filters Controllers Factories Config
  • 31. CONCEPTUAL OVERVIEW 31 Services Providers Directives Filters Controllers Factories Config
  • 32. 32
  • 33. CONCEPTUAL OVERVIEW 33 Services Providers Directives Filters Controllers Factories Config
  • 35. SOME BEST PRACTICES GOOD PRACTICES 35
  • 36. SOME BEST PRACTICES Controllers and Services should not reference the DOM 36
  • 37. SOME BEST PRACTICES Controllers should have view behavior 37
  • 38. SOME BEST PRACTICES Services should have reusable logic, independent of the view 38
  • 39. SOME BEST PRACTICES Scope should be read-only in the templates 39
  • 40. SOME BEST PRACTICES Be careful with simple examples. ! Your architectures should reflect the system, not the frameworks you used in your system Uncle Bob - Screaming Architecture 40
  • 41. 41 ECOSYSTEM NG (core) ngAnimate ngRoute ngResource ngCookies ngTouch ngSanitize ngMock http://ngmodules.org/
  • 42. REFERENCES ▫︎ http://docs.angularjs.org/guide : Angular official documentation, it used to be very poor with very simples examples but is getting better in content although still using the same basics examples. 42 ! !▫︎https://github.com/angular/angular.js/wiki : Very good “articles" to understand better what angular is doing under the hood, like managing scopes and directives. ! !▫︎ http://www.thinkster.io/pick/GtaQ0oMGIl: "A Better Way to Learn AngularJS” : Very nice website that puts together a lot of good resources to learn AngularJs from scratch. ! !▫︎http://www.youtube.com/angularjs: AngularJs official youtube channel where they share and live-stream their presentations. !
  • 43. REFERENCES ▫︎https://egghead.io/ : Videos with very simple explanation of the angular world such as directives, scope, controllers, very simple to start to understand what angular can do for you but no how it does it. ! !▫︎http://joelhooks.com/ : Blog where you can find some very interesting articles about AngularJs such as "Modeling Data and State in Your AngularJs Application” ! ! ▫︎AngularJs (O'Reilly, Brad Green & Shyam Seshadri): Nice book to go deeper into the AngularJs concepts and what it has to offer. ! 43 ! ▫︎Javascript: the good parts (O'Reilly, Douglas Crockford)
  • 44. THANK YOU Questions? ! Renan Martins rmartins@thoughtworks.com ! Tania Gonzales tgonzales@thoughtworks.com