SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
MEAN STACK
KRISHNAPRASAD K
13MCA11020
Agenda
• Introduction
• What is LAMP?
• Requirements for a modern web
• What is MEAN?
• What is MongoDB?
• What is Express?
• What is Angular JS?
• What is Node.JS?
• Disadvantages of MEAN STACK
• Conclusion
• Any Questions?
Introduction
• MEAN is an opinionated full stack JavaScript
framework which simplifies 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.
What is LAMP ?
• Linux
• Apache
• MySQL
• PHP
• LAMP stack is a popular open source web platform commonly
used to run dynamic web sites and servers.
• It includes Linux, Apache, MySQL, and PHP/Python/Perl and is
considered by many the platform of choice for development
and deployment of high performance web applications which
require a solid and reliable foundation.
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

Contenu connexe

Tendances

Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web DevelopmentSWAGATHCHOWDARY1
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...Hariharan Ganesan
 
HTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status CodeHTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status CodeAbhishek L.R
 
Getting started with Next.js
Getting started with Next.jsGetting started with Next.js
Getting started with Next.jsGökhan Sarı
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web developmentCrampete
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETRajkumarsoy
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
JSON: The Basics
JSON: The BasicsJSON: The Basics
JSON: The BasicsJeff Fox
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBRavi Teja
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptEdureka!
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Oleksii Prohonnyi
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS Ganesh Kondal
 

Tendances (20)

Angularjs PPT
Angularjs PPTAngularjs PPT
Angularjs PPT
 
Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web Development
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
HTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status CodeHTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status Code
 
Getting started with Next.js
Getting started with Next.jsGetting started with Next.js
Getting started with Next.js
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
AngularJS
AngularJS AngularJS
AngularJS
 
JSON: The Basics
JSON: The BasicsJSON: The Basics
JSON: The Basics
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScript
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
 

En vedette

Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stackYoann Gotthilf
 
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsMongoDB
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSM R Rony
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Get MEAN! Node.js and the MEAN stack
Get MEAN!  Node.js and the MEAN stackGet MEAN!  Node.js and the MEAN stack
Get MEAN! Node.js and the MEAN stackNicholas McClay
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page ApplicationKMS Technology
 
Single Page Application presentation
Single Page Application presentationSingle Page Application presentation
Single Page Application presentationJohn Staveley
 
Does my DIV look big in this?
Does my DIV look big in this?Does my DIV look big in this?
Does my DIV look big in this?glen_a_smith
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get startedAngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get startedStéphane Bégaudeau
 
AngularJS application architecture
AngularJS application architectureAngularJS application architecture
AngularJS application architectureGabriele Falace
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS ArchitectureEyal Vardi
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2Knoldus Inc.
 

En vedette (15)

Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stack
 
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Get MEAN! Node.js and the MEAN stack
Get MEAN!  Node.js and the MEAN stackGet MEAN!  Node.js and the MEAN stack
Get MEAN! Node.js and the MEAN stack
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
 
Single Page Application presentation
Single Page Application presentationSingle Page Application presentation
Single Page Application presentation
 
Does my DIV look big in this?
Does my DIV look big in this?Does my DIV look big in this?
Does my DIV look big in this?
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get startedAngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get started
 
AngularJS application architecture
AngularJS application architectureAngularJS application architecture
AngularJS application architecture
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS Architecture
 
AngularJS Basics with Example
AngularJS Basics with ExampleAngularJS Basics with Example
AngularJS Basics with Example
 
Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 

Similaire à MEAN Stack

Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraKishore Chandra
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETAlan Hecht
 
web development with mern stack in power point
web development with mern stack in power pointweb development with mern stack in power point
web development with mern stack in power pointRAMKUMARRIT20
 
Final year presentation topicssssss in 1
Final year presentation topicssssss in 1Final year presentation topicssssss in 1
Final year presentation topicssssss in 1RAMKUMARRIT20
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node jsHabilelabs
 
