SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
ANGULARJS
DEEP DIVE INTO
FOR BEGINNERS
VASSILIS PITSOUNIS

FRONT END DEVELOPER @ JEXIA
IN INDUSTRY FROM 2000 - WORKED AS WEB & APPS DEVELOPER IN SEVERAL START UPS AND COS
GITHUB.COM/VAPITS
@VAPITS
AUTHOR
FOLLOW
LET’S START
var myApp = angular.module(‘myApp’,[]);
FRAMEWORK, NOT LIBRARY
THERE ARE NO READY TO CALL FUNCTIONS

HTML AS IT SHOULD BE
ANGULAR IS HERE TO GIVE PURPOSE TO THE DOM
angularjs.org
DEEP DIVE INTO ANGULARJS
WHY SHOULD I USE IT?
▸ Bootstrapping
▸ Templates
▸ 2-way data binding
▸ Module based
▸ Routing
▸ Directives
▸ Unit Test
▸ HUGE Community
DEEP DIVE INTO ANGULARJS
DOES CHUCK APPROVES?


+ SAVES YOU TIME!
+ LOT’S OF DEVS

+ JOBS OPPORTUNITIES (WE ARE HIRING!!)
+ GOOGLE WILL BE THERE
ANGULARJS VS REACTJS VS EMBERJS VS BACKBONEJS
SOURCE: GOOGLE TRENDS
DIVE #1


M.V.C
MODEL VIEW CONTROLLER
OUR ENTIRE MODEL CAN BE CONTAINED IN A 

SINGLE JAVASCRIPT OBJECT.
var name = ‘Joe’;
MODEL VIEW CONTROLLER
OUR ENTIRE MODEL CAN BE CONTAINED IN A 

SINGLE JAVASCRIPT OBJECT.
UPGRADED HTML WITH
REFERENCES TO MODEL


<label>Name:</label>

<input ng-model=“name”/>



<h2>{{name}}</h2>
<button ng-click=“saveName()”>

Save

</button>
var name = ‘Joe’;
MODEL VIEW CONTROLLER
OUR ENTIRE MODEL CAN BE CONTAINED IN A 

SINGLE JAVASCRIPT OBJECT.
var name = ‘Joe’; function myCtrl( $scope ) {

$scope.name = ‘Joe’;
$scope.saveName = function() {
alert( $scope.name );
};

}
UPGRADED HTML WITH
REFERENCES TO MODEL
JS CODE THAT POPULATES THE VIEW
AND REACTS WITH CHANGES IN IT


<label>Name:</label>

<input ng-model=“name”/>



<h2>{{name}}</h2>
<button ng-click=“saveName()”>

Save

</button>
A GRAPH ALWAYS HELPS
DIVE #2

BEST OF
YOU CAN EASILY ADD A TWO WAY BINDING

TO THE MODEL BY JUST:
DEEP DIVE INTO ANGULARJS
BEST OF
▸ Two Way Binding
▸ Templates
▸ Dependency Injections
▸ Directives
▸ Filters





TEMPLATES AS EASY AS THE HTML…
DEEP DIVE INTO ANGULARJS
BEST OF
▸ Two Way Binding
▸ Templates
▸ Dependency Injections
▸ Directives
▸ Filters
 

NGRPEAT IS AN AMAZING DIRECTIVE OF ANGULARJS. 

I BET YOU WILL LOVE IT!

DEPENDENCY INJECTIONS… PIECE OF CAKE
DEEP DIVE INTO ANGULARJS
BEST OF
▸ Two Way Binding
▸ Templates
▸ Dependency Injections
▸ Directives
▸ Filters



DIRECTIVES, HARD AT THE BEGINNING BUT A MUST!
DEEP DIVE INTO ANGULARJS
BEST OF
▸ Two Way Binding
▸ Templates
▸ Dependency Injections
▸ Directives
▸ Filters





Codefordirective
Directive in template
Browser result
DEEP DIVE INTO ANGULARJS
BEST OF
▸ Two Way Binding
▸ Templates
▸ Dependency Injections
▸ Directives
▸ Filters





DEEP DIVE

