SlideShare a Scribd company logo
Introduction
• MEAN is
framework which simplifies
an opinionated full stack JavaScript
and accelerates web
application development.
• MEAN represents a major shift in architecture and
mental models — from relational databases to
NoSQL and from server-side Model-View-Controller
to client-side, single-page applications.
• MEAN is an acronym for Mongo DB, Express
JS, Angular JS and Node. Js.
Problems with LAMP?
• Apache is not the fastest web server around
• It’s hard to write good-to-read, reusable and fast PHP
code
• Frontend works with other languages than the
backend
• Too many conversions (XML to PHP to HTML, model
to SQL)
• There is no separated server-side and client-side
development
Requirements for a
modern web?
• Customers want fast web sites/fast response times
• No page reloads
• Enterprises want to go virtual
o One box + Several virtual images => Shared Hardware
o System with minimal memory footprint/overhead needed
• As many concurrent requests as possible
• Only load resources when needed (conditional
loading)
• Mobile/Responsive UIs
What is MEAN Stack?
MEAN Stack is a full-stack JavaScript solution that
helps you build fast, robust and maintainable
production web applications using MongoDB, Express,
AngularJS, and Node.js.
• 100% free , 100% Open Source
• 100% Java Script (+JSON and HTML)
• 100% Web Standards
• Consistent Models from the backend to the frontend and back
• Use a uniform language throughout your stack
o JavaScript (the language of the web)
o JSON (the data format of the web)
o No conversion needed for the database
• Use JavaScript with a great framework (compared to jQuery)
• Allows to start with the complete frontend development first
• Very low memory footprint/overhead
Processing model
MongoDB
MongoDB is a cross-platform document-oriented
database - classified as a NoSQL database which
eschews the traditional table-based relational database
structure in favour of JSON-like documents with
dynamic schemas.
What is MongoDB
• Developed by software company 10gen (now
MongoDB Inc.)
• Fast NoSQL schemaless database written in C++
• Document-Oriented Storage
o JSON-style documents with dynamic schemas
• Full Index Support
o Index on any attribute
o Replication & High Availability
• Auto-Sharding
o Scale horizontally without compromising functionality
MongoDB RDBMS
Collection Table
Document Row
Index Index
Embedded Document Join
Reference Foreign Key
Example
>db.mycol.insert({ _id:
ObjectId(7df78ad8902c),
title: 'MongoDB Overview',
description: 'MongoDB is
no sql database', by:
'tutorials point', url:
'http://www.tutorialspoint.
com', tags: ['mongodb',
'database', 'NoSQL'], likes:
100 })
MongoDB - Document
MongoDB - Collection
MongoDB – Query a
database
Advantages And
Disadvantages
Advantages
• Lightening fast.
• Auto sharding.
• Replication is very easy.
• You can perform rich queries, can create on the fly
indexes with a single command.
Disadvantages
• Very unreliable
• Indexes take up a lot of RAM.
o B-tree indexes
Express JS
Express is a minimal and flexible node.js web
application framework, providing a robust set of
features for building single and multi-page, and hybrid
web applications.
What is Express ?
• Node JS based web framework
• Based on connect middleware
• Makes usage of Node JS even easier
• Easy to implement REST API
• Easy to implement session management
• Supports several template rendering engines (Jade, EJS)
o Supports partials -> so you can split your HTML in
fragments
• Asynchronous
• Implements MVC pattern
Express – What is it?
• Allows to set up middlewares to respond to HTTP
Requests.
• Defines a routing table which is used to perform
different action based on HTTP Method and URL.
• Allows to dynamically render HTML Pages based on
passing arguments to templates.
Example
var express = require('express');
var app = express();
app.get('/', function (req, res)
{
res.send('Hello World!'); });
app.listen(3000, function ()
{
console.log('Example app listening on port 3000!');
});
Advantages And
Disadvantages
Advantages
• Regardless of complexity, there should be very few
roadblocks if you know JavaScript well.
• Supports concurrency well.
• Fast and the performance is comparable with Golang
micro frameworks and Elixir's Phoenix.
Disadvantages
• There is no built in error handling methods.
What is Angular?
AngularJS is an open-source JavaScript
framework, maintained by Google, that assists with
running single-page applications.
• Its goal is to augment browser-based applications
with model–view–controller (MVC) capability, in an
effort to make both development and testing easier.
AngularJS
• JavaScript framework developed by Google
• Based on Model-View-* Pattern (client-side)
o MVC/MVVM
o Bi-Directional Data Binding
• Declarative Programming (focus on what – not the how!)
o Directives are integrated in HTML directly
o DOM Manipulations completely hidden
• Great for Frontend development
o Great for SPA (Single Page Applications)
o Great for mobile apps
• Very modular and extensible
o Makes testing an ease
• Great Browser support (> IE8)
• Well documented
Two Way Data-binding
AngularJs directives
• ng-app
o Declares an element as a root element of the application
allowing behaviour to be modified through custom HTML
tags.
• ng-bind
o Automatically changes the text of a HTML element to the
value of a given expression.
• ng-model
o Similar to ng-bind, but allows two-way data binding between
the view and the scope.
• ng-controller
o Specifies a JavaScript controller class that evaluates HTML
expressions.
AngularJs directives
• ng-repeat
o Instantiate an element once per item from a collection.
• ng-show & ng-hide
o Conditionally show or hide an element, depending on the
value of a boolean expression.
• ng-switch
o Conditionally instantiate one template from a set of choices,
depending on the value of a selection expression.
• ng-view
o The base directive responsible for handling routes that
resolve JSON before rendering templates driven by specified
controllers.
Advantages and
Disadvantages
Advantages
• Fast development
• Makes developing SPA easy
• Awesome performance
• Make apps scalable
Disadvantages
• Good for IO driven apps only (not games)
Node JS
Node.js is a platform built on Chrome's JavaScript
runtime for easily building fast, scalable network
applications.
• Node.js uses an event-driven, non-blocking I/O
model that makes it lightweight and efficient,
perfect for data-intensive real-time applications that
run across distributed devices.
What is Node JS ?
• Written in C/C++
o Can also use C libraries
• Built on top of Chrome’s V8 engine – so pure
JavaScript!
o Therefore based on latest ECMAScript 5
• Framework to build asynchronous I/O applications
• Single Threaded – no concurrency bugs – no
deadlocks!
o Not internally though – but we’ll get to that
• One node process = one CPU Core
What is Node JS continue
• Can easily handle 10k concurrent connections
o Doesn’t have any problems with concurrency
o Doesn’t create much overhead (CPU/Memory)
• Easily scalable (just create a cluster)
• Very fast (well, it’s mostly C code)
• Installation and first server start within less than 5
minutes
o REST-API that replies to GET requests can be
implemented in less than 5 minutes as well!
• It’s not a web framework!
Blocking I/O vs.
Non-Blocking I/O
Example
var http = require('http');
http.createServer(function (req, res)
{
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('HelloWorldn');
}).listen(80);
console.log('Server listening on port 80');
Advantage and
Disadvantage
Advantages
• Node.js is fast
• The ever-growing NPM
• Real-time web apps
• Productivity
Disadvantages
• JavaScript's semantics and culture
Disadvantages of mean
Stack
• There are still no general JS coding guidelines
• MongoDB is not as robust as an SQL server
o This security is what they sacrifice to gain speed
• Once you’ve created the first site with this
technology, it’s hard to go back to the old approach
Conclusion
In the end, Mean is a full stack, Javascript, web
application framework. If you require a fast, easy,
simple way to create a modern, responsive, dynamic
web site then MEAN would be a great solution.
References
• http://www.mean.io
• https://angularjs.org
• http://mongodb.org
• https://nodejs.org
• http://expressjs.com
• http://slideshare.net
Any Questions ? ?
THANK YOU

