SlideShare a Scribd company logo
1 of 27
1
Building Modern Web Apps with MEANStack
By Suresh Patidar
E
2
Who am I?
{
"name":"Suresh Patidar",
"before":"Worked with ClearTrail Technologies and L&T",
"today":"UI Architect @ Calsoft",
"Geek":[
"Writes code for Frontend and Backend",
"Works on UI/UX aspect",
"Create Application Architecture and Design"
],
"languages-and-frameworks":[
"JavaScript, NodeJS, AngularJS, Backbone, JQuery…",
"HTML, CSS, SASS, LESS, Bootstrap etc.",
"Java, .NET (C#), Spring MVC",
"Oracle, MySql, MongoDB"
],
"specialized-in":[
"Application Architecture & Design",
"MEAN Stack/Full Stack Application Development",
"Web development/Architecture",
"Mobile Development"
]
}
3
Agenda
 Structure of web application
 The requirements for a Modern Web App
 What is MEAN stack?
 Who uses MEAN stack?
 How it is different from LAMP stack?
 The MEAN Stack Architecture and
Components
 So why Go MEAN?
 Value of the MEAN stack
 MEAN Security
 What’s bad about MEAN approach?
 Future of MEAN stack
 Any Questions?
4
Structure of Web Application
5
Web Application
6
Frontend vs. Backend
7
Requirements for a modern web app
 Customers want fast web sites/fast response time
 No page reloads
 Enterprises want to go virtual
• One box + Several Virtual Images = Shared Hardware
• Systems with minimal memory footprint/overhead needed
 As many concurrent requests as possible
 Only load resources when needed (conditional loading)
 Most of the data must come from a slim REST-API
 Mobile friendly/Responsive UIs
 Automated build for backend AND frontend
• Including check for coding conventions, testing,…
• Integration in company’s continuous integration platform
8
Front end vs. Back end
Introduction to the
MEAN Stack
9
What is MEAN stack?
“MEAN is a fullstack JavaScript platform for modern web applications”
– Mean.io
10
Who uses MEAN stack?
and many more…
11
How it is different from LAMP stack?
 Building web application with a LAMP approach
• Server-side language: PHP, Perl, JSP, ASP…
• Server-side container: Tomcat, Jboss, Jetty, Apache,…
• Server-side templating: HAML, Moustache,…
• Server-side MVC framework: Spring, Struts,…
• Client-side JavaScript: jQuery, AngularJS, BackboneJS
• > 5 different technologies/languages
 Building web applications with a MEAN approach
• JavaScript and JSON
• That’s it!
12
The MEAN architecture
13
AngularJS
Our app’s entire frontend
 Open source, maintained by Google
 Client Side MVC (MVVM) framework
 Excellent data bindings
 Very modular and extensible
 Great browser support (> IE8)
 Well documented
 Easy to test
14
Node.js
Lightweight web server framework
 Released in 2009 by Ryan Dahi
 Written in C/C++
 Built on Google Chrome’s V8 JavaScript engine
 Extremely lightweight and efficient
 What JavaScript has done for the web browser,
Node.js is doing for backend server
 Does module loading and Asynchronous IO
 Single threaded, One node process per CPU
 Easily scalable (just create a cluster)
 Great community and well maintained
15
Express
Create our routes and our API
 A simple, minimal, robust and flexible web
application framework for Node.js
 Gives everything we would expect to build a
modern web server
 Abstracts away a lot of low level logic (e.g. for
HTTP requests, SSL etc.)
 Helps organize your Node app into an MVC
structure
 Easy to implement REST API and session
management
 Middleware, routing, templating, static-files,
cookies, mime-types and much much more
16
MongoDB
Our data store
 A simple and scalable document based top
NoSQL Database
 Open Source, maintained by MongoDB
 JSON like syntax and model persistence
 Key-value stores
 Replication and High-Availability
 Flexible Schemas, Full Index support, Query
