SlideShare a Scribd company logo
MEAN StackSuren Rodrigo
Associate Technical Architect
The partner of choice for ISV's
What do we need
> NodeJS
> Mongo DB
> Git
> Heroku Toolbelt for windows
(https://toolbelt.heroku.com/windows)
The partner of choice for ISV's
What are technology “Stacks”
> Collection of programing languages, tools, frameworks or
technologies that complement each other organized in a
way to enable developers to do their job.
> Ex: LAMP = Linux Apache MySQL PHP
The partner of choice for ISV's
Quiz 1
> What is the output of the following code
var isEqual = function(x,y)
{
return x==y;
};
console.log(isEqual("1",1));
ANSWER: true
The partner of choice for ISV's
Quiz 2
> What is the output of the following code
var addValue = function(x,y)
{
return
x+y;
};
console.log(addValue (1,1));
ANSWER: undefined
The partner of choice for ISV's
> What Is MEAN Stack?
> Why MEAN Stack?
> Demo Walkthrough (How easy it is to do MEAN things)
> What do I need to know to get started?
> Performance of MEAN Stack
> Productivity Tools
> What’s Bad in MEAN Stack
The partner of choice for ISV's
What is MEAN Stack?
"MEAN is a full stack JavaScript platform for modern web
applications“ - Mean.io
DatabaseBackend (Server)Front End (Client)
The partner of choice for ISV's
What is MEAN Stack?
> JavaScript is used in all tiers.
> JSON is the primary format to exchange data.
DatabaseBackend (Server)Front End (Client)
JavaScriptJavaScript JavaScriptJavaScript
JSONJSON JSONJSON
JSON (BSON)JSON (BSON)
The partner of choice for ISV's
Web Landscape has changed dramatically
> Customers want fast web sites/fast response times
> No page reloads (that’s so… 2010)
> Enterprises want to go virtual
> One box + Several virtual images => Shared Hardware
> System 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/Responsive UIs
> Automated build for backend AND frontend
> Including check for coding conventions, testing,…
> Integration in company’s continues integration platform (For JS see Grunt or Gulp)
We Need A Technology Stack that can enable these demands.
The partner of choice for ISV's
Why MEAN Stack?
• 100% free
• 100% Open Source
• 100% Java Script (+JSON and HTML)
• 100% Web Standards
• Huge community
• Consistent Models from the backend to the
frontend and back
• Use a uniform language throughout your
stack
• JavaScript (the language of the web)
• JSON (the data format of the web)
• Use JavaScript with a great framework
(compared to jQuery)
• Allows to start with the complete frontend
development first
• Very low memory footprint/overhead
The partner of choice for ISV's
Mongo DB (M)
> NoSQL DBMS
> SQL is not used to manipulate data, i.e. DML is not SQL
> Data manipulation is done via JavaScript
> Document Oriented
> Data is not organized into tables, rows and columns
> Data is organized into "collections" and "documents"
> "collection" is a rough map to a table and a "document" is a
rough map to a row.
The partner of choice for ISV's
Mongo DB (M)
> Documents are stored as BSON (Binary JSON)
> documents" are structured as BSON, BSON is nothing but
binary JSON
> Support Horizontal scaling i.e. splitting data between
multiple databases (Sharding)
> Mongo DB has Auto-Sharding
The partner of choice for ISV's
Mongo DB (M): Relational Vs NoSQL
The partner of choice for ISV's
Time to Mongo…
The partner of choice for ISV's
Node JS (N)
> Platform built on Chrome's JavaScript runtime (V8)
> So, Very Fast 
> You can program the server side using JavaScript!!!
> Asynchronous, Event Driven and None Blocking
> Node never wait, Events are handled using callbacks
> Single Threaded
> Excellent support for concurrent requests because of the
none blocking nature
The partner of choice for ISV's
Time for Node…
The partner of choice for ISV's
Angular (A)
> Powerful JavaScript based development framework to
create RICH Internet Application(RIA).
> Clean client side MVC pattern implementation. Support
other patterns such as MVVM too.
> Cross-browser compliant. AngularJS automatically handles
JavaScript code suitable for each browser
> Open source, completely free
The partner of choice for ISV's
Angular and JQuery
jQuery, you apply JavaScript to manipulate the DOM, but
in Angular you declare what the DOM should look like
ahead of time
Angular and JQuery Complement Each Other. So, You can
Use Both in your Applications.
The partner of choice for ISV's
Angular (A)
> Angular Applications are defined
as modules
> Modules can use other modules
The partner of choice for ISV's
Introduction to Cloud Computing : With AWS
“Blue” color slides are not mine.
Credits:
http://www.slideshare.net/AmazonWebServices/introduction-
to-amazon-web-services-7708257
The partner of choice for ISV's
The partner of choice for ISV's
The partner of choice for ISV's
The partner of choice for ISV's
The partner of choice for ISV's
The partner of choice for ISV's
The partner of choice for ISV's
The partner of choice for ISV's
Lunch?
The partner of choice for ISV's
Deploying our App to Cloud : Heroku
> Platform-as-a-Service (PaaS)
> Platform as a service (PaaS) is a category of cloud
computing services that provides a platform allowing
customers to develop, run and manage Web applications
without the complexity of building and maintaining the
infrastructure typically associated with developing and
launching an app.
> Quick Setup and Deployment
The partner of choice for ISV's
Deploying App to cloud: Heroku
> Go to http://www.heroku.com
> Register and Login
> Navigate to “meanapp_final_heroku” folder
> Create a git repo by entering “git init”
> Add and commit everything to repo
> git add –A
> git commit –m “first commit”
The partner of choice for ISV's
Deploying App to cloud: Heroku
> Type “heroku login” and provide the credentials when asked
> Issue “heroku create” to create the heroku application
> Issue “git remote –v” to view the remote repositories, confirm
heroku remote is listed.
> Issue “git push heroku master” to commit everything and
deploy the app
> Issue “heroku ps:scale web=1” to ensure at least 1 app
instance is running
> Issue “heroku open” to open the deployed app
The partner of choice for ISV's
Where do I begin? How to get started?
Learn Basics
on HTTP
and Web
Learn MVC
pattern in
Web
application
development
Learn about
JavaScript
(Most
Important
Step)
Learn
Angular JS
Learn Node
JS with
Express and
other
important
modules.
Learn
Mongo DB
Learn about
productivity
tools
The partner of choice for ISV's
MEAN Stack Performance
> Very Subjective matter
> MEAN Stack performance mainly depends on Node JS
performance since it’s where all the heavy processing is
done.
> Node JS is written in C++/C and have proven to be one of
the fastest.
> Some research show Node JS to be 20% faster than JAVA
EE.
The partner of choice for ISV's
Some of the Productivity Tools
> NPM (Well this is hardly optional) – Node Package
Manager
> Grunt/Gulp – Build Tools for JS
> Yeoman – Project Scaffolding Tool
> Bower – Client side package management
If you are thinking about any serious MEAN
development (or JS development for that
matter) you need to look into these.
The partner of choice for ISV's
What’s Bad in MEAN Stack
> For those who don’t like JavaScript – it’s going to be killing you!
> There are still no general JS coding guidelines
> SPAs need a new way of thinking(!)
> The browser is your platform!
> MongoDB is not as robust as an SQL server
> This security is what they sacrifice to gain speed
> You need to take care of rollbacks yourself (2-Phase-Commit)
> ACID => Possible – but part of the driver/client application
> It’s hard to find specialists that are no hipsters
> and have the big picture/architecture for enterprise solutions in mind
> Once you’ve created the first site with this technology, it’s hard to go
back to the old approach
the partner of choice for ISV's

More Related Content

What's hot

LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
Praveen Gubbala
 
MEAN Stack
MEAN Stack MEAN Stack
MEAN Stack
RoshanTak1
 
Mean PPT
Mean PPTMean PPT
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 
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
 
MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN Stack
MongoDB
 
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN StackMongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB
 
Mean stack
Mean stackMean stack
Mean stack
RavikantGautam8
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Krishnaprasad k
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
Ashok Raj
 
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
Keshav Murthy
 
Starting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackStarting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN Stack
MongoDB
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
Shailendra Chauhan
 
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
Simona Clapan
 
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
Suresh Patidar
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
Avinash Kaza
 
Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN application
FITC
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 

What's hot (19)

LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
 
MEAN Stack
MEAN Stack MEAN Stack
MEAN Stack
 
Mean PPT
Mean PPTMean PPT
Mean PPT
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
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 ...
 
MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN Stack
 
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN StackMongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
 
Mean stack
Mean stackMean stack
Mean stack
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 
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
 
Starting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackStarting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN Stack
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN 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
 
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
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
 
Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN application
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
 

Similar to MEAN Stack

The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
Nicholas Jansma
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
Brian Benz
 
Icter open shift
Icter open shiftIcter open shift
Develop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows AzureDevelop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows Azure
Andri Yadi
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 
Wrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web ApplicationsWrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web Applications
Ryan Roemer
 
Javascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsJavascript-heavy Salesforce Applications
Javascript-heavy Salesforce Applications
Salesforce Developers
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
Khaled Mosharraf
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Amazon Web Services
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
suneel singh
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Brian Culver
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021
SWATHYSMOHAN
 
Proposal
ProposalProposal
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
bretticus
 
Owasp Code Crawler Presentation
Owasp Code Crawler PresentationOwasp Code Crawler Presentation
Owasp Code Crawler Presentation
alessiomarziali
 
MongoDB on Windows Azure
MongoDB on Windows AzureMongoDB on Windows Azure
MongoDB on Windows Azure
MongoDB
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
Fwdays
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Amazon Web Services
 
Introduction to node.js by jiban
Introduction to node.js by jibanIntroduction to node.js by jiban
Introduction to node.js by jiban
Jibanananda Sana
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 

Similar to MEAN Stack (20)

The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Icter open shift
Icter open shiftIcter open shift
Icter open shift
 
Develop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows AzureDevelop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows Azure
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Wrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web ApplicationsWrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web Applications
 
Javascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsJavascript-heavy Salesforce Applications
Javascript-heavy Salesforce Applications
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021
 
Proposal
ProposalProposal
Proposal
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
 
Owasp Code Crawler Presentation
Owasp Code Crawler PresentationOwasp Code Crawler Presentation
Owasp Code Crawler Presentation
 
MongoDB on Windows Azure
MongoDB on Windows AzureMongoDB on Windows Azure
MongoDB on Windows Azure
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Introduction to node.js by jiban
Introduction to node.js by jibanIntroduction to node.js by jiban
Introduction to node.js by jiban
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
 

More from Dotitude

Career Paths for IT Graduates
Career Paths for IT Graduates Career Paths for IT Graduates
Career Paths for IT Graduates
Dotitude
 
How To Make A Good Resume
How To Make A Good ResumeHow To Make A Good Resume
How To Make A Good Resume
Dotitude
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
Dotitude
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
Dotitude
 
Beyond Tomorrow
Beyond TomorrowBeyond Tomorrow
Beyond Tomorrow
Dotitude
 
Cloud Ready Apps
Cloud Ready AppsCloud Ready Apps
Cloud Ready Apps
Dotitude
 
Connecting Dots - Preparing for future
Connecting Dots - Preparing for futureConnecting Dots - Preparing for future
Connecting Dots - Preparing for future
Dotitude
 
Evolution Towards Agile
Evolution Towards AgileEvolution Towards Agile
Evolution Towards Agile
Dotitude
 
Industry Expectations
Industry ExpectationsIndustry Expectations
Industry Expectations
Dotitude
 
Software Product Engineering Life-cycle
Software Product Engineering Life-cycleSoftware Product Engineering Life-cycle
Software Product Engineering Life-cycle
Dotitude
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Dotitude
 
Managing Your Online Presence
Managing Your Online PresenceManaging Your Online Presence
Managing Your Online Presence
Dotitude
 

More from Dotitude (12)

Career Paths for IT Graduates
Career Paths for IT Graduates Career Paths for IT Graduates
Career Paths for IT Graduates
 
How To Make A Good Resume
How To Make A Good ResumeHow To Make A Good Resume
How To Make A Good Resume
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Beyond Tomorrow
Beyond TomorrowBeyond Tomorrow
Beyond Tomorrow
 
Cloud Ready Apps
Cloud Ready AppsCloud Ready Apps
Cloud Ready Apps
 
Connecting Dots - Preparing for future
Connecting Dots - Preparing for futureConnecting Dots - Preparing for future
Connecting Dots - Preparing for future
 
Evolution Towards Agile
Evolution Towards AgileEvolution Towards Agile
Evolution Towards Agile
 
Industry Expectations
Industry ExpectationsIndustry Expectations
Industry Expectations
 
Software Product Engineering Life-cycle
Software Product Engineering Life-cycleSoftware Product Engineering Life-cycle
Software Product Engineering Life-cycle
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Managing Your Online Presence
Managing Your Online PresenceManaging Your Online Presence
Managing Your Online Presence
 

Recently uploaded

Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
taskroupseo
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
sachin chaurasia
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
sachin chaurasia
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
confluent
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Asher Sterkin
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 

Recently uploaded (20)

Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 

MEAN Stack

  • 1. MEAN StackSuren Rodrigo Associate Technical Architect
  • 2. The partner of choice for ISV's What do we need > NodeJS > Mongo DB > Git > Heroku Toolbelt for windows (https://toolbelt.heroku.com/windows)
  • 3. The partner of choice for ISV's What are technology “Stacks” > Collection of programing languages, tools, frameworks or technologies that complement each other organized in a way to enable developers to do their job. > Ex: LAMP = Linux Apache MySQL PHP
  • 4. The partner of choice for ISV's Quiz 1 > What is the output of the following code var isEqual = function(x,y) { return x==y; }; console.log(isEqual("1",1)); ANSWER: true
  • 5. The partner of choice for ISV's Quiz 2 > What is the output of the following code var addValue = function(x,y) { return x+y; }; console.log(addValue (1,1)); ANSWER: undefined
  • 6. The partner of choice for ISV's > What Is MEAN Stack? > Why MEAN Stack? > Demo Walkthrough (How easy it is to do MEAN things) > What do I need to know to get started? > Performance of MEAN Stack > Productivity Tools > What’s Bad in MEAN Stack
  • 7. The partner of choice for ISV's What is MEAN Stack? "MEAN is a full stack JavaScript platform for modern web applications“ - Mean.io DatabaseBackend (Server)Front End (Client)
  • 8. The partner of choice for ISV's What is MEAN Stack? > JavaScript is used in all tiers. > JSON is the primary format to exchange data. DatabaseBackend (Server)Front End (Client) JavaScriptJavaScript JavaScriptJavaScript JSONJSON JSONJSON JSON (BSON)JSON (BSON)
  • 9. The partner of choice for ISV's Web Landscape has changed dramatically > Customers want fast web sites/fast response times > No page reloads (that’s so… 2010) > Enterprises want to go virtual > One box + Several virtual images => Shared Hardware > System 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/Responsive UIs > Automated build for backend AND frontend > Including check for coding conventions, testing,… > Integration in company’s continues integration platform (For JS see Grunt or Gulp) We Need A Technology Stack that can enable these demands.
  • 10. The partner of choice for ISV's Why MEAN Stack? • 100% free • 100% Open Source • 100% Java Script (+JSON and HTML) • 100% Web Standards • Huge community • Consistent Models from the backend to the frontend and back • Use a uniform language throughout your stack • JavaScript (the language of the web) • JSON (the data format of the web) • Use JavaScript with a great framework (compared to jQuery) • Allows to start with the complete frontend development first • Very low memory footprint/overhead
  • 11. The partner of choice for ISV's Mongo DB (M) > NoSQL DBMS > SQL is not used to manipulate data, i.e. DML is not SQL > Data manipulation is done via JavaScript > Document Oriented > Data is not organized into tables, rows and columns > Data is organized into "collections" and "documents" > "collection" is a rough map to a table and a "document" is a rough map to a row.
  • 12. The partner of choice for ISV's Mongo DB (M) > Documents are stored as BSON (Binary JSON) > documents" are structured as BSON, BSON is nothing but binary JSON > Support Horizontal scaling i.e. splitting data between multiple databases (Sharding) > Mongo DB has Auto-Sharding
  • 13. The partner of choice for ISV's Mongo DB (M): Relational Vs NoSQL
  • 14. The partner of choice for ISV's Time to Mongo…
  • 15. The partner of choice for ISV's Node JS (N) > Platform built on Chrome's JavaScript runtime (V8) > So, Very Fast  > You can program the server side using JavaScript!!! > Asynchronous, Event Driven and None Blocking > Node never wait, Events are handled using callbacks > Single Threaded > Excellent support for concurrent requests because of the none blocking nature
  • 16. The partner of choice for ISV's Time for Node…
  • 17. The partner of choice for ISV's Angular (A) > Powerful JavaScript based development framework to create RICH Internet Application(RIA). > Clean client side MVC pattern implementation. Support other patterns such as MVVM too. > Cross-browser compliant. AngularJS automatically handles JavaScript code suitable for each browser > Open source, completely free
  • 18. The partner of choice for ISV's Angular and JQuery jQuery, you apply JavaScript to manipulate the DOM, but in Angular you declare what the DOM should look like ahead of time Angular and JQuery Complement Each Other. So, You can Use Both in your Applications.
  • 19. The partner of choice for ISV's Angular (A) > Angular Applications are defined as modules > Modules can use other modules
  • 20. The partner of choice for ISV's Introduction to Cloud Computing : With AWS “Blue” color slides are not mine. Credits: http://www.slideshare.net/AmazonWebServices/introduction- to-amazon-web-services-7708257
  • 21. The partner of choice for ISV's
  • 22. The partner of choice for ISV's
  • 23. The partner of choice for ISV's
  • 24. The partner of choice for ISV's
  • 25. The partner of choice for ISV's
  • 26. The partner of choice for ISV's
  • 27. The partner of choice for ISV's
  • 28. The partner of choice for ISV's Lunch?
  • 29. The partner of choice for ISV's Deploying our App to Cloud : Heroku > Platform-as-a-Service (PaaS) > Platform as a service (PaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run and manage Web applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. > Quick Setup and Deployment
  • 30. The partner of choice for ISV's Deploying App to cloud: Heroku > Go to http://www.heroku.com > Register and Login > Navigate to “meanapp_final_heroku” folder > Create a git repo by entering “git init” > Add and commit everything to repo > git add –A > git commit –m “first commit”
  • 31. The partner of choice for ISV's Deploying App to cloud: Heroku > Type “heroku login” and provide the credentials when asked > Issue “heroku create” to create the heroku application > Issue “git remote –v” to view the remote repositories, confirm heroku remote is listed. > Issue “git push heroku master” to commit everything and deploy the app > Issue “heroku ps:scale web=1” to ensure at least 1 app instance is running > Issue “heroku open” to open the deployed app
  • 32. The partner of choice for ISV's Where do I begin? How to get started? Learn Basics on HTTP and Web Learn MVC pattern in Web application development Learn about JavaScript (Most Important Step) Learn Angular JS Learn Node JS with Express and other important modules. Learn Mongo DB Learn about productivity tools
  • 33. The partner of choice for ISV's MEAN Stack Performance > Very Subjective matter > MEAN Stack performance mainly depends on Node JS performance since it’s where all the heavy processing is done. > Node JS is written in C++/C and have proven to be one of the fastest. > Some research show Node JS to be 20% faster than JAVA EE.
  • 34. The partner of choice for ISV's Some of the Productivity Tools > NPM (Well this is hardly optional) – Node Package Manager > Grunt/Gulp – Build Tools for JS > Yeoman – Project Scaffolding Tool > Bower – Client side package management If you are thinking about any serious MEAN development (or JS development for that matter) you need to look into these.
  • 35. The partner of choice for ISV's What’s Bad in MEAN Stack > For those who don’t like JavaScript – it’s going to be killing you! > There are still no general JS coding guidelines > SPAs need a new way of thinking(!) > The browser is your platform! > MongoDB is not as robust as an SQL server > This security is what they sacrifice to gain speed > You need to take care of rollbacks yourself (2-Phase-Commit) > ACID => Possible – but part of the driver/client application > It’s hard to find specialists that are no hipsters > and have the big picture/architecture for enterprise solutions in mind > Once you’ve created the first site with this technology, it’s hard to go back to the old approach
  • 36. the partner of choice for ISV's

Editor's Notes

  1. LUNCH BREAK AFTER THIS.