More Related Content

PDF
MEAN Stack
PDF
MEAN Stack
PDF
Meanstack Introduction by Kishore Chandra
PPTX
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
PPTX
What is Mean Stack Development ?
PPTX
Mean stack
PPT
Intro to SPA using JavaScript & ASP.NET
PDF
An introduction to Node.js
MEAN Stack
MEAN Stack
Meanstack Introduction by Kishore Chandra
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
What is Mean Stack Development ?
Mean stack
Intro to SPA using JavaScript & ASP.NET
An introduction to Node.js

Similar to mearn-stackjdksjdsfjdkofkdokodkojdj.pptx (20)

PPTX
Oracle application container cloud back end integration using node final
PPTX
mern _stack _power _point_ presentation(1)
PDF
Intro to node.js - Ran Mizrahi (28/8/14)
PDF
Intro to node.js - Ran Mizrahi (27/8/2014)
PPTX
Beginners Node.js
PPTX
FULL stack -> MEAN stack
PPTX
web development with mern stack in power point
PPTX
Final year presentation topicssssss in 1
PPTX
Introduction to MERN Stack
PDF
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
PPTX
recenttrendtechnology-2112N18132657.pptx
PDF
Beginning MEAN Stack
PPTX
Web Development Today
PPTX
Top 10 frameworks of node js
PPTX
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
PPTX
Building Modern Web Apps with MEAN Stack
PPTX
Frameworks Galore: A Pragmatic Review
PPTX
Javascript for Wep Apps
PDF
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
Oracle application container cloud back end integration using node final
mern _stack _power _point_ presentation(1)
Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (27/8/2014)
Beginners Node.js
FULL stack -> MEAN stack
web development with mern stack in power point
Final year presentation topicssssss in 1
Introduction to MERN Stack
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
recenttrendtechnology-2112N18132657.pptx
Beginning MEAN Stack
Web Development Today
Top 10 frameworks of node js
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Building Modern Web Apps with MEAN Stack
Frameworks Galore: A Pragmatic Review
Javascript for Wep Apps
Server Side Web Development Unit 1 of Nodejs.pptx
Ad

