SlideShare a Scribd company logo
Client Side MVC & Angular
Client Side MVC & Angular
Client Side MVC & Angular
represent knowledge. A model could be a single 
object, or it could be some structure of objects. 
A is a (visual) representation of its model. It would 
ordinarily highlight certain attributes of the model and 
suppress others. 
A is the link between a user and the system. It 
provides the user with input by arranging for relevant views 
to present themselves in appropriate places on the screen.
Client Side MVC & Angular
The classes which are used to store and manipulate state, 
typically in a database of some kind. 
The user interface bits (in this case, HTML) necessary to render 
the model to the user. 
The brains of the application. The controller decides what the 
user's input was, how the model needs to change as a result of 
that input, and which resulting view should be used.
Client Side MVC & Angular
(Past) 
Browser 
HTTP Request Server 
+ 
Dispatcher 
C 
V M
(Present) 
Browser Server 
V M 
SPA HTML5 - JS 
Static content 
RESTful Endpoints 
Event publisher 
Request / response 
JSON - REST 
Web Sokets 
C
Client Side MVC & Angular
Client Side MVC & Angular
client-side MVC framework 
for dynamic web apps; 
perfect for building CRUD 
application: data-binding, 
templating, form validation, 
routing, dependency 
injection, reusable 
components; 
designed to be testable: 
unit-testing, end-to-end 
testing, mocks.
Declarative HTML approach 
2 way data binding 
reusable components - directives 
MVC / MVVM design pattern 
dependency injection 
routing 
templating 
animations 
form validation 
E2E integration testing / unit testing 
I18n & I10n
<!DOCTYPE html> 
<html ng-app="myApp"> 
<head> 
<title>Angular app</title> 
<script src="path/to/angular.js"> 
{{name}} 
//app.js 
angular 
.module('myApp', []) 
.controller('MyCtrl', function($scope){ 
$scope.name = 'World'; 
}); 
Plunker Example
Example Link
Browser loads the page and creates the DOM; 
Browser triggers DOMContentLoaded event; 
Angular looks into the DOM for the attribute 
and if the attribute it's found Angular will: 
load the module associated with the directive; 
create the application injector; 
compile the DOM into a Live View: 
: traverse the DOM and collect all of 
the directives - the result is a linking function; 
: combine the directive with a scope and 
produce a .
automatic propagation of data changes; 
model it's the single-source-of-truth; 
digest cycle; 
the view it's updated automatically when 
the model is changed; 
model is updated automatically when a 
value in the View has changed. 
no DOM manipulation needed.
Implement Angular data 
binding mechanism

More Related Content

PDF
Asynchronous JavaScript Programming
Haim Michael
 
PDF
Java 8 Lambda Built-in Functional Interfaces
Ganesh Samarthyam
 
PDF
Building RESTful applications using Spring MVC
IndicThreads
 
PPTX
Lambda Expressions in Java 8
icarter09
 
PPTX
Java script
Abhishek Kesharwani
 
PDF
Angular Directives
iFour Technolab Pvt. Ltd.
 
PDF
Webdriver.io
LinkMe Srl
 
PPTX
Introduction à ajax
Abdoulaye Dieng
 
Asynchronous JavaScript Programming
Haim Michael
 
Java 8 Lambda Built-in Functional Interfaces
Ganesh Samarthyam
 
Building RESTful applications using Spring MVC
IndicThreads
 
Lambda Expressions in Java 8
icarter09
 
Java script
Abhishek Kesharwani
 
Angular Directives
iFour Technolab Pvt. Ltd.
 
Webdriver.io
LinkMe Srl
 
Introduction à ajax
Abdoulaye Dieng
 

What's hot (20)

PDF
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
Microsoft
 
PPT
Ajax Presentation
alaa.moustafa
 
PPTX
Servlet.ppt
VMahesh5
 
PPTX
Angular interview questions
Goa App
 
PPTX
Java Spring
AathikaJava
 
PPTX
Java 8 - Features Overview
Sergii Stets
 
PPT
Jsp/Servlet
Sunil OS
 
PPTX
Enterprise java unit-1_chapter-3
sandeep54552
 
PPTX
jQuery
Jay Poojara
 
PDF
JavaScript Fetch API
Xcat Liu
 
PDF
Angular - Chapter 4 - Data and Event Handling
WebStackAcademy
 
PDF
Inheritance and interface
Shubham Sharma
 
PPTX
Ajax ppt - 32 slides
Smithss25
 
PPTX
Node js introduction
Joseph de Castelnau
 
PDF
jQuery for beginners
Arulmurugan Rajaraman
 
PPTX
Functional programming with Java 8
LivePerson
 
PPTX
An Introduction to the DOM
Mindy McAdams
 
PPTX
Java 8 presentation
Van Huong
 
PPTX
Nodejs functions & modules
monikadeshmane
 
PDF
Curso de Java: Introdução a lambda e Streams
Helder da Rocha
 
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
Microsoft
 
Ajax Presentation
alaa.moustafa
 
Servlet.ppt
VMahesh5
 
Angular interview questions
Goa App
 
Java Spring
AathikaJava
 