Selectors, Sharding and much much more
17
MEAN Stack Language and Format Usage
18
MEAN Stack Concepts
19
Advantages of MEAN Stack over conventional
Technology Stack
20
MEAN Stack (Full Stack) Development Team
21
So why Go MEAN?
 It is 100% free, Open Source and Web Standards
 JavaScript all the way down
 Consistent models across stack (backend to frontend and
back)
 Consistent best practices across stack
 Use a uniform language throughout your stack
• JavaScript (the language of the web)
• JSON (the data format of the web)
• No conversion needed for the database
 Very low memory footprint/overhead
 Leverage JavaScript’s popularity
 Huge community
22
Value of MEAN stack
 Universal end-to-end workflow
 Focus on speed of development
 Flexible pieces
23
MEAN Security
 It’s as insecure as you code it 
 It’s JavaScript so you have to be careful
• Always use “strict” mode
• Always declare variables
• Always throw all errors
• Always handle all callbacks (e.g. Success AND Error)
• Use patterns for visibility (e.g. Module pattern)
• Do static code analysis (JSHint/JSLint)
• Always encode untrusted data
 Use Angular sanitizer ($sanitize) to sanitize an HTML string by
stripping all potentially dangerous tokens
 And of course – never run any application as root! 
 Test, Test and Test
24
What’s bad about this “MEAN” approach
 For those who don’t like JavaScript – Its going to be killing you 
 There is still no general JS coding guidelines
 SPA need a new way of thinking
• The browser is your platform
 MongoDB is not as robust as an SQL Server is
• This security is what they sacrifice to gain speed
 We need to take care of rollbacks our self (2-Phase-Commit)
• ACID -> Possible but part of the driver/client application
 It’s hard to find specialists that are no hipsters
• Have the big picture/architecture for enterprise in mind
 It make sense to also have a look at Grunt, Yeoman and Bower in
order to create good developer experience
 Once you have created the first application with this technology,
it’s hard to go back to the old approach
25
Future of MEAN Stack
26
Future of MEAN Stack
Checkout http://stackoverflow.com/research/developer-survey-2016 for latest survey results
27

More Related Content

What's hot

Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN applicationFITC
 
MEAN Stack
MEAN StackMEAN Stack
MEAN StackDotitude
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackAvinash Kaza
 
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
 
Kick start your journey as mern stack developer
Kick start your journey as mern stack developerKick start your journey as mern stack developer
Kick start your journey as mern stack developerShrutiPanjwani1
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackMongoDB
 
MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackdivyapisces
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack developmentScott Lee
 
Full stack development tools & technologies
Full stack development tools & technologiesFull stack development tools & technologies
Full stack development tools & technologieskumar satyam
 
Introduction to MERN Stack
Introduction to MERN StackIntroduction to MERN Stack
Introduction to MERN StackSurya937648
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014Simona Clapan
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
You know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixYou know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixKeshav Murthy
 

What's hot (20)

Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN application
 
Mern stack developement
Mern stack developementMern stack developement
Mern stack developement
 
Mean PPT
Mean PPTMean PPT
Mean PPT
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with 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 ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
MEAN Stack
MEAN Stack MEAN Stack
MEAN Stack
 
Kick start your journey as mern stack developer
Kick start your journey as mern stack developerKick start your journey as mern stack developer
Kick start your journey as mern stack developer
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN Stack
 
Mean stack
Mean stackMean stack
Mean stack
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
 
MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN Stack
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
Full stack development tools & technologies
Full stack development tools & technologiesFull stack development tools & technologies
Full stack development tools & technologies
 
Introduction to MERN Stack
Introduction to MERN StackIntroduction to MERN Stack
Introduction to MERN Stack
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
You know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixYou know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on Informix
 

Viewers also liked

Introduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web TechnologiesIntroduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web TechnologiesSuresh Patidar
 
Knowledge share about scalable application architecture
Knowledge share about scalable application architectureKnowledge share about scalable application architecture
Knowledge share about scalable application architectureAHM Pervej Kabir
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 
SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) Linaro
 