More from aravym456 (20)

PPTX
CYBER SECURITYghbvvvggyurdfjjjhhgggh.pptx
PPTX
Computer Architecturebhhgggfggtggeerr.pptx
PDF
cloud computing_ppt-1gdhdhudjdhshshhhshs.pdf
PPTX
Scientific_Thinking_and_Method_GE3791.pptx
PPTX
parellelisum edited_jsdnsfnjdnjfnjdn.pptx
PPTX
Unit 1 computer architecture_gghhhjjhbh.pptx
PPTX
ccs335cloudcomputing-231217103625-aae5b1a9 (1).pptx
PPTX
computer architecture_new_jjsdjsnjcj.pptx
PPTX
find_ajkjskjcksjkjkshdhsdchhjdjjdbj.pptx
PPTX
virtualization_sncjnscnskckskskksmkn.pptx
PPT
virtualization-aravind_1234567891011.ppt
PPTX
virtukdjkdjajdajkjdacdjdjdjcjdcjkdjc.pptx
PPTX
Presentation (1)djckdckdlckldlcdkclkld.pptx
PPT
14309525_docker_docker_docker_docker_introduction.ppt
PPTX
Presentationftftggggtggyyyyyyyyyyyy.pptx
PPTX
aravind_kmdfdgmfmfmmfmkmkmmgmbmgmbmgbmgmkm.pptx
PPTX
FINDERS CAMPdfgfgfggggggghghghggggg.pptx
PPTX
Perception Review ddddfdwscvfdddfdd.pptx
PPTX
Clpud-Computing-PPT-3_cloud_computing.pptx
DOCX
RTC RESEARCH FORTNIGHT RETgztxgcycgtcyv.docx
CYBER SECURITYghbvvvggyurdfjjjhhgggh.pptx
Computer Architecturebhhgggfggtggeerr.pptx
cloud computing_ppt-1gdhdhudjdhshshhhshs.pdf
Scientific_Thinking_and_Method_GE3791.pptx
parellelisum edited_jsdnsfnjdnjfnjdn.pptx
Unit 1 computer architecture_gghhhjjhbh.pptx
ccs335cloudcomputing-231217103625-aae5b1a9 (1).pptx
computer architecture_new_jjsdjsnjcj.pptx
find_ajkjskjcksjkjkshdhsdchhjdjjdbj.pptx
virtualization_sncjnscnskckskskksmkn.pptx
virtualization-aravind_1234567891011.ppt
virtukdjkdjajdajkjdacdjdjdjcjdcjkdjc.pptx
Presentation (1)djckdckdlckldlcdkclkld.pptx
14309525_docker_docker_docker_docker_introduction.ppt
Presentationftftggggtggyyyyyyyyyyyy.pptx
aravind_kmdfdgmfmfmmfmkmkmmgmbmgmbmgbmgmkm.pptx
FINDERS CAMPdfgfgfggggggghghghggggg.pptx
Perception Review ddddfdwscvfdddfdd.pptx
Clpud-Computing-PPT-3_cloud_computing.pptx
RTC RESEARCH FORTNIGHT RETgztxgcycgtcyv.docx
Ad