Java 8 - Features Overview
Sergii Stets
 
Jsp/Servlet
Sunil OS
 
Enterprise java unit-1_chapter-3
sandeep54552
 
jQuery
Jay Poojara
 
JavaScript Fetch API
Xcat Liu
 
Angular - Chapter 4 - Data and Event Handling
WebStackAcademy
 
Inheritance and interface
Shubham Sharma
 
Ajax ppt - 32 slides
Smithss25
 
Node js introduction
Joseph de Castelnau
 
jQuery for beginners
Arulmurugan Rajaraman
 
Functional programming with Java 8
LivePerson
 
An Introduction to the DOM
Mindy McAdams
 
Java 8 presentation
Van Huong
 
Nodejs functions & modules
monikadeshmane
 
Curso de Java: Introdução a lambda e Streams
Helder da Rocha
 
Ad

Viewers also liked (8)

PDF
Einführung in React
Sebastian Springer
 
PPTX
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
Syed Shanu
 
PPTX
Introduction of ASP.NET MVC and AngularJS
Mohamed Elkhodary
 
PDF
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
PDF
PMP Chap 7 - Project Cost Management - Part 2
Anand Bobade
 
PDF
PMPProcessGroupTasks
Anand Bobade
 
PDF
PMBOK-5th ed: PMP- Flashcards Part1/5
Anand Bobade
 
PDF
PMP Chap 7 - Project Cost Management - Part 1
Anand Bobade
 
Einführung in React
Sebastian Springer
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
Syed Shanu
 
Introduction of ASP.NET MVC and AngularJS
Mohamed Elkhodary
 
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
PMP Chap 7 - Project Cost Management - Part 2
Anand Bobade
 
PMPProcessGroupTasks
Anand Bobade
 
PMBOK-5th ed: PMP- Flashcards Part1/5
Anand Bobade
 
PMP Chap 7 - Project Cost Management - Part 1
Anand Bobade
 
Ad

Similar to Client Side MVC & Angular (20)

PPTX
Introduction to Angularjs
Manish Shekhawat
 
PDF
Introduction to Angularjs : kishan kumar
Appfinz Technologies
 
PPT
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
PPTX
Understanding angular js
Aayush Shrestha
 
DOCX
Single Page Application
Prasad Narasimhan
 
PDF
Spring Framework-II
People Strategists
 
PPTX
Intoduction to Angularjs
Gaurav Agrawal
 
PPT
MVC
akshin
 
PPTX
Training On Angular Js
Mahima Radhakrishnan
 
PPT
introduction to Angularjs basics
Ravindra K
 
ODP
Angularjs
Vincenzo Ferrari
 
PPTX
AngularJs Workshop SDP December 28th 2014
Ran Wahle
 
PDF
Leveling up with AngularJS
Austin Condiff
 
PPT
Struts(mrsurwar) ppt
mrsurwar
 
PDF
Components of a Generic Web Application Architecture
MadonnaLamin1
 
PPTX
Fundaments of Knockout js
Flavius-Radu Demian
 
PDF
Jinal desai .net
rohitkumar1987in
 
PDF
AngularJS - introduction & how it works?
Alexe Bogdan
 
PPTX
Angular introduction basic
jagriti srivastava
 
PPTX
Introduction to AngularJS
Shyjal Raazi
 
Introduction to Angularjs
Manish Shekhawat
 
Introduction to Angularjs : kishan kumar
Appfinz Technologies
 
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
Understanding angular js
Aayush Shrestha
 
Single Page Application
Prasad Narasimhan
 
Spring Framework-II
People Strategists
 
Intoduction to Angularjs
Gaurav Agrawal
 
MVC
akshin
 
Training On Angular Js
Mahima Radhakrishnan
 
introduction to Angularjs basics
Ravindra K
 
Angularjs
Vincenzo Ferrari
 
AngularJs Workshop SDP December 28th 2014
Ran Wahle
 
Leveling up with AngularJS
Austin Condiff
 
Struts(mrsurwar) ppt
mrsurwar
 
Components of a Generic Web Application Architecture
MadonnaLamin1
 
Fundaments of Knockout js
Flavius-Radu Demian
 
Jinal desai .net
rohitkumar1987in
 
AngularJS - introduction & how it works?
Alexe Bogdan
 
Angular introduction basic
jagriti srivastava
 
Introduction to AngularJS
Shyjal Raazi
 

More from Alexe Bogdan (7)

PDF
Angular promises and http
Alexe Bogdan
 
PDF
Dependency Injection pattern in Angular
Alexe Bogdan
 
PDF
HTML & JavaScript Introduction
Alexe Bogdan
 
PDF
Angular custom directives
Alexe Bogdan
 
PDF
Angular server-side communication
Alexe Bogdan
 
PDF
Angular Promises and Advanced Routing
Alexe Bogdan
 
PDF
AngularJS - dependency injection
Alexe Bogdan
 
Angular promises and http
Alexe Bogdan
 
Dependency Injection pattern in Angular
Alexe Bogdan
 
HTML & JavaScript Introduction
Alexe Bogdan
 
Angular custom directives
Alexe Bogdan
 