PERFORMANCE
DEEP DIVE INTO ANGULARJS
IF YOU WANT PERFORMANCE JUST DON’T
▸ Watchers (Multiple two-way binders)
▸ $scope.$watch
▸ Fat controllers
▸ jQuery
▸ Complicated functions in expressions
(templates).
DEEP DIVE INTO ANGULARJS
THREE SIMPLE RULES FOR SPEED
▸ Use one-way binding
▸ Use Service for data & http requests
▸ The more directives, the better.
DEEP DIVE INTO ANGULARJS
THREE SIMPLE RULES FOR SPEED
▸ Use one-way binding
▸ Use Service for data & http requests
▸ The more directives, the better.
DEEP DIVE INTO ANGULARJS
THREE SIMPLE RULES FOR SPEED
▸ Use one-way binding
▸ Use Service for data & http requests
▸ The more directives, the better.
DEEP DIVE INTO ANGULARJS
▸ Use one-way binding
▸ Use Service for data & http requests
▸ The more directives, the better.
WE WILL SPEAK FURTHER FOR DIRECTIVES ON A NEXT PRESENTATION.

YES THEY ARE CHALLENGING ENOUGH TO HAVE THEIR OWN PRESENTATION
THREE SIMPLE RULES FOR SPEED
IS IT EASY TO LEARN?
DEEP DIVE INTO ANGULARJS
DOCUMENTATION
▸ https://docs.angularjs.org/api
▸ angularjs.org
GITHUB.COM/VAPITS @VAPITS
FOLLOW, CONTACT &
FIND THE PRESENTATION & EXAMPLES IN MY GITHUB & LINKEDIN PAGE
NL.LINKEDIN.COM/IN/VAPITS

Contenu connexe

Tendances

AngularJS best-practices
AngularJS best-practicesAngularJS best-practices
AngularJS best-practicesHenry Tao
 
Angular js vs. Facebook react
Angular js vs. Facebook reactAngular js vs. Facebook react
Angular js vs. Facebook reactKeyup
 
Angular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHEREAngular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHERENadav Mary
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSAldo Pizzagalli
 
Angular js - 10 reasons to choose angularjs
Angular js - 10 reasons to choose angularjs Angular js - 10 reasons to choose angularjs
Angular js - 10 reasons to choose angularjs Nir Kaufman
 
Angular js for beginners
Angular js for beginnersAngular js for beginners
Angular js for beginnersMunir Hoque
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSDavid Parsons
 
New Perspectives on Performance
New Perspectives on PerformanceNew Perspectives on Performance
New Perspectives on Performancemennovanslooten
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
 
Introduction of angular js
Introduction of angular jsIntroduction of angular js
Introduction of angular jsTamer Solieman
 
Angular Best Practices v2
Angular Best Practices v2Angular Best Practices v2
Angular Best Practices v2Henry Tao
 
The Tale of 2 CLIs - Ember-cli and Angular-cli
The Tale of 2 CLIs - Ember-cli and Angular-cliThe Tale of 2 CLIs - Ember-cli and Angular-cli
The Tale of 2 CLIs - Ember-cli and Angular-cliTracy Lee
 

Tendances (20)

AngularJS best-practices
AngularJS best-practicesAngularJS best-practices
AngularJS best-practices
 
AngularJS 2.0
AngularJS 2.0AngularJS 2.0
AngularJS 2.0
 
Angular js vs. Facebook react
Angular js vs. Facebook reactAngular js vs. Facebook react
Angular js vs. Facebook react
 
Angular from Scratch
Angular from ScratchAngular from Scratch
Angular from Scratch
 
Angular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHEREAngular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHERE
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Angular js
Angular jsAngular js
Angular js
 
Angular js
Angular jsAngular js
Angular js
 
Angular js - 10 reasons to choose angularjs
Angular js - 10 reasons to choose angularjs Angular js - 10 reasons to choose angularjs
Angular js - 10 reasons to choose angularjs
 
Angular js for beginners
Angular js for beginnersAngular js for beginners
Angular js for beginners
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
New Perspectives on Performance
New Perspectives on PerformanceNew Perspectives on Performance
New Perspectives on Performance
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
 
Angularjs PPT
Angularjs PPTAngularjs PPT
Angularjs PPT
 
AngularJS
AngularJSAngularJS
AngularJS
 
Introduction of angular js
Introduction of angular jsIntroduction of angular js
Introduction of angular js
 
Angular js PPT
Angular js PPTAngular js PPT
Angular js PPT
 
Angular Best Practices v2
Angular Best Practices v2Angular Best Practices v2
Angular Best Practices v2
 
The Tale of 2 CLIs - Ember-cli and Angular-cli
The Tale of 2 CLIs - Ember-cli and Angular-cliThe Tale of 2 CLIs - Ember-cli and Angular-cli
The Tale of 2 CLIs - Ember-cli and Angular-cli
 