Playing nice with the MEAN stack
Playing nice with the MEAN stackPlaying nice with the MEAN stack
Playing nice with the MEAN stackAspenware
 
Biological warfare
Biological warfareBiological warfare
Biological warfareTimiresh Das
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...NodejsFoundation
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web appsDirecti Group
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeCristina Munoz
 
Facebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenFacebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenHARMAN Services
 
Quadratic Formula Presentation
Quadratic Formula PresentationQuadratic Formula Presentation
Quadratic Formula Presentationanjuli1580
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web ApplicationsDavid Mitzenmacher
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture AppDynamics
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologiesbryanbibat
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami SayarFITC
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M usersJongyoon Choi
 
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview QuestionsArc & Codementor
 

Viewers also liked (19)

Introduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web TechnologiesIntroduction to Modern and Emerging Web Technologies
Introduction to Modern and Emerging Web Technologies
 
Knowledge share about scalable application architecture
Knowledge share about scalable application architectureKnowledge share about scalable application architecture
Knowledge share about scalable application architecture
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 
Mean stack
Mean stackMean stack
Mean stack
 
SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A) SFO15-TR6: Server Ecosystem Day (Part 6A)
SFO15-TR6: Server Ecosystem Day (Part 6A)
 
Playing nice with the MEAN stack
Playing nice with the MEAN stackPlaying nice with the MEAN stack
Playing nice with the MEAN stack
 
Biological warfare
Biological warfareBiological warfare
Biological warfare
 
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
 
Biological warfare
Biological warfareBiological warfare
Biological warfare
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
 
Facebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenFacebook Architecture - Breaking it Open
Facebook Architecture - Breaking it Open
 
Quadratic Formula Presentation
Quadratic Formula PresentationQuadratic Formula Presentation
Quadratic Formula Presentation
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami Sayar
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M users
 
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
 

Similar to Building Modern Web Apps with MEAN Stack

Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraKishore Chandra
 
Full stack Java Developer
Full stack Java DeveloperFull stack Java Developer
Full stack Java DeveloperMdHasan872214
 
Curriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quyCurriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quyHai Quy Nguyen
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
MEAN Stack vs MERN Stack Development
MEAN Stack vs MERN Stack Development MEAN Stack vs MERN Stack Development
MEAN Stack vs MERN Stack Development Meanstack Developer
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar
 
Mean Stack Development Full Course
Mean Stack Development Full CourseMean Stack Development Full Course
Mean Stack Development Full CourseInstaily Academy
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx75waytechnologies
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UIChandra Sekhar
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node jsHabilelabs
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao Behara
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao Behara
 
MEAN Stack Tutorial by jeetendra mandal
MEAN Stack Tutorial by jeetendra mandalMEAN Stack Tutorial by jeetendra mandal
MEAN Stack Tutorial by jeetendra mandaljeetendra mandal
 
IbrahimUpdated_resume
IbrahimUpdated_resumeIbrahimUpdated_resume
IbrahimUpdated_resumeZigin
 

Similar to Building Modern Web Apps with MEAN Stack (20)

Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Full stack Java Developer
Full stack Java DeveloperFull stack Java Developer
Full stack Java Developer
 
Curriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quyCurriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quy
 
Rinzu_Dongol-CV
Rinzu_Dongol-CVRinzu_Dongol-CV
Rinzu_Dongol-CV
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
MERN PPT
MERN PPTMERN PPT
MERN PPT
 
MEAN Stack vs MERN Stack Development
MEAN Stack vs MERN Stack Development MEAN Stack vs MERN Stack Development
MEAN Stack vs MERN Stack Development
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
 
Mean Stack Development Full Course
Mean Stack Development Full CourseMean Stack Development Full Course
Mean Stack Development Full Course
 
LOURDES_ARULRAJ
LOURDES_ARULRAJLOURDES_ARULRAJ
LOURDES_ARULRAJ
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UI
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_Webservice
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_Webservice
 