Angular server-side communication
Alexe Bogdan
 
Angular Promises and Advanced Routing
Alexe Bogdan
 
AngularJS - dependency injection
Alexe Bogdan
 

Recently uploaded (20)

PPTX
ppt lighfrsefsefesfesfsefsefsefsefserrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrt.pptx
atharvawafgaonkar
 
PPTX
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
PDF
Project English Paja Jara Alejandro.jpdf
AlejandroAlonsoPajaJ
 
PPTX
AI ad its imp i military life read it ag
ShwetaBharti31
 
PPTX
Black Yellow Modern Minimalist Elegant Presentation.pptx
nothisispatrickduhh
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PPTX
Unlocking Hope : How Crypto Recovery Services Can Reclaim Your Lost Funds
lionsgate network
 
PPTX
How tech helps people in the modern era.
upadhyayaryan154
 
PPTX
Different Generation Of Computers .pptx
divcoder9507
 
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
APNIC
 
PDF
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
PPTX
PPT_M4.3_WORKING WITH SLIDES APPLIED.pptx
MCEAMONVILLAVER
 
PPTX
Google SGE SEO: 5 Critical Changes That Could Wreck Your Rankings in 2025
Reversed Out Creative
 
PDF
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
PPTX
办理方法西班牙假毕业证蒙德拉贡大学成绩单MULetter文凭样本
xxxihn4u
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PDF
DNSSEC Made Easy, presented at PHNOG 2025
APNIC
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PPTX
LESSON-2-Roles-of-ICT-in-Teaching-for-learning_123922 (1).pptx
renavieramopiquero
 
PDF
Centralized Business Email Management_ How Admin Controls Boost Efficiency & ...
XgenPlus Technologies
 
ppt lighfrsefsefesfesfsefsefsefsefserrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrt.pptx
atharvawafgaonkar
 
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
Project English Paja Jara Alejandro.jpdf
AlejandroAlonsoPajaJ
 
AI ad its imp i military life read it ag
ShwetaBharti31
 
Black Yellow Modern Minimalist Elegant Presentation.pptx
nothisispatrickduhh
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
Unlocking Hope : How Crypto Recovery Services Can Reclaim Your Lost Funds
lionsgate network
 
How tech helps people in the modern era.
upadhyayaryan154
 
Different Generation Of Computers .pptx
divcoder9507
 
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
APNIC
 
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
PPT_M4.3_WORKING WITH SLIDES APPLIED.pptx
MCEAMONVILLAVER
 
Google SGE SEO: 5 Critical Changes That Could Wreck Your Rankings in 2025
Reversed Out Creative
 
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
办理方法西班牙假毕业证蒙德拉贡大学成绩单MULetter文凭样本
xxxihn4u
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
DNSSEC Made Easy, presented at PHNOG 2025
APNIC
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
LESSON-2-Roles-of-ICT-in-Teaching-for-learning_123922 (1).pptx
renavieramopiquero
 
Centralized Business Email Management_ How Admin Controls Boost Efficiency & ...
XgenPlus Technologies
 

Client Side MVC & Angular

  • 4. represent knowledge. A model could be a single object, or it could be some structure of objects. A is a (visual) representation of its model. It would ordinarily highlight certain attributes of the model and suppress others. A is the link between a user and the system. It provides the user with input by arranging for relevant views to present themselves in appropriate places on the screen.
  • 6. The classes which are used to store and manipulate state, typically in a database of some kind. The user interface bits (in this case, HTML) necessary to render the model to the user. The brains of the application. The controller decides what the user's input was, how the model needs to change as a result of that input, and which resulting view should be used.
  • 8. (Past) Browser HTTP Request Server + Dispatcher C V M
  • 9. (Present) Browser Server V M SPA HTML5 - JS Static content RESTful Endpoints Event publisher Request / response JSON - REST Web Sokets C
  • 12. client-side MVC framework for dynamic web apps; perfect for building CRUD application: data-binding, templating, form validation, routing, dependency injection, reusable components; designed to be testable: unit-testing, end-to-end testing, mocks.
  • 13. Declarative HTML approach 2 way data binding reusable components - directives MVC / MVVM design pattern dependency injection routing templating animations form validation E2E integration testing / unit testing I18n & I10n
  • 14. <!DOCTYPE html> <html ng-app="myApp"> <head> <title>Angular app</title> <script src="path/to/angular.js"> {{name}} //app.js angular .module('myApp', []) .controller('MyCtrl', function($scope){ $scope.name = 'World'; }); Plunker Example
  • 16. Browser loads the page and creates the DOM; Browser triggers DOMContentLoaded event; Angular looks into the DOM for the attribute and if the attribute it's found Angular will: load the module associated with the directive; create the application injector; compile the DOM into a Live View: : traverse the DOM and collect all of the directives - the result is a linking function; : combine the directive with a scope and produce a .
  • 17. automatic propagation of data changes; model it's the single-source-of-truth; digest cycle; the view it's updated automatically when the model is changed; model is updated automatically when a value in the View has changed. no DOM manipulation needed.
  • 18. Implement Angular data binding mechanism