Recently uploaded (20)

PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
High Ground Student Revision Booklet Preview
DOCX
UPPER GASTRO INTESTINAL DISORDER.docx
PDF
Landforms and landscapes data surprise preview
PPTX
Software Engineering BSC DS UNIT 1 .pptx
PPTX
Introduction and Scope of Bichemistry.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PPTX
Revamp in MTO Odoo 18 Inventory - Odoo Slides
PDF
Piense y hagase Rico - Napoleon Hill Ccesa007.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Onica Farming 24rsclub profitable farm business
PPTX
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
PPTX
Congenital Hypothyroidism pptx
PDF
The Final Stretch: How to Release a Game and Not Die in the Process.
PDF
What Is Coercive Control? Understanding and Recognizing Hidden Abuse
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
English Language Teaching from Post-.pdf
PDF
From loneliness to social connection charting
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
human mycosis Human fungal infections are called human mycosis..pptx
High Ground Student Revision Booklet Preview
UPPER GASTRO INTESTINAL DISORDER.docx
Landforms and landscapes data surprise preview
Software Engineering BSC DS UNIT 1 .pptx
Introduction and Scope of Bichemistry.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Open Quiz Monsoon Mind Game Final Set.pptx
Revamp in MTO Odoo 18 Inventory - Odoo Slides
Piense y hagase Rico - Napoleon Hill Ccesa007.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
Onica Farming 24rsclub profitable farm business
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
Congenital Hypothyroidism pptx
The Final Stretch: How to Release a Game and Not Die in the Process.
What Is Coercive Control? Understanding and Recognizing Hidden Abuse
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
English Language Teaching from Post-.pdf
From loneliness to social connection charting
Pharmacology of Heart Failure /Pharmacotherapy of CHF

