SlideShare a Scribd company logo
M.E.A.N Stack
With Learning Single Page Application
By : Puguh Rismadi Ismail
From ; e-book Learning SPA by fernando montero
Understanding Single
Page Application
Topic Guidelines
●
Getting acquainted with SPAs
●
Understanding the working of SPAs
●
Understanding the MVC/MVVM/MV* pattern
●
Peculiarities between SPA and traditional web development
●
Choosing a library or framework
●
Introducing the MEAN stack
●
The available tools
●
It's all about JavaScript
●
HTML, CSS, and the responsive way
Single Page Application
●
SPA is a web application or website that fits on a
single web page with the goal of providing a more
fluid user experience and a rich interface. Also, only
one page is not limited to only one file; we can have
many templates in many different files.
●
Such applications can vary from a small simple create,
read, update, and delete (CRUD), like a to-do list,
until it reaches a more complex level with countless
views, libraries, templates, scripts, and validations.
Understanding the work of SPAs
●
Model View Controller (MVC) or Model View
Presenter (MVP).
●
We will see Model View ViewModel (MVVM)
Learning Single page Application chapter 1
MVC pattern
●
MVC is a software architecture pattern that emerged
in the 1980s, and it separates the visual representation
of information from the user's interaction.
●
However, we are talking about the MVC pattern on
the client side, for example, JavaScript running on the
client side, to be more specific, the web browser.
●
Note that the majority of SPAs transfer to a web
browser all the MVC logic used on the server with
languages such as Java, C#, and Ruby.
History of MVVM pattern
●
In 2004, Martin Fowler published a small article
about a design pattern called Presentation
Model.
●
Approximately one year later, in 2005, John
Gossman, a Microsoft architect for Windows
Presentation Foundation (WPF) and Silverlight,
revealed a new pattern on his blog, this time
named as Model View ViewModel.
●
MVVM is very similar to Presentation Model;
both patterns have an abstraction of a View (on
the frontend, the view concept is what the client
sees), which contains a View's state and behavior.
The difference between them is that the MVVM
model is more standardized and has been used in
Silverlight for many years.
●
MVVM is based on MVC and MVP, which
attempts to separate more clearly the
development of User Interfaces (UIs/frontend)
from that of the business logic and behavior in an
application.
overview of the MVC, MVVM, and
MVP I/O flow
Peculiarities between SPA and
traditional web development
●
One of the important points is that the MVC pattern
can be applied on the server side or client side. For
example, we can use the MVC pattern that runs on the
server using some JavaScript library as Express and
build a SPA only on the server (in this case, Node.js).
●
This is because MVC is a software architecture pattern
and can be applied on both sides, frontend with MVC
frontend frameworks and on server-side frameworks
such as Ruby on Rails and .NET.
●
On SPA, everything happens on just one page; as
mentioned before, there's no refresh on page
request, such as in multipage applications where
we have page reload on each request. All the
necessary content is injected into the page
through the use of Ajax and HTML templates to
render the content.
●
On multipage applications, we have HTML code
generated on the server, and this makes the job of styling
and customization of the user interface more difficult.
Generally, we cannot have simultaneous work on the
same screen.
●
Also, on multipage applications, the template used is the
server-side template, so the web page is parsed and sent
to the browser. However, in the case of SPA, the HTML
code is generated on the fly according to the view, using
some templates such as Handlebars and Underscores.
Choosing a library or framework
●
The community behind the tool
●
The frequency of updates
●
Support to other libraries
●
Dependencies
●
Modularity
Libary vs Frameworks
●
Libraries are snippets of codes, usually in the same
file, and intended to solve a single problem. Often,
they are fairly lightweight and have a very short
learning curve.
●
Frameworks are more robust and sometimes more
heavy than simple libraries; they have a directory
structure and a lot of concepts, conventions, and
rules to follow. They have a long learning curve.
Ex. Library
●
Bootbox (simple alert messages)
●
Knockout (data binds and observables)
●
jQuery (DOM manipulation and effects)
●
Rivets (data binding and templates)
frameworks; they all adopt a standard
MVC/MVVM
●
Ember
●
Angular
●
Kendo UI
●
Backbone
●
Meteor
Introduction
M.E.A.N STACK
MEAN
●
MongoDB, the database
●
Express, the server-side web framework
●
AngularJS, the frontend framework
●
Node.js, the server
Tools to develop web applications
Recommended IDE for lesson
Plugins
Indonesia Tutorial :
http://www.programming.smktarunabhakti.net/blog/2016/06/23/tutorial-node-js-part-1/
http://www.programming.smktarunabhakti.net/blog/2016/06/28/tutorial-node-js-part-2-
instalasi-ide-dan-plugin-nodejs/
Taking a Deep Dive into
Node.js and MongoDB
See you next chapter