Similaire à Deep dive into AngularJs for Beginners

Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityDamien Coraboeuf
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
 
How agile is rails
 How agile is rails How agile is rails
How agile is railsJosé Mota
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupChase Douglas
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSChristian Heilmann
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformApigee | Google Cloud
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Christian Heilmann
 
Getting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with JenkinsGetting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with JenkinsSonatype
 
Frontrunners react
Frontrunners reactFrontrunners react
Frontrunners reactAllison Kunz
 
Belgium jenkins-meetup-job-jungle-0.1
Belgium jenkins-meetup-job-jungle-0.1Belgium jenkins-meetup-job-jungle-0.1
Belgium jenkins-meetup-job-jungle-0.1Damien Coraboeuf
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
Automated Testing in Angular Slides
Automated Testing in Angular SlidesAutomated Testing in Angular Slides
Automated Testing in Angular SlidesJim Lynch
 
The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017Tracy Lee
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!Suelen Carvalho
 
Atmosphere Conference 2015: The 10 Myths of DevOps
Atmosphere Conference 2015: The 10 Myths of DevOpsAtmosphere Conference 2015: The 10 Myths of DevOps
Atmosphere Conference 2015: The 10 Myths of DevOpsPROIDEA
 
Platform Engineering is Hard, and We are Doing it Wrong
Platform Engineering is Hard, and We are Doing it WrongPlatform Engineering is Hard, and We are Doing it Wrong
Platform Engineering is Hard, and We are Doing it WrongDan Grøndahl Glavind
 

Similaire à Deep dive into AngularJs for Beginners (20)

Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalability
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
How agile is rails
 How agile is rails How agile is rails
How agile is rails
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps Platform
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015
 
Getting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with JenkinsGetting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with Jenkins
 
Frontrunners react
Frontrunners reactFrontrunners react
Frontrunners react
 
Belgium jenkins-meetup-job-jungle-0.1
Belgium jenkins-meetup-job-jungle-0.1Belgium jenkins-meetup-job-jungle-0.1
Belgium jenkins-meetup-job-jungle-0.1
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Automated Testing in Angular Slides
Automated Testing in Angular SlidesAutomated Testing in Angular Slides
Automated Testing in Angular Slides
 
The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017
 
AngularJS 101
AngularJS 101AngularJS 101
AngularJS 101
 
Advanced workflows
Advanced workflowsAdvanced workflows
Advanced workflows
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!
 
Atmosphere Conference 2015: The 10 Myths of DevOps
Atmosphere Conference 2015: The 10 Myths of DevOpsAtmosphere Conference 2015: The 10 Myths of DevOps
Atmosphere Conference 2015: The 10 Myths of DevOps
 
Platform Engineering is Hard, and We are Doing it Wrong
Platform Engineering is Hard, and We are Doing it WrongPlatform Engineering is Hard, and We are Doing it Wrong
Platform Engineering is Hard, and We are Doing it Wrong
 

Dernier

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 