recenttrendtechnology-2112N18132657.pptx
recenttrendtechnology-2112N18132657.pptxrecenttrendtechnology-2112N18132657.pptx
recenttrendtechnology-2112N18132657.pptxAMITKUMAR938671
 
Building Modern Web Apps with MEAN Stack
Building Modern Web Apps with MEAN StackBuilding Modern Web Apps with MEAN Stack
Building Modern Web Apps with MEAN StackSuresh Patidar
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.jsKasey McCurdy
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Todaybretticus
 
Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)Ran Mizrahi
 
Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)Ran Mizrahi
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
 
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedProject First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedarya krazydude
 
List of Web Technologies used in Web Development
List of Web Technologies used in Web DevelopmentList of Web Technologies used in Web Development
List of Web Technologies used in Web DevelopmentJayapal Reddy Nimmakayala
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN StackRob Davarnia
 

Similaire à MEAN Stack (20)

Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
Mean stack
Mean stackMean stack
Mean stack
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NET
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
web development with mern stack in power point
web development with mern stack in power pointweb development with mern stack in power point
web development with mern stack in power point
 
Final year presentation topicssssss in 1
Final year presentation topicssssss in 1Final year presentation topicssssss in 1
Final year presentation topicssssss in 1
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
recenttrendtechnology-2112N18132657.pptx
recenttrendtechnology-2112N18132657.pptxrecenttrendtechnology-2112N18132657.pptx
recenttrendtechnology-2112N18132657.pptx
 
Building Modern Web Apps with MEAN Stack
Building Modern Web Apps with MEAN StackBuilding Modern Web Apps with MEAN Stack
Building Modern Web Apps with MEAN Stack
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
 
Meanstack overview
Meanstack overviewMeanstack overview
Meanstack overview
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
 
Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)
 
Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
 
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedProject First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be used
 
List of Web Technologies used in Web Development
List of Web Technologies used in Web DevelopmentList of Web Technologies used in Web Development
List of Web Technologies used in Web Development
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
 

Dernier

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Dernier (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

MEAN Stack

  • 2. Agenda • Introduction • What is LAMP? • Requirements for a modern web • What is MEAN? • What is MongoDB? • What is Express? • What is Angular JS? • What is Node.JS? • Disadvantages of MEAN STACK • Conclusion • Any Questions?
  • 3. Introduction • MEAN is an opinionated full stack JavaScript framework which simplifies 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.
  • 4. What is LAMP ? • Linux • Apache • MySQL • PHP • LAMP stack is a popular open source web platform commonly used to run dynamic web sites and servers. • It includes Linux, Apache, MySQL, and PHP/Python/Perl and is considered by many the platform of choice for development and deployment of high performance web applications which require a solid and reliable foundation.
  • 5. 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
  • 6. 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
  • 7. 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.
  • 8. • 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
  • 10. 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.
  • 11. 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
  • 12. MongoDB RDBMS Collection Table Document Row Index Index Embedded Document Join Reference Foreign Key
  • 13. 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 })
  • 16. MongoDB – Query a database
  • 17. 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
  • 18. 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.
  • 19. 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
  • 20. 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.
  • 21. 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!'); });
  • 22. 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.
  • 23. 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.
  • 24. 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
  • 26. 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.
  • 27. 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.
  • 28. Advantages and Disadvantages Advantages • Fast development • Makes developing SPA easy • Awesome performance • Make apps scalable Disadvantages • Good for IO driven apps only (not games)
  • 29. 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.
  • 30. 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
  • 31. 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!
  • 33. 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');
  • 34. Advantage and Disadvantage Advantages • Node.js is fast • The ever-growing NPM • Real-time web apps • Productivity Disadvantages • JavaScript's semantics and culture
  • 35. 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
  • 36. 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.
  • 37. References • http://www.mean.io • https://angularjs.org • http://mongodb.org • https://nodejs.org • http://expressjs.com • http://slideshare.net