SlideShare a Scribd company logo
HTML enhanced for web apps!
~Sagar Acharya
Agenda
• Misunderstandings
• What is angular?
• SPAs
• Why angular?
• Features
• MVC/MVVM
• Directives, filters, expression
• Demo
• Why should we use it?
• Why developer should use it?
• Stats
Another JS Lib
Lots of new
learning
Difficult to learn
Useful for
web only
Used for styling
purpose
What is ANGULARJS?
• It’s not a JavaScript library (As they say).
There are no functions which we can
directly call and use.
• It is not a DOM manipulation library like
jQuery. But it uses subset of jQuery for
DOM manipulation (called jqLite).
What is ANGULAR JS? (contd…)
• Focus more on HTML side of web apps.
• For MVC/MVVM design pattern
• AngularJS is a Javascript MVC framework created by Google to build properly
architectured and maintenable web applications.
• “ANGULARJS is what HTML could have been if it had been designed for web application
development.”
• AngularJS extends HTML with new attributes.
Single Page Application (SPA)
SPA Demo
http://www.myspa.com
View View
View View
The Challenge with SPAs
DOM Manipulation History
Routing
Module Loading
Data Binding
Object Modeling
Ajax/Promises
Caching
View Loading
Solution?
Why ANGULARJS?
• Defines numerous ways to organize web application at client side.
• Enhances HTML by attaching directives, custom tags, attributes, expressions, templates
within HTML.
• Encourage TDD
• Encourage MVC/MVVM design pattern
• Code Reuse
• Good for Single Page Apps (SPA)
• Cool Features -> Next Slide
Key Features of ANGULARJS
ngularJS is a full-featured
SPA framework
Data Binding MVC Routing
Templates
ViewModel Views
Controllers Dependency Injection
Directives
Testing
Controllers
jqLite
Validation
FactoriesHistory
MVC : Model View Controller
View
ControllerModel
1. Event or User Action
or View Load
2. Maps to particular Model
after fetching the data
3. Implement the
Business Logic on
response data and
Bind it to View
View :
• Renders the Model data
• Send User actions/events to controller
• UI
Controller:
• Define Application Behavior
• Maps user actions to Model
• Select view for response
Model:
• Business Logic
• Notify view changes
• Application Functionality
• Data in general
MVVM: Model View ViewModel
View
ViewModelModel
UI
Presentation LogicBusiness Logic
and Data
• User actions, commands
• Data binding
• Notifications
• Data Access
• Update ViewModel about change
What are Directives?
• The directives can be placed in element names, attributes, class names, as well as
comments. Directives are a way to teach HTML new tricks.
• A directive is just a function which executes when the compiler encounters it in the DOM.
• <input ng-model='name'>
• Custom Defined Directives
• <span draggable>Drag ME</span>
What are Directives? (contd..)
<!DOCTYPE html>
<html ng-app>
<head>
<title></title>
</head>
<body>
<div class="container">
Name: <input type="text" ng-model="name" /> {{ name }}
</div>
<script src="Scripts/angular.js"></script>
</body>
</html>
Directive
Directive
Data Binding Expression
Iterating with ng-repeat Directive
<html data-ng-app="">
...
<div class="container"
data-ng-init="names=['Dave','Napur','Heedy','Shriva']">
<h3>Looping with the ng-repeat Directive</h3>
<ul>
<li data-ng-repeat="name in names">{{ name }}</li>
</ul>
</div>
...
</html>
Iterate through names
Filters
Angular filters format data for display to the user.
{{ expression [| filter_name[:parameter_value] ... ] }}
{{ uppercase_expression | uppercase }}
{{ expression | filter1 | filter2 }}
Can create custom filters
Using Filters
<ul>
<li data-ng-repeat="cust in customers | orderBy:'name'">
{{ cust.name | uppercase }}
</li>
</ul>
Order customers
by name property
<input type="text" data-ng-model="nameText" />
<ul>
<li data-ng-repeat="cust in customers | filter:nameText | orderBy:'name'">
{{ cust.name }} - {{ cust.city }}</li>
</ul>
Filter customers by model
value
Expression
Expressions are JavaScript-like code snippets that are usually placed in bindings such as {{
expression }}
<body>
1+2={{1+2}}
</body>
Demo
Why should we use Angular JS?
• Bootstrap features
• Directives for animation & effects for interactive UI
• SPA : modern way to represent WEB APP
• Compatible with mobile app development
Why Developer should use Angular JS?
• It is developed by google.
• RESTful actions (Using one line of JS you can quickly communicate with server)
• Dependency Injection (DI) is a software design pattern that deals with how components
get hold of their dependencies.
• Provides several options for testing (TDD)
• Flexibility with filters
• Good documentation & resources.
Some Statistics!
o Angular JS is 3 times faster than any external JS available till now ~Google.
More Statistics! (Interesting One)
• GITHUB Stats:
• Stars:
o if you star a repository, you basically want to show your appreciation as well as keep track of repositories
that you find interesting without it spamming your timeline.
o In top 3 of github stars project list, only bootstrap & node js is ahead of it.
o Check stars stats:
o https://github.com/search?utf8=%E2%9C%93&q=stars%3A%3E30000&type=Repositories&ref=searchresult
s
• fork:
o In software engineering, a project fork happens when developers take a legal copy of source code from one
software package and start independent development on it, creating a distinct piece of software.
o In top 7 of github fork project list.
o Check fork stats:
o https://github.com/search?utf8=%E2%9C%93&q=forks%3A%3E10000&type=Repositories&ref=searchresult
s
Resources
Documentation
• AngularJS Developer Guide
• AngularJS API
• AngularJS Tutorial
Videos
• AngularJS Fundamentals In 60-ish Minutes
• Introduction to Angular JS
• AngularJS end-to-end web app tutorial Part I
Angular JS - Introduction
Sagar
Acharya sagar_acharya@live.in