Java script framework
Java script frameworkJava script framework
Java script framework
 
Santosh_Resume_Java
Santosh_Resume_JavaSantosh_Resume_Java
Santosh_Resume_Java
 
MEAN Stack Tutorial by jeetendra mandal
MEAN Stack Tutorial by jeetendra mandalMEAN Stack Tutorial by jeetendra mandal
MEAN Stack Tutorial by jeetendra mandal
 
IbrahimUpdated_resume
IbrahimUpdated_resumeIbrahimUpdated_resume
IbrahimUpdated_resume
 

More from Suresh Patidar

Conducting Effective Interviews
Conducting Effective InterviewsConducting Effective Interviews
Conducting Effective InterviewsSuresh Patidar
 
Conducting Good Interviews
Conducting Good InterviewsConducting Good Interviews
Conducting Good InterviewsSuresh Patidar
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular applicationSuresh Patidar
 
Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerSuresh Patidar
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Learning AngularJS  - Complete coverage of AngularJS features and conceptsLearning AngularJS  - Complete coverage of AngularJS features and concepts
Learning AngularJS - Complete coverage of AngularJS features and conceptsSuresh Patidar
 
Space-Based Architecture
Space-Based ArchitectureSpace-Based Architecture
Space-Based ArchitectureSuresh Patidar
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentSuresh Patidar
 

More from Suresh Patidar (7)

Conducting Effective Interviews
Conducting Effective InterviewsConducting Effective Interviews
Conducting Effective Interviews
 
Conducting Good Interviews
Conducting Good InterviewsConducting Good Interviews
Conducting Good Interviews
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular application
 
Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web worker
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Learning AngularJS  - Complete coverage of AngularJS features and conceptsLearning AngularJS  - Complete coverage of AngularJS features and concepts
Learning AngularJS - Complete coverage of AngularJS features and concepts
 
Space-Based Architecture
Space-Based ArchitectureSpace-Based Architecture
Space-Based Architecture
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
 

Recently uploaded

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Recently uploaded (20)

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

