SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
STACK
THE
Simona Clapan
simona@leanometry.com
{ JavaScript all the way }
Full-stack JavaScript
solution that helps you
build fast, robust and
maintainable production
web applications using:
WHAT DOES IT M.E.A.N.?
express
WHY M.E.A.N.?
SAME LANGUAGE, SAME OBJECTS.
{“_id”: ObjectId(“512638a28b799”),
“username” : “symonny” }
{“_id”: “512638a28b799”,
“username” : “symonny” }
{“_id”: “512638a28b799”,
“username” : “symonny” }
WHO USES NODE ?
TYPICAL APP ARCHITECTURE
❖ NoSQL cross-platform document-oriented
database system
❖ JSON-like documents with dynamic schemas
❖ Easier & faster to send data between client
and server (b/c data saved in JSON format)
❖ Local Install:
➡ MongoDB: http://www.mongodb.org/
❖ MongoDB-as-a-Service:
➡ Modulus: https://modulus.io
➡ Mongolab: https://mongolab.com
❖ A lightweight framework used to build single
and multi-page web applications in Node.JS
❖ Wrapper for the core Node.js HTTP module
objects.
❖ Provides functions for everything you may
need to build a modern web server
❖ Learn More: http://expressjs.com
express
❖ Client-side MVC framework: http://angularjs.org
❖ Problem: Updating page without reload
❖ Solution: Angular.js declarative, 2-way data
binding
❖ Server-side JavaScript platform built on V8
engine
❖ Helps building highly scalable and concurrent
applications rapidly
❖ Makes multithreaded server easy
❖ Event based concurrency
❖ Easy to modify and maintains apps, due to
piped modules
❖ Install from http://nodejs.org
APPS SUITED FOR NODE.JS
❖ E-Commerce
❖ Payment Processing
❖ Social Media
❖ Realtime Services
❖ Media Applications
❖ Enterprise Services
THE TOOLBOX
❖ https://www.npmjs.org/
❖ Over 80,000 packages
❖ To install a module:
➡ npm install [module-name]
➡ - g - flag for global
A NodeJS Module Package Manager
❖ Grunt - used to build, preview and test a project,
employing tasks curated by Yeoman and grunt-contrib.
http://gruntjs.com
➡ npm install -g grunt-cli
❖ Bower - used for dependency management, allowing
the download and management of front-end package.
http://bower.io
➡ npm install -g bower
MORE TOOLS
❖ Yeoman - used to build, preview and test a project.
http://yeoman.io
➡ npm install -g yo
❖ Yeoman Generator - plugin used to scaffold complete
projects or useful parts
➡ install generator: npm install -g [gener-name]
➡ run generator: yo [gener-name] [params]
MORE TOOLS
YEOMAN GENERATORS
❖ generator-angular-fullstack: AngularJS generator, integrated
with support for Express with optional MongoDB integration
❖ generator-meanstack: MEAN stack generator, compatible
with grunt-express
❖ generator-mean-seed: MEAN stack generator with batteries
like Mongo, Express, Angular, Yeoman, Karma, and Protractor
for automated testing.
YEOMAN GENERATORS
❖ generator-klei - MEAN stack generator uses Mongoose and
Stylus
❖ ultimate-seed-generator - MEAN stack generator with
batteries like Passport and Browserify
!
❖ https://github.com/leanometry/codecamp
DEMO
Contacts
Angular Components: 1 of 3
❖ Directives: allows you to extend HTML to answer the needs of web
applications. Directives let you specify how your page should be
structured for the data available in a given scope.
❖ Data Binding: allow defining the binding between the data in the
scope and the content of the views.
❖ Filters: allow modifying the way data is displayed.
❖ Partial Views: used specially in single page applications.
Angular Components: 2 of 3
❖ Modules: Apps are structured in modules that can depend on other
modules and can contain controllers, services, directives and filters
❖ Controllers contain the application behavior. Controllers populate
the scope with all the necessary data for the view. Using proper
separation of concerns, controllers should never contain anything
related to the DOM.
❖ Scope is used to link the controllers and the views to which they
are binded
Angular Components: 3 of 3
❖ Services: allow reusing code that should be abstracted from
controller. Services can be injected in controllers or in other
services.
❖ Dependency Injection: retrieves some elements of the application
that should be configured when the module will be loaded
❖ Events: $broadcast and $emit
Simona Clapan
simona@leanometry.com
THANK
YOU!
Resources
❖ https://mongolab.com
❖ https://github.com/angular-app/angular-app
❖ http://www.packtpub.com/angularjs-web-application-development/book
❖ https://www.nodejitsu.com/
❖ Node.js - http://nodejs.org
❖ MongoDB - http://mongodb.org
❖ MongoDB Training - http://education.10gen.com
❖ Mongoose - http://http://mongoosejs.com/
❖ Express - http://expressjs.com
❖ AngularJS - http://angularjs.org
❖ Bower - http://bower.io
❖ Yeoman - http://yeoman.io
❖ Grunt - http://gruntjs.com

