SlideShare uma empresa Scribd logo
1 de 36
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

Mais conteúdo relacionado

Mais procurados

MongoDB and the MEAN Stack
MongoDB and the MEAN StackMongoDB and the MEAN Stack
MongoDB and the MEAN Stack
MongoDB
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov
 

Mais procurados (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
 

Semelhante a MEAN Stack

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
 
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
 
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
 

Semelhante a 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
 

Mais de Dotitude

Mais de 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
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Último (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

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

Notas do Editor

  1. LUNCH BREAK AFTER THIS.