Building Modern Web Apps with MEAN Stack

  • 1. 1 Building Modern Web Apps with MEANStack By Suresh Patidar E
  • 2. 2 Who am I? { "name":"Suresh Patidar", "before":"Worked with ClearTrail Technologies and L&T", "today":"UI Architect @ Calsoft", "Geek":[ "Writes code for Frontend and Backend", "Works on UI/UX aspect", "Create Application Architecture and Design" ], "languages-and-frameworks":[ "JavaScript, NodeJS, AngularJS, Backbone, JQuery…", "HTML, CSS, SASS, LESS, Bootstrap etc.", "Java, .NET (C#), Spring MVC", "Oracle, MySql, MongoDB" ], "specialized-in":[ "Application Architecture & Design", "MEAN Stack/Full Stack Application Development", "Web development/Architecture", "Mobile Development" ] }
  • 3. 3 Agenda  Structure of web application  The requirements for a Modern Web App  What is MEAN stack?  Who uses MEAN stack?  How it is different from LAMP stack?  The MEAN Stack Architecture and Components  So why Go MEAN?  Value of the MEAN stack  MEAN Security  What’s bad about MEAN approach?  Future of MEAN stack  Any Questions?
  • 4. 4 Structure of Web Application
  • 7. 7 Requirements for a modern web app  Customers want fast web sites/fast response time  No page reloads  Enterprises want to go virtual • One box + Several Virtual Images = Shared Hardware • Systems with minimal memory footprint/overhead needed  As many concurrent requests as possible  Only load resources when needed (conditional loading)  Most of the data must come from a slim REST-API  Mobile friendly/Responsive UIs  Automated build for backend AND frontend • Including check for coding conventions, testing,… • Integration in company’s continuous integration platform
  • 8. 8 Front end vs. Back end Introduction to the MEAN Stack
  • 9. 9 What is MEAN stack? “MEAN is a fullstack JavaScript platform for modern web applications” – Mean.io
  • 10. 10 Who uses MEAN stack? and many more…
  • 11. 11 How it is different from LAMP stack?  Building web application with a LAMP approach • Server-side language: PHP, Perl, JSP, ASP… • Server-side container: Tomcat, Jboss, Jetty, Apache,… • Server-side templating: HAML, Moustache,… • Server-side MVC framework: Spring, Struts,… • Client-side JavaScript: jQuery, AngularJS, BackboneJS • > 5 different technologies/languages  Building web applications with a MEAN approach • JavaScript and JSON • That’s it!
  • 13. 13 AngularJS Our app’s entire frontend  Open source, maintained by Google  Client Side MVC (MVVM) framework  Excellent data bindings  Very modular and extensible  Great browser support (> IE8)  Well documented  Easy to test
  • 14. 14 Node.js Lightweight web server framework  Released in 2009 by Ryan Dahi  Written in C/C++  Built on Google Chrome’s V8 JavaScript engine  Extremely lightweight and efficient  What JavaScript has done for the web browser, Node.js is doing for backend server  Does module loading and Asynchronous IO  Single threaded, One node process per CPU  Easily scalable (just create a cluster)  Great community and well maintained
  • 15. 15 Express Create our routes and our API  A simple, minimal, robust and flexible web application framework for Node.js  Gives everything we would expect to build a modern web server  Abstracts away a lot of low level logic (e.g. for HTTP requests, SSL etc.)  Helps organize your Node app into an MVC structure  Easy to implement REST API and session management  Middleware, routing, templating, static-files, cookies, mime-types and much much more
  • 16. 16 MongoDB Our data store  A simple and scalable document based top NoSQL Database  Open Source, maintained by MongoDB  JSON like syntax and model persistence  Key-value stores  Replication and High-Availability  Flexible Schemas, Full Index support, Query Selectors, Sharding and much much more
  • 17. 17 MEAN Stack Language and Format Usage
  • 19. 19 Advantages of MEAN Stack over conventional Technology Stack
  • 20. 20 MEAN Stack (Full Stack) Development Team
  • 21. 21 So why Go MEAN?  It is 100% free, Open Source and Web Standards  JavaScript all the way down  Consistent models across stack (backend to frontend and back)  Consistent best practices across stack  Use a uniform language throughout your stack • JavaScript (the language of the web) • JSON (the data format of the web) • No conversion needed for the database  Very low memory footprint/overhead  Leverage JavaScript’s popularity  Huge community
  • 22. 22 Value of MEAN stack  Universal end-to-end workflow  Focus on speed of development  Flexible pieces
  • 23. 23 MEAN Security  It’s as insecure as you code it   It’s JavaScript so you have to be careful • Always use “strict” mode • Always declare variables • Always throw all errors • Always handle all callbacks (e.g. Success AND Error) • Use patterns for visibility (e.g. Module pattern) • Do static code analysis (JSHint/JSLint) • Always encode untrusted data  Use Angular sanitizer ($sanitize) to sanitize an HTML string by stripping all potentially dangerous tokens  And of course – never run any application as root!   Test, Test and Test
  • 24. 24 What’s bad about this “MEAN” approach  For those who don’t like JavaScript – Its going to be killing you   There is still no general JS coding guidelines  SPA need a new way of thinking • The browser is your platform  MongoDB is not as robust as an SQL Server is • This security is what they sacrifice to gain speed  We need to take care of rollbacks our self (2-Phase-Commit) • ACID -> Possible but part of the driver/client application  It’s hard to find specialists that are no hipsters • Have the big picture/architecture for enterprise in mind  It make sense to also have a look at Grunt, Yeoman and Bower in order to create good developer experience  Once you have created the first application with this technology, it’s hard to go back to the old approach
  • 26. 26 Future of MEAN Stack Checkout http://stackoverflow.com/research/developer-survey-2016 for latest survey results
  • 27. 27