Contenu connexe

Tendances

Future development stack ~ MeteorJS
Future development stack ~ MeteorJSFuture development stack ~ MeteorJS
Future development stack ~ MeteorJSVictor Stan
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSM R Rony
 
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
 
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
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)Steve Souders
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page ApplicationCodemotion
 
Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4Yuriy Shapovalov
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server RenderingDavid Amend
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Noam Kfir
 
introduction to js
introduction to jsintroduction to js
introduction to jsSireesh K
 
single page application
single page applicationsingle page application
single page applicationRavindra K
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App ArchitecturesRaphael Stary
 
Modern web application devlopment workflow
Modern web application devlopment workflowModern web application devlopment workflow
Modern web application devlopment workflowHamdi Hmidi
 

Tendances (19)

Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN
 
Future development stack ~ MeteorJS
Future development stack ~ MeteorJSFuture development stack ~ MeteorJS
Future development stack ~ MeteorJS
 
MEAN Stack
MEAN Stack MEAN Stack
MEAN Stack
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
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 ...
 
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
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
 
Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4Single Page Applications on JavaScript and ASP.NET MVC4
Single Page Applications on JavaScript and ASP.NET MVC4
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server Rendering
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
introduction to js
introduction to jsintroduction to js
introduction to js
 
Keystone.js 101
Keystone.js 101Keystone.js 101
Keystone.js 101
 
single page application
single page applicationsingle page application
single page application
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
 
Modern web application devlopment workflow
Modern web application devlopment workflowModern web application devlopment workflow
Modern web application devlopment workflow
 

Similaire à The MEAN stack - SoCalCodeCamp - june 29th 2014

Introduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupIntroduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupAnsley Rodrigues
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JSFestUA
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDocker, Inc.
 
Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01Arunangsu Sahu
 
Angular js 1.3 presentation for fed nov 2014
Angular js 1.3 presentation for fed   nov 2014Angular js 1.3 presentation for fed   nov 2014
Angular js 1.3 presentation for fed nov 2014Sarah Hudson
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-upTroy Miles
 
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia
 
WebSDK - Switching between service providers
WebSDK - Switching between service providersWebSDK - Switching between service providers
WebSDK - Switching between service providersHotstar
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud DeploymentJim Kaskade
 
Angular4 getting started
Angular4 getting startedAngular4 getting started
Angular4 getting startedTejinderMakkar
 
Running MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesRunning MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesAriel Jatib
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakayaMbakaya Kwatukha
 

Similaire à The MEAN stack - SoCalCodeCamp - june 29th 2014 (20)

Introduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setupIntroduction to angular | Concepts and Environment setup
Introduction to angular | Concepts and Environment setup
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
 
AngularJs
AngularJsAngularJs
AngularJs
 
Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01Angularjs 131211063348-phpapp01
Angularjs 131211063348-phpapp01
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
 
Angular js
Angular jsAngular js
Angular js
 
Angular js 1.3 presentation for fed nov 2014
Angular js 1.3 presentation for fed   nov 2014Angular js 1.3 presentation for fed   nov 2014
Angular js 1.3 presentation for fed nov 2014
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-up
 
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMS
 
WebSDK - Switching between service providers
WebSDK - Switching between service providersWebSDK - Switching between service providers
WebSDK - Switching between service providers
 
GDG Ibadan #pwa
GDG Ibadan #pwaGDG Ibadan #pwa
GDG Ibadan #pwa
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
 
Angular4 getting started
Angular4 getting startedAngular4 getting started
Angular4 getting started
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
 
Running MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesRunning MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on Kubernetes
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless World
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 

Dernier

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

