SlideShare a Scribd company logo
1 of 58
Download to read offline
@
DESPRE NOI
DESPRE NOI
BOGDAN COCHIOR
DESPRE NOI
IULIAN GIOADĂ
DESPRE VOI
DESPRE VOI
DESPRE VOI
AGENDA
S1
• INTRODUCERE IN ANGULARJS
• CE APLICATIE VOM FACE?
• PREGATIREA MEDIULUI DE
LUCRU (environment setup)
• DIRECTIVE (CORE)
AGENDA
S2 CONTROLERE (controllers)
AGENDA
S3
• RUTAREA (routing)
• DESPRE REST
(REpresentational State Transfer)
• SERVICII
(http services and custom services)
AGENDA
S4 BIBLIOTECI EXTERNE (third party)
INTRODUCERE IN
A JS FRAMEWORK
A JS LIBRARY?
CONCEPTS
oficial
CONCEPTS
personal
CONCEPTS
Cand?
Cum?
CORE FEATURES
CORE FEATURES - DI
DESIGN PATTERN
DESIGN PATTERN - MVC
PRO
Single Page Application
Data binding capability to HTML
Unit testable
Dependency injection and make use of separation of concerns
Reusable components (directives)
Less code and get more functionality
Views = pure html pages;
Controllers = business logic
CON
Not Secure
Not degradable
APLICATIA
Basic To Do List
SPECIFICATII
1. Lista de taskuri
2. Adaugare de taskuri
3. Editare a taskurilor
4. Stergere a taskurilor
5. Marcarea taskurilor drept completate
SETUP
ANGULAR
Metode de instalare
- Download - https://angularjs.org/
- Bower/NPM
- Yeoman
BOOTSTRAP
Metode de instalare
- Download - http://getbootstrap.com/getting-started
- Bower
CORE DIRECTIVEs
CORE DIRECTIVES
ng-app
ng-model
ng-bind
ng-app
ng-model
ng-bind
CORE DIRECTIVES
ng-controller
ng-repeat
ng-click
ng-show/hide/class/href/src
CORE DIRECTIVES
ng-controller
ng-repeat
ng-click
ng-show/hide/class/href
CORE DIRECTIVES
ng-if ng-change ng-checked ng-disabled ng-
init ng-change ng-dblclick ng-form ng-blur
ng-focus ng-include ng-mousedown ng-
mouseup ng-mousenter ng-options ng-
readonly ng-style ng-submit etc.
CORE DIRECTIVES
CONTROLLERS
CONTROLLERS
• The business logic that controls the app
• Data-provider for our views
• The business logic that controls the app
• Data-provider for our views
CONTROLLERS
DIRTY CHECKING, WATCH LIST si DIGEST LOOP
{{a+b}}
oldValue
newValue
function
ROUTING
ROUTING
SPA?
ROUTING
ROUTING
ROUTING
REST
Representational State Transfer
REST este un tip de architectura ce exploateaza
tehnologiile si protocoalele Web existente, inclusiv HTTP
REST
WHY REST?
GET
PUT
HEAD OPTIONS
DELETE
POST PATCH
REST VERBS
SERVICES
SERVICES
• singletons that carry out specific tasks
• lazy instantiated (only when you need them)
SERVICES interaction
Provides inter- and cross-communication across
scopes, services, filters, and other AngularJS
artifacts.
Just because a service encapsulates state does
not mean you can persist the state there (do a
refresh)
• $scope
• $rootScope
• $location
• $http / $resource
SERVICES - familiar till now
• SERVICE
• FACTORY
• PROVIDER
SERVICES
$http service
$http request object
$httpBackend service
$httpBackend.whenGET(/^/tasks?limit=d+&offset=d+/).respond(fetchTasks);


$httpBackend.whenGET(/^/tasks/d+/).respond(fetchTask);

$httpBackend.whenPUT(/^/tasks/d+/done/).respond(completeTask);

$httpBackend.whenPUT(/^/tasks/d+/).respond(updateTask);

$httpBackend.whenPATCH(/^/tasks/d+/).respond(updateTask);

$httpBackend.whenDELETE(/^/tasks/d+/).respond(deleteTask);

$httpBackend.whenPOST(/^/tasks/).respond(addTask);

$httpBackend.whenGET(/.*/).passThrough();
THIRD-PARTY
Useful resources
• Pluralsight
• Egghead.io
• ngBook
• AngularJS TDD development
• codeschool / tutorialspoint

More Related Content

Similar to AngularJS at AIESEC Academy '15

Providers
ProvidersProviders
Providers
BeMyApp
 

Similar to AngularJS at AIESEC Academy '15 (20)

Preparing Your Legacy Data for Automation in S1000D
Preparing Your Legacy Data for Automation in S1000DPreparing Your Legacy Data for Automation in S1000D
Preparing Your Legacy Data for Automation in S1000D
 
Developing software/App requirements specification
Developing software/App requirements specificationDeveloping software/App requirements specification
Developing software/App requirements specification
 
Developing software and/or App requirements specification
Developing software and/or App requirements specificationDeveloping software and/or App requirements specification
Developing software and/or App requirements specification
 
Internship.pptx
Internship.pptxInternship.pptx
Internship.pptx
 
Providers
ProvidersProviders
Providers
 
CraftCamp for Students - Introduction to AngularJS
CraftCamp for Students - Introduction to AngularJSCraftCamp for Students - Introduction to AngularJS
CraftCamp for Students - Introduction to AngularJS
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
MongoDB - General Purpose Database
MongoDB - General Purpose DatabaseMongoDB - General Purpose Database
MongoDB - General Purpose Database
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
10g forms
10g forms10g forms
10g forms
 
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL DevelopmentRapid SQL Datasheet - The Intelligent IDE for SQL Development
Rapid SQL Datasheet - The Intelligent IDE for SQL Development
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Angular js gtg-27feb2013
Angular js gtg-27feb2013Angular js gtg-27feb2013
Angular js gtg-27feb2013
 
Introduction to azure document db
Introduction to azure document dbIntroduction to azure document db
Introduction to azure document db
 
Three perspective on migrating to Cloud
Three perspective on migrating to CloudThree perspective on migrating to Cloud
Three perspective on migrating to Cloud
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
 
Angular from Zero to Mastery - Training (Intermediate)
Angular from Zero to Mastery - Training (Intermediate)Angular from Zero to Mastery - Training (Intermediate)
Angular from Zero to Mastery - Training (Intermediate)
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Simple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfSimple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdf
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Tatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf artsTatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf arts
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health Education
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Philosophy of china and it's charactistics
Philosophy of china and it's charactisticsPhilosophy of china and it's charactistics
Philosophy of china and it's charactistics
 
How to Manage Call for Tendor in Odoo 17
How to Manage Call for Tendor in Odoo 17How to Manage Call for Tendor in Odoo 17
How to Manage Call for Tendor in Odoo 17
 

AngularJS at AIESEC Academy '15