More Related Content

What's hot (20)

PPTX
The AngularJS way
Boyan Mihaylov
 
PPTX
Front end development with Angular JS
Bipin
 
PDF
Introduction of angular js
Tamer Solieman
 
PPTX
AngularJS Best Practices
Narek Mamikonyan
 
PPTX
AngularJS Beginners Workshop
Sathish VJ
 
PDF
AngularJS introduction
Tania Gonzales
 
PPTX
AngularJS intro
dizabl
 
PDF
Advanced Tips & Tricks for using Angular JS
Simon Guest
 
PPTX
Understanding angular js
Aayush Shrestha
 
PPTX
Angular js 1.3 presentation for fed nov 2014
Sarah Hudson
 
PPTX
Angular js PPT
Imtiyaz Ahmad Khan
 
PPTX
Why angular js Framework
Sakthi Bro
 
PDF
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
PPTX
Step by Step - AngularJS
Infragistics
 
PPTX
Angular js
Dinusha Nandika
 
PPTX
Angular js 1.0-fundamentals
Venkatesh Narayanan
 
PDF
AngularJS: an introduction
Luigi De Russis
 
PPTX
AngularJs presentation
Phan Tuan
 
PDF
AngularJS Basic Training
Cornel Stefanache
 
PPTX
AngularJs (1.x) Presentation
Raghubir Singh
 
The AngularJS way
Boyan Mihaylov
 
Front end development with Angular JS
Bipin
 
Introduction of angular js
Tamer Solieman
 
AngularJS Best Practices
Narek Mamikonyan
 
AngularJS Beginners Workshop
Sathish VJ
 
AngularJS introduction
Tania Gonzales
 
AngularJS intro
dizabl
 
Advanced Tips & Tricks for using Angular JS
Simon Guest
 
Understanding angular js
Aayush Shrestha
 
Angular js 1.3 presentation for fed nov 2014
Sarah Hudson
 
Angular js PPT
Imtiyaz Ahmad Khan
 
Why angular js Framework
Sakthi Bro
 
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
Step by Step - AngularJS
Infragistics
 
Angular js
Dinusha Nandika
 
Angular js 1.0-fundamentals
Venkatesh Narayanan
 
AngularJS: an introduction
Luigi De Russis
 
AngularJs presentation
Phan Tuan
 
AngularJS Basic Training
Cornel Stefanache
 
AngularJs (1.x) Presentation
Raghubir Singh
 

Viewers also liked (9)

PDF
Angular JS blog tutorial
Claude Tech
 
PDF
AngularJS Basics with Example
Sergey Bolshchikov
 
PPTX
AngularJS Architecture
Eyal Vardi
 
PPTX
Intro to angular
Zach Barnes
 
KEY
Spring vs. Java EE QConSP 2012
Guilherme Moreira
 
PPTX
Single Page Application (SPA) using AngularJS
M R Rony
 
PDF
AngularJS application architecture
Gabriele Falace
 
PDF
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
 
PPTX
Dynamic content with Angular
Filip Bruun Bech-Larsen
 
Angular JS blog tutorial
Claude Tech
 
AngularJS Basics with Example
Sergey Bolshchikov
 
AngularJS Architecture
Eyal Vardi
 
Intro to angular
Zach Barnes
 
Spring vs. Java EE QConSP 2012
Guilherme Moreira
 
Single Page Application (SPA) using AngularJS
M R Rony
 
AngularJS application architecture
Gabriele Falace
 
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
 
Dynamic content with Angular
Filip Bruun Bech-Larsen
 
Ad

Similar to Angular JS - Introduction (20)

PPTX
Angular JS, A dive to concepts
Abhishek Sur
 
PPTX
AngularJS is awesome
Eusebiu Schipor
 
PPTX
Introduction to single page application with angular js
Mindfire Solutions
 
PPTX
Angularjs basic part01
Mohd Abdul Baquee
 
PPTX
Angular JS training institute in Jaipur
HEMANT SAXENA
 
PDF
Introduction to Angularjs : kishan kumar
Appfinz Technologies
 
PPTX
Learning AngularJS - Complete coverage of AngularJS features and concepts
Suresh Patidar
 
PDF
One Weekend With AngularJS
Yashobanta Bai
 
PPTX
Intoduction to Angularjs
Gaurav Agrawal
 
PDF
Wt unit 5 client &amp; server side framework
PUNE VIDYARTHI GRIHA'S COLLEGE OF ENGINEERING, NASHIK
 
PDF
An introduction to AngularJS
Yogesh singh
 
PPTX
Kalp Corporate Angular Js Tutorials
Kalp Corporate
 
PPTX
Angular js introduction
Praveen Gubbala
 
PPTX
ME vs WEB - AngularJS Fundamentals
Aviran Cohen
 
PPTX
Angular Js
Knoldus Inc.
 
PDF
AngularJS By Vipin
Vipin Mundayad
 
PPTX
AngularJS.pptx
ssusera120f8
 
PPTX
Angular js
Radheshyam Kori
 
PPTX
Angular js
Radheshyam Kori
 
Angular JS, A dive to concepts
Abhishek Sur
 
AngularJS is awesome
Eusebiu Schipor
 
Introduction to single page application with angular js
Mindfire Solutions
 
Angularjs basic part01
Mohd Abdul Baquee
 
Angular JS training institute in Jaipur
HEMANT SAXENA
 
Introduction to Angularjs : kishan kumar
Appfinz Technologies
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Suresh Patidar
 
One Weekend With AngularJS
Yashobanta Bai
 
Intoduction to Angularjs
Gaurav Agrawal
 
Wt unit 5 client &amp; server side framework
PUNE VIDYARTHI GRIHA'S COLLEGE OF ENGINEERING, NASHIK
 
An introduction to AngularJS
Yogesh singh
 
Kalp Corporate Angular Js Tutorials
Kalp Corporate
 
Angular js introduction
Praveen Gubbala
 
ME vs WEB - AngularJS Fundamentals
Aviran Cohen
 
Angular Js
Knoldus Inc.
 
AngularJS By Vipin
Vipin Mundayad
 
AngularJS.pptx
ssusera120f8
 
Angular js
Radheshyam Kori
 
Angular js
Radheshyam Kori
 
Ad

Recently uploaded (20)

PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 

Angular JS - Introduction

  • 1. HTML enhanced for web apps! ~Sagar Acharya
  • 2. Agenda • Misunderstandings • What is angular? • SPAs • Why angular? • Features • MVC/MVVM • Directives, filters, expression • Demo • Why should we use it? • Why developer should use it? • Stats
  • 3. Another JS Lib Lots of new learning Difficult to learn Useful for web only Used for styling purpose
  • 4. What is ANGULARJS? • It’s not a JavaScript library (As they say). There are no functions which we can directly call and use. • It is not a DOM manipulation library like jQuery. But it uses subset of jQuery for DOM manipulation (called jqLite).
  • 5. What is ANGULAR JS? (contd…) • Focus more on HTML side of web apps. • For MVC/MVVM design pattern • AngularJS is a Javascript MVC framework created by Google to build properly architectured and maintenable web applications. • “ANGULARJS is what HTML could have been if it had been designed for web application development.” • AngularJS extends HTML with new attributes.
  • 6. Single Page Application (SPA) SPA Demo http://www.myspa.com View View View View
  • 7. The Challenge with SPAs DOM Manipulation History Routing Module Loading Data Binding Object Modeling Ajax/Promises Caching View Loading
  • 9. Why ANGULARJS? • Defines numerous ways to organize web application at client side. • Enhances HTML by attaching directives, custom tags, attributes, expressions, templates within HTML. • Encourage TDD • Encourage MVC/MVVM design pattern • Code Reuse • Good for Single Page Apps (SPA) • Cool Features -> Next Slide
  • 10. Key Features of ANGULARJS ngularJS is a full-featured SPA framework Data Binding MVC Routing Templates ViewModel Views Controllers Dependency Injection Directives Testing Controllers jqLite Validation FactoriesHistory
  • 11. MVC : Model View Controller View ControllerModel 1. Event or User Action or View Load 2. Maps to particular Model after fetching the data 3. Implement the Business Logic on response data and Bind it to View View : • Renders the Model data • Send User actions/events to controller • UI Controller: • Define Application Behavior • Maps user actions to Model • Select view for response Model: • Business Logic • Notify view changes • Application Functionality • Data in general
  • 12. MVVM: Model View ViewModel View ViewModelModel UI Presentation LogicBusiness Logic and Data • User actions, commands • Data binding • Notifications • Data Access • Update ViewModel about change
  • 13. What are Directives? • The directives can be placed in element names, attributes, class names, as well as comments. Directives are a way to teach HTML new tricks. • A directive is just a function which executes when the compiler encounters it in the DOM. • <input ng-model='name'> • Custom Defined Directives • <span draggable>Drag ME</span>
  • 14. What are Directives? (contd..) <!DOCTYPE html> <html ng-app> <head> <title></title> </head> <body> <div class="container"> Name: <input type="text" ng-model="name" /> {{ name }} </div> <script src="Scripts/angular.js"></script> </body> </html> Directive Directive Data Binding Expression
  • 15. Iterating with ng-repeat Directive <html data-ng-app=""> ... <div class="container" data-ng-init="names=['Dave','Napur','Heedy','Shriva']"> <h3>Looping with the ng-repeat Directive</h3> <ul> <li data-ng-repeat="name in names">{{ name }}</li> </ul> </div> ... </html> Iterate through names
  • 16. Filters Angular filters format data for display to the user. {{ expression [| filter_name[:parameter_value] ... ] }} {{ uppercase_expression | uppercase }} {{ expression | filter1 | filter2 }} Can create custom filters
  • 17. Using Filters <ul> <li data-ng-repeat="cust in customers | orderBy:'name'"> {{ cust.name | uppercase }} </li> </ul> Order customers by name property <input type="text" data-ng-model="nameText" /> <ul> <li data-ng-repeat="cust in customers | filter:nameText | orderBy:'name'"> {{ cust.name }} - {{ cust.city }}</li> </ul> Filter customers by model value
  • 18. Expression Expressions are JavaScript-like code snippets that are usually placed in bindings such as {{ expression }} <body> 1+2={{1+2}} </body>
  • 19. Demo
  • 20. Why should we use Angular JS? • Bootstrap features • Directives for animation & effects for interactive UI • SPA : modern way to represent WEB APP • Compatible with mobile app development
  • 21. Why Developer should use Angular JS? • It is developed by google. • RESTful actions (Using one line of JS you can quickly communicate with server) • Dependency Injection (DI) is a software design pattern that deals with how components get hold of their dependencies. • Provides several options for testing (TDD) • Flexibility with filters • Good documentation & resources.
  • 22. Some Statistics! o Angular JS is 3 times faster than any external JS available till now ~Google.
  • 23. More Statistics! (Interesting One) • GITHUB Stats: • Stars: o if you star a repository, you basically want to show your appreciation as well as keep track of repositories that you find interesting without it spamming your timeline. o In top 3 of github stars project list, only bootstrap & node js is ahead of it. o Check stars stats: o https://github.com/search?utf8=%E2%9C%93&q=stars%3A%3E30000&type=Repositories&ref=searchresult s • fork: o In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software. o In top 7 of github fork project list. o Check fork stats: o https://github.com/search?utf8=%E2%9C%93&q=forks%3A%3E10000&type=Repositories&ref=searchresult s
  • 24. Resources Documentation • AngularJS Developer Guide • AngularJS API • AngularJS Tutorial Videos • AngularJS Fundamentals In 60-ish Minutes • Introduction to Angular JS • AngularJS end-to-end web app tutorial Part I

Editor's Notes

  • #27: In Slide Show mode, click the arrow to enter the PowerPoint Getting Started Center.