mearn-stackjdksjdsfjdkofkdokodkojdj.pptx

  • 1. Introduction • MEAN is framework which simplifies an opinionated full stack JavaScript and accelerates web application development. • MEAN represents a major shift in architecture and mental models — from relational databases to NoSQL and from server-side Model-View-Controller to client-side, single-page applications. • MEAN is an acronym for Mongo DB, Express JS, Angular JS and Node. Js.
  • 2. Problems with LAMP? • Apache is not the fastest web server around • It’s hard to write good-to-read, reusable and fast PHP code • Frontend works with other languages than the backend • Too many conversions (XML to PHP to HTML, model to SQL) • There is no separated server-side and client-side development
  • 3. Requirements for a modern web? • Customers want fast web sites/fast response times • No page reloads • Enterprises want to go virtual o One box + Several virtual images => Shared Hardware o System with minimal memory footprint/overhead needed • As many concurrent requests as possible • Only load resources when needed (conditional loading) • Mobile/Responsive UIs
  • 4. What is MEAN Stack? MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.
  • 5. • 100% free , 100% Open Source • 100% Java Script (+JSON and HTML) • 100% Web Standards • Consistent Models from the backend to the frontend and back • Use a uniform language throughout your stack o JavaScript (the language of the web) o JSON (the data format of the web) o No conversion needed for the database • Use JavaScript with a great framework (compared to jQuery) • Allows to start with the complete frontend development first • Very low memory footprint/overhead
  • 7. MongoDB MongoDB is a cross-platform document-oriented database - classified as a NoSQL database which eschews the traditional table-based relational database structure in favour of JSON-like documents with dynamic schemas.
  • 8. What is MongoDB • Developed by software company 10gen (now MongoDB Inc.) • Fast NoSQL schemaless database written in C++ • Document-Oriented Storage o JSON-style documents with dynamic schemas • Full Index Support o Index on any attribute o Replication & High Availability • Auto-Sharding o Scale horizontally without compromising functionality
  • 9. MongoDB RDBMS Collection Table Document Row Index Index Embedded Document Join Reference Foreign Key
  • 10. Example >db.mycol.insert({ _id: ObjectId(7df78ad8902c), title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'tutorials point', url: 'http://www.tutorialspoint. com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
  • 13. MongoDB – Query a database
  • 14. Advantages And Disadvantages Advantages • Lightening fast. • Auto sharding. • Replication is very easy. • You can perform rich queries, can create on the fly indexes with a single command. Disadvantages • Very unreliable • Indexes take up a lot of RAM. o B-tree indexes
  • 15. Express JS Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
  • 16. What is Express ? • Node JS based web framework • Based on connect middleware • Makes usage of Node JS even easier • Easy to implement REST API • Easy to implement session management • Supports several template rendering engines (Jade, EJS) o Supports partials -> so you can split your HTML in fragments • Asynchronous • Implements MVC pattern
  • 17. Express – What is it? • Allows to set up middlewares to respond to HTTP Requests. • Defines a routing table which is used to perform different action based on HTTP Method and URL. • Allows to dynamically render HTML Pages based on passing arguments to templates.
  • 18. Example var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); });
  • 19. Advantages And Disadvantages Advantages • Regardless of complexity, there should be very few roadblocks if you know JavaScript well. • Supports concurrency well. • Fast and the performance is comparable with Golang micro frameworks and Elixir's Phoenix. Disadvantages • There is no built in error handling methods.
  • 20. What is Angular? AngularJS is an open-source JavaScript framework, maintained by Google, that assists with running single-page applications. • Its goal is to augment browser-based applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier.
  • 21. AngularJS • JavaScript framework developed by Google • Based on Model-View-* Pattern (client-side) o MVC/MVVM o Bi-Directional Data Binding • Declarative Programming (focus on what – not the how!) o Directives are integrated in HTML directly o DOM Manipulations completely hidden • Great for Frontend development o Great for SPA (Single Page Applications) o Great for mobile apps • Very modular and extensible o Makes testing an ease • Great Browser support (> IE8) • Well documented
  • 23. AngularJs directives • ng-app o Declares an element as a root element of the application allowing behaviour to be modified through custom HTML tags. • ng-bind o Automatically changes the text of a HTML element to the value of a given expression. • ng-model o Similar to ng-bind, but allows two-way data binding between the view and the scope. • ng-controller o Specifies a JavaScript controller class that evaluates HTML expressions.
  • 24. AngularJs directives • ng-repeat o Instantiate an element once per item from a collection. • ng-show & ng-hide o Conditionally show or hide an element, depending on the value of a boolean expression. • ng-switch o Conditionally instantiate one template from a set of choices, depending on the value of a selection expression. • ng-view o The base directive responsible for handling routes that resolve JSON before rendering templates driven by specified controllers.
  • 25. Advantages and Disadvantages Advantages • Fast development • Makes developing SPA easy • Awesome performance • Make apps scalable Disadvantages • Good for IO driven apps only (not games)
  • 26. Node JS Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. • Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
  • 27. What is Node JS ? • Written in C/C++ o Can also use C libraries • Built on top of Chrome’s V8 engine – so pure JavaScript! o Therefore based on latest ECMAScript 5 • Framework to build asynchronous I/O applications • Single Threaded – no concurrency bugs – no deadlocks! o Not internally though – but we’ll get to that • One node process = one CPU Core
  • 28. What is Node JS continue • Can easily handle 10k concurrent connections o Doesn’t have any problems with concurrency o Doesn’t create much overhead (CPU/Memory) • Easily scalable (just create a cluster) • Very fast (well, it’s mostly C code) • Installation and first server start within less than 5 minutes o REST-API that replies to GET requests can be implemented in less than 5 minutes as well! • It’s not a web framework!
  • 30. Example var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('HelloWorldn'); }).listen(80); console.log('Server listening on port 80');
  • 31. Advantage and Disadvantage Advantages • Node.js is fast • The ever-growing NPM • Real-time web apps • Productivity Disadvantages • JavaScript's semantics and culture
  • 32. Disadvantages of mean Stack • There are still no general JS coding guidelines • MongoDB is not as robust as an SQL server o This security is what they sacrifice to gain speed • Once you’ve created the first site with this technology, it’s hard to go back to the old approach
  • 33. Conclusion In the end, Mean is a full stack, Javascript, web application framework. If you require a fast, easy, simple way to create a modern, responsive, dynamic web site then MEAN would be a great solution.
  • 34. References • http://www.mean.io • https://angularjs.org • http://mongodb.org • https://nodejs.org • http://expressjs.com • http://slideshare.net