More Related Content

What's hot (20)

PPTX
Making Single Page Applications (SPA) faster
Boris Livshutz
 
PPTX
Single page application and Framework
Chandrasekar G
 
PPTX
Single page App
Gaurav Gawande
 
PPTX
Building WordPress sites with AngularJS and the RESTful plugin JSON API
Eric Greene
 
PDF
Single page applications
Diego Cardozo
 
PPTX
Building WordPress sites with AngularJS and the RESTful plugin JSON API @ Dev...
Eric Greene
 
PDF
node.js in action
Karan Misra
 
PPTX
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Duy Lâm
 
PPTX
Getting SEO performance in Angular Meteor with ngmeta
Will Haire
 
PPTX
Using MAMP for Web Development
Eric Greene
 
PPT
Single Page Application presentation
John Staveley
 
PDF
Single Page Applications
Massimo Iacolare
 
PPT
single page application
Ravindra K
 
PPSX
Web technologies practical guide
samir azazy
 
PDF
Sexy React Stack
KMS Technology
 
PDF
Using WordPress as a Headless CMS
Adam Rasheed
 
PPTX
Introduction to Web development
Md. Shafiuzzaman Hira
 
PDF
React & Redux, how to scale?
KMS Technology
 
PPT
Jquery
Swapnil & Patil
 
Making Single Page Applications (SPA) faster
Boris Livshutz
 
Single page application and Framework
Chandrasekar G
 
Single page App
Gaurav Gawande
 
Building WordPress sites with AngularJS and the RESTful plugin JSON API
Eric Greene
 
Single page applications
Diego Cardozo
 
Building WordPress sites with AngularJS and the RESTful plugin JSON API @ Dev...
Eric Greene
 
node.js in action
Karan Misra
 
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Duy Lâm
 
Getting SEO performance in Angular Meteor with ngmeta
Will Haire
 
Using MAMP for Web Development
Eric Greene
 
Single Page Application presentation
John Staveley
 
Single Page Applications
Massimo Iacolare
 
single page application
Ravindra K
 
Web technologies practical guide
samir azazy
 
Sexy React Stack
KMS Technology
 
Using WordPress as a Headless CMS
Adam Rasheed
 
Introduction to Web development
Md. Shafiuzzaman Hira
 
React & Redux, how to scale?
KMS Technology
 

Viewers also liked (20)

PPTX
Pemrograman mobile menggunakan ionic framework
Puguh Rismadi
 
PPT
Introducing to node.js
JeongHun Byeon
 
PPTX
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
JungWoon Lee
 
PDF
JSConf US 2014: Building Isomorphic Apps
Spike Brehm
 
PPTX
Case study: integrating azure with google app engine
Miguel Scotter
 
PPTX
Single-page Application
Sangmin Yoon
 
PDF
HTML5 소개 및 배우기- HTML5 Open Conference
Channy Yun
 
PPTX
Five stages of grief: Evolving a multi-page web app to a single page application
Charles Knight
 
PPT
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
PPTX
Single Page WebApp Architecture
Morgan Cheng
 
PPTX
Building single page applications
SC5.io
 