Dernier (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 

Deep dive into AngularJs for Beginners

  • 2. VASSILIS PITSOUNIS
 FRONT END DEVELOPER @ JEXIA IN INDUSTRY FROM 2000 - WORKED AS WEB & APPS DEVELOPER IN SEVERAL START UPS AND COS GITHUB.COM/VAPITS @VAPITS AUTHOR FOLLOW
  • 3. LET’S START var myApp = angular.module(‘myApp’,[]);
  • 4. FRAMEWORK, NOT LIBRARY THERE ARE NO READY TO CALL FUNCTIONS
 HTML AS IT SHOULD BE ANGULAR IS HERE TO GIVE PURPOSE TO THE DOM angularjs.org
  • 5. DEEP DIVE INTO ANGULARJS WHY SHOULD I USE IT? ▸ Bootstrapping ▸ Templates ▸ 2-way data binding ▸ Module based ▸ Routing ▸ Directives ▸ Unit Test ▸ HUGE Community
  • 6. DEEP DIVE INTO ANGULARJS DOES CHUCK APPROVES? 
 + SAVES YOU TIME! + LOT’S OF DEVS
 + JOBS OPPORTUNITIES (WE ARE HIRING!!) + GOOGLE WILL BE THERE
  • 7. ANGULARJS VS REACTJS VS EMBERJS VS BACKBONEJS SOURCE: GOOGLE TRENDS
  • 9. MODEL VIEW CONTROLLER OUR ENTIRE MODEL CAN BE CONTAINED IN A 
 SINGLE JAVASCRIPT OBJECT. var name = ‘Joe’;
  • 10. MODEL VIEW CONTROLLER OUR ENTIRE MODEL CAN BE CONTAINED IN A 
 SINGLE JAVASCRIPT OBJECT. UPGRADED HTML WITH REFERENCES TO MODEL 
 <label>Name:</label>
 <input ng-model=“name”/>
 
 <h2>{{name}}</h2> <button ng-click=“saveName()”>
 Save
 </button> var name = ‘Joe’;
  • 11. MODEL VIEW CONTROLLER OUR ENTIRE MODEL CAN BE CONTAINED IN A 
 SINGLE JAVASCRIPT OBJECT. var name = ‘Joe’; function myCtrl( $scope ) {
 $scope.name = ‘Joe’; $scope.saveName = function() { alert( $scope.name ); };
 } UPGRADED HTML WITH REFERENCES TO MODEL JS CODE THAT POPULATES THE VIEW AND REACTS WITH CHANGES IN IT 
 <label>Name:</label>
 <input ng-model=“name”/>
 
 <h2>{{name}}</h2> <button ng-click=“saveName()”>
 Save
 </button>
  • 12. A GRAPH ALWAYS HELPS
  • 14. YOU CAN EASILY ADD A TWO WAY BINDING
 TO THE MODEL BY JUST: DEEP DIVE INTO ANGULARJS BEST OF ▸ Two Way Binding ▸ Templates ▸ Dependency Injections ▸ Directives ▸ Filters
 
 

  • 15. TEMPLATES AS EASY AS THE HTML… DEEP DIVE INTO ANGULARJS BEST OF ▸ Two Way Binding ▸ Templates ▸ Dependency Injections ▸ Directives ▸ Filters
 
 NGRPEAT IS AN AMAZING DIRECTIVE OF ANGULARJS. 
 I BET YOU WILL LOVE IT!

  • 16. DEPENDENCY INJECTIONS… PIECE OF CAKE DEEP DIVE INTO ANGULARJS BEST OF ▸ Two Way Binding ▸ Templates ▸ Dependency Injections ▸ Directives ▸ Filters
 

  • 17. DIRECTIVES, HARD AT THE BEGINNING BUT A MUST! DEEP DIVE INTO ANGULARJS BEST OF ▸ Two Way Binding ▸ Templates ▸ Dependency Injections ▸ Directives ▸ Filters
 
 
 Codefordirective Directive in template Browser result
  • 18. DEEP DIVE INTO ANGULARJS BEST OF ▸ Two Way Binding ▸ Templates ▸ Dependency Injections ▸ Directives ▸ Filters
 
 

  • 20. DEEP DIVE INTO ANGULARJS IF YOU WANT PERFORMANCE JUST DON’T ▸ Watchers (Multiple two-way binders) ▸ $scope.$watch ▸ Fat controllers ▸ jQuery ▸ Complicated functions in expressions (templates).
  • 21. DEEP DIVE INTO ANGULARJS THREE SIMPLE RULES FOR SPEED ▸ Use one-way binding ▸ Use Service for data & http requests ▸ The more directives, the better.
  • 22. DEEP DIVE INTO ANGULARJS THREE SIMPLE RULES FOR SPEED ▸ Use one-way binding ▸ Use Service for data & http requests ▸ The more directives, the better.
  • 23. DEEP DIVE INTO ANGULARJS THREE SIMPLE RULES FOR SPEED ▸ Use one-way binding ▸ Use Service for data & http requests ▸ The more directives, the better.
  • 24. DEEP DIVE INTO ANGULARJS ▸ Use one-way binding ▸ Use Service for data & http requests ▸ The more directives, the better. WE WILL SPEAK FURTHER FOR DIRECTIVES ON A NEXT PRESENTATION.
 YES THEY ARE CHALLENGING ENOUGH TO HAVE THEIR OWN PRESENTATION THREE SIMPLE RULES FOR SPEED
  • 25. IS IT EASY TO LEARN?
  • 26. DEEP DIVE INTO ANGULARJS DOCUMENTATION ▸ https://docs.angularjs.org/api ▸ angularjs.org
  • 27. GITHUB.COM/VAPITS @VAPITS FOLLOW, CONTACT & FIND THE PRESENTATION & EXAMPLES IN MY GITHUB & LINKEDIN PAGE NL.LINKEDIN.COM/IN/VAPITS