The MEAN stack - SoCalCodeCamp - june 29th 2014

  • 2. Full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using: WHAT DOES IT M.E.A.N.? express
  • 3. WHY M.E.A.N.? SAME LANGUAGE, SAME OBJECTS. {“_id”: ObjectId(“512638a28b799”), “username” : “symonny” } {“_id”: “512638a28b799”, “username” : “symonny” } {“_id”: “512638a28b799”, “username” : “symonny” }
  • 6. ❖ NoSQL cross-platform document-oriented database system ❖ JSON-like documents with dynamic schemas ❖ Easier & faster to send data between client and server (b/c data saved in JSON format) ❖ Local Install: ➡ MongoDB: http://www.mongodb.org/ ❖ MongoDB-as-a-Service: ➡ Modulus: https://modulus.io ➡ Mongolab: https://mongolab.com
  • 7. ❖ A lightweight framework used to build single and multi-page web applications in Node.JS ❖ Wrapper for the core Node.js HTTP module objects. ❖ Provides functions for everything you may need to build a modern web server ❖ Learn More: http://expressjs.com express
  • 8. ❖ Client-side MVC framework: http://angularjs.org ❖ Problem: Updating page without reload ❖ Solution: Angular.js declarative, 2-way data binding
  • 9. ❖ Server-side JavaScript platform built on V8 engine ❖ Helps building highly scalable and concurrent applications rapidly ❖ Makes multithreaded server easy ❖ Event based concurrency ❖ Easy to modify and maintains apps, due to piped modules ❖ Install from http://nodejs.org
  • 10. APPS SUITED FOR NODE.JS ❖ E-Commerce ❖ Payment Processing ❖ Social Media ❖ Realtime Services ❖ Media Applications ❖ Enterprise Services
  • 12. ❖ https://www.npmjs.org/ ❖ Over 80,000 packages ❖ To install a module: ➡ npm install [module-name] ➡ - g - flag for global A NodeJS Module Package Manager
  • 13. ❖ Grunt - used to build, preview and test a project, employing tasks curated by Yeoman and grunt-contrib. http://gruntjs.com ➡ npm install -g grunt-cli ❖ Bower - used for dependency management, allowing the download and management of front-end package. http://bower.io ➡ npm install -g bower MORE TOOLS
  • 14. ❖ Yeoman - used to build, preview and test a project. http://yeoman.io ➡ npm install -g yo ❖ Yeoman Generator - plugin used to scaffold complete projects or useful parts ➡ install generator: npm install -g [gener-name] ➡ run generator: yo [gener-name] [params] MORE TOOLS
  • 15. YEOMAN GENERATORS ❖ generator-angular-fullstack: AngularJS generator, integrated with support for Express with optional MongoDB integration ❖ generator-meanstack: MEAN stack generator, compatible with grunt-express ❖ generator-mean-seed: MEAN stack generator with batteries like Mongo, Express, Angular, Yeoman, Karma, and Protractor for automated testing.
  • 16. YEOMAN GENERATORS ❖ generator-klei - MEAN stack generator uses Mongoose and Stylus ❖ ultimate-seed-generator - MEAN stack generator with batteries like Passport and Browserify
  • 18. Angular Components: 1 of 3 ❖ Directives: allows you to extend HTML to answer the needs of web applications. Directives let you specify how your page should be structured for the data available in a given scope. ❖ Data Binding: allow defining the binding between the data in the scope and the content of the views. ❖ Filters: allow modifying the way data is displayed. ❖ Partial Views: used specially in single page applications.
  • 19. Angular Components: 2 of 3 ❖ Modules: Apps are structured in modules that can depend on other modules and can contain controllers, services, directives and filters ❖ Controllers contain the application behavior. Controllers populate the scope with all the necessary data for the view. Using proper separation of concerns, controllers should never contain anything related to the DOM. ❖ Scope is used to link the controllers and the views to which they are binded
  • 20. Angular Components: 3 of 3 ❖ Services: allow reusing code that should be abstracted from controller. Services can be injected in controllers or in other services. ❖ Dependency Injection: retrieves some elements of the application that should be configured when the module will be loaded ❖ Events: $broadcast and $emit
  • 23. ❖ https://mongolab.com ❖ https://github.com/angular-app/angular-app ❖ http://www.packtpub.com/angularjs-web-application-development/book ❖ https://www.nodejitsu.com/
  • 24. ❖ Node.js - http://nodejs.org ❖ MongoDB - http://mongodb.org ❖ MongoDB Training - http://education.10gen.com ❖ Mongoose - http://http://mongoosejs.com/ ❖ Express - http://expressjs.com ❖ AngularJS - http://angularjs.org ❖ Bower - http://bower.io ❖ Yeoman - http://yeoman.io ❖ Grunt - http://gruntjs.com