PPTX
Microservice, Micro Deployments and DevOps
Alois Reitbauer
 
PDF
Web app 개발 방법론
Sang Seok Lim
 
PPTX
Agile - SCRUM을 통한 개발관리
SangJin Kang
 
PDF
스크럼, 이걸 왜 하나요
Insub Lee
 
PDF
Top 10 Questions about HTML5
Jonathan Jeon
 
PDF
ReactJS로 시작하는 멀티플랫폼 개발하기
Taegon Kim
 
PPTX
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
태준 문
 
PDF
애자일의 모든것
KH Park (박경훈)
 
PPSX
Agile vs Iterative vs Waterfall models
Marraju Bollapragada V
 
Pemrograman mobile menggunakan ionic framework
Puguh Rismadi
 
Introducing to node.js
JeongHun Byeon
 
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
JungWoon Lee
 
JSConf US 2014: Building Isomorphic Apps
Spike Brehm
 
Case study: integrating azure with google app engine
Miguel Scotter
 
Single-page Application
Sangmin Yoon
 
HTML5 소개 및 배우기- HTML5 Open Conference
Channy Yun
 
Five stages of grief: Evolving a multi-page web app to a single page application
Charles Knight
 
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
Single Page WebApp Architecture
Morgan Cheng
 
Building single page applications
SC5.io
 
Microservice, Micro Deployments and DevOps
Alois Reitbauer
 
Web app 개발 방법론
Sang Seok Lim
 
Agile - SCRUM을 통한 개발관리
SangJin Kang
 
스크럼, 이걸 왜 하나요
Insub Lee
 
Top 10 Questions about HTML5
Jonathan Jeon
 
ReactJS로 시작하는 멀티플랫폼 개발하기
Taegon Kim
 
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
태준 문
 
애자일의 모든것
KH Park (박경훈)
 
Agile vs Iterative vs Waterfall models
Marraju Bollapragada V
 
Ad

Similar to Learning Single page Application chapter 1 (20)

PPTX
Javascript from beginning to modern
Prem Narain
 
PPTX
Front End Development | Introduction
JohnTaieb
 
PPT
Comparative analysis of java script framework
Nishant Kumar
 
PPTX
Angular.js vs React.js vs Vue.js _ Elsner.pptx
Elsner Technologies Pvt. Ltd.
 
PPTX
Javascript frameworks
RajkumarJangid7
 
DOCX
Top 10 Javascript Frameworks For Easy Web Development
Technostacks Infotech Pvt. Ltd.
 
PDF
5 Front End Frameworks to Master in Web Development.pdf
Mverve1
 
PPSX
Introduction to backbone_js
Mohammed Saqib
 
PPTX
JavaScript - Kristiansand PHP
holeedave
 
PPTX
5 Powerful Backend Frameworks for Web App Development in 2022
75waytechnologies
 
PPTX
MWLUG 2015 - An Introduction to MVC
Ulrich Krause
 
PPTX
An Introduction To Model  View  Controller In XPages
Ulrich Krause
 
PPT
Top java script frameworks ppt
Omkarsoft Bangalore
 
PPTX
Javascript 01 (js)
AbhishekMondal42
 
PPTX
PPT ON UI.pptx
ssusera5f9d81
 
PDF
Angular - Chapter 1 - Introduction
WebStackAcademy
 
PPTX
Low-Cost Digital Marketing Service in Nagpur | PSK Technologies
PSK Technolgies Pvt. Ltd. IT Company Nagpur
 
PPTX
9 Best JavaScript Frameworks To Choose
Albiorix Technology
 
PPTX
Framework_Model_Overview for App Develop
MARIESTELLAGERODIAS
 
PPTX
Introduction to MVC Web Framework with CodeIgniter
Pongsakorn U-chupala
 
Javascript from beginning to modern
Prem Narain
 
Front End Development | Introduction
JohnTaieb
 
Comparative analysis of java script framework
Nishant Kumar
 
Angular.js vs React.js vs Vue.js _ Elsner.pptx
Elsner Technologies Pvt. Ltd.
 
Javascript frameworks
RajkumarJangid7
 
Top 10 Javascript Frameworks For Easy Web Development
Technostacks Infotech Pvt. Ltd.
 
5 Front End Frameworks to Master in Web Development.pdf
Mverve1
 
Introduction to backbone_js
Mohammed Saqib
 
JavaScript - Kristiansand PHP
holeedave
 
5 Powerful Backend Frameworks for Web App Development in 2022
75waytechnologies
 
MWLUG 2015 - An Introduction to MVC
Ulrich Krause
 
An Introduction To Model  View  Controller In XPages
Ulrich Krause
 
Top java script frameworks ppt
Omkarsoft Bangalore
 
Javascript 01 (js)
AbhishekMondal42
 
PPT ON UI.pptx
ssusera5f9d81
 
Angular - Chapter 1 - Introduction
WebStackAcademy
 
Low-Cost Digital Marketing Service in Nagpur | PSK Technologies
PSK Technolgies Pvt. Ltd. IT Company Nagpur
 
9 Best JavaScript Frameworks To Choose
Albiorix Technology
 
Framework_Model_Overview for App Develop
MARIESTELLAGERODIAS
 
Introduction to MVC Web Framework with CodeIgniter
Pongsakorn U-chupala
 
Ad

Recently uploaded (20)

PDF
MOBILE AND WEB BASED REMOTE BUSINESS MONITORING SYSTEM
ijait
 
PPTX
Break Statement in Programming with 6 Real Examples
manojpoojary2004
 
PPTX
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPT
inherently safer design for engineering.ppt
DhavalShah616893
 
PDF
monopile foundation seminar topic for civil engineering students
Ahina5
 
PDF
ARC--BUILDING-UTILITIES-2-PART-2 (1).pdf
IzzyBaniquedBusto
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
PPTX
REINFORCEMENT AS CONSTRUCTION MATERIALS.pptx
mohaiminulhaquesami
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PPT
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
PPTX
Innowell Capability B0425 - Commercial Buildings.pptx
regobertroza
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PDF
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
PDF
Water Design_Manual_2005. KENYA FOR WASTER SUPPLY AND SEWERAGE
DancanNgutuku
 
PDF
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
MOBILE AND WEB BASED REMOTE BUSINESS MONITORING SYSTEM
ijait
 
Break Statement in Programming with 6 Real Examples
manojpoojary2004
 
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
inherently safer design for engineering.ppt
DhavalShah616893
 
monopile foundation seminar topic for civil engineering students
Ahina5
 
ARC--BUILDING-UTILITIES-2-PART-2 (1).pdf
IzzyBaniquedBusto
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
REINFORCEMENT AS CONSTRUCTION MATERIALS.pptx
mohaiminulhaquesami
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
Innowell Capability B0425 - Commercial Buildings.pptx
regobertroza
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Thermal runway and thermal stability.pptx
godow93766
 
Book.pdf01_Intro.ppt algorithm for preperation stu used
archu26
 
Water Design_Manual_2005. KENYA FOR WASTER SUPPLY AND SEWERAGE
DancanNgutuku
 
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 

Learning Single page Application chapter 1

  • 1. M.E.A.N Stack With Learning Single Page Application By : Puguh Rismadi Ismail From ; e-book Learning SPA by fernando montero
  • 3. Topic Guidelines ● Getting acquainted with SPAs ● Understanding the working of SPAs ● Understanding the MVC/MVVM/MV* pattern ● Peculiarities between SPA and traditional web development ● Choosing a library or framework ● Introducing the MEAN stack ● The available tools ● It's all about JavaScript ● HTML, CSS, and the responsive way
  • 4. Single Page Application ● SPA is a web application or website that fits on a single web page with the goal of providing a more fluid user experience and a rich interface. Also, only one page is not limited to only one file; we can have many templates in many different files. ● Such applications can vary from a small simple create, read, update, and delete (CRUD), like a to-do list, until it reaches a more complex level with countless views, libraries, templates, scripts, and validations.
  • 5. Understanding the work of SPAs ● Model View Controller (MVC) or Model View Presenter (MVP). ● We will see Model View ViewModel (MVVM)
  • 7. MVC pattern ● MVC is a software architecture pattern that emerged in the 1980s, and it separates the visual representation of information from the user's interaction. ● However, we are talking about the MVC pattern on the client side, for example, JavaScript running on the client side, to be more specific, the web browser. ● Note that the majority of SPAs transfer to a web browser all the MVC logic used on the server with languages such as Java, C#, and Ruby.
  • 8. History of MVVM pattern ● In 2004, Martin Fowler published a small article about a design pattern called Presentation Model. ● Approximately one year later, in 2005, John Gossman, a Microsoft architect for Windows Presentation Foundation (WPF) and Silverlight, revealed a new pattern on his blog, this time named as Model View ViewModel.
  • 9. ● MVVM is very similar to Presentation Model; both patterns have an abstraction of a View (on the frontend, the view concept is what the client sees), which contains a View's state and behavior. The difference between them is that the MVVM model is more standardized and has been used in Silverlight for many years.
  • 10. ● MVVM is based on MVC and MVP, which attempts to separate more clearly the development of User Interfaces (UIs/frontend) from that of the business logic and behavior in an application.
  • 11. overview of the MVC, MVVM, and MVP I/O flow
  • 12. Peculiarities between SPA and traditional web development ● One of the important points is that the MVC pattern can be applied on the server side or client side. For example, we can use the MVC pattern that runs on the server using some JavaScript library as Express and build a SPA only on the server (in this case, Node.js). ● This is because MVC is a software architecture pattern and can be applied on both sides, frontend with MVC frontend frameworks and on server-side frameworks such as Ruby on Rails and .NET.
  • 13. ● On SPA, everything happens on just one page; as mentioned before, there's no refresh on page request, such as in multipage applications where we have page reload on each request. All the necessary content is injected into the page through the use of Ajax and HTML templates to render the content.
  • 14. ● On multipage applications, we have HTML code generated on the server, and this makes the job of styling and customization of the user interface more difficult. Generally, we cannot have simultaneous work on the same screen. ● Also, on multipage applications, the template used is the server-side template, so the web page is parsed and sent to the browser. However, in the case of SPA, the HTML code is generated on the fly according to the view, using some templates such as Handlebars and Underscores.
  • 15. Choosing a library or framework ● The community behind the tool ● The frequency of updates ● Support to other libraries ● Dependencies ● Modularity
  • 16. Libary vs Frameworks ● Libraries are snippets of codes, usually in the same file, and intended to solve a single problem. Often, they are fairly lightweight and have a very short learning curve. ● Frameworks are more robust and sometimes more heavy than simple libraries; they have a directory structure and a lot of concepts, conventions, and rules to follow. They have a long learning curve.
  • 17. Ex. Library ● Bootbox (simple alert messages) ● Knockout (data binds and observables) ● jQuery (DOM manipulation and effects) ● Rivets (data binding and templates)
  • 18. frameworks; they all adopt a standard MVC/MVVM ● Ember ● Angular ● Kendo UI ● Backbone ● Meteor
  • 20. MEAN ● MongoDB, the database ● Express, the server-side web framework ● AngularJS, the frontend framework ● Node.js, the server
  • 21. Tools to develop web applications
  • 22. Recommended IDE for lesson Plugins Indonesia Tutorial : http://www.programming.smktarunabhakti.net/blog/2016/06/23/tutorial-node-js-part-1/ http://www.programming.smktarunabhakti.net/blog/2016/06/28/tutorial-node-js-part-2- instalasi-ide-dan-plugin-nodejs/
  • 23. Taking a Deep Dive into Node.js and MongoDB
  • 24. See you next chapter