SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
MEAN Stack - An Overview
Naveen Pete
JS Meetup #6 (Saturday, Sep 24, 2016)
Agenda
● Evolution of Web Development
● Traditional Web Development
● Full-Stack Development
● Introducing MEAN Stack
● Node
● Express
● Angular
● MongoDB
● Q & A
Evolution of Web Development
● Low expectations of web sites
● Perl and HTML - “Web Developer”
● Use of Internet increased with time
● Online presence increased
● Browsers became more powerful
● Front-end development - focus on building a good user experience
● Back-end development - focus on mechanics behind the scenes
Traditional Web Development
● Followed Three-Tier architecture
○ Presentation Layer - UI design and development
○ Business Logic Layer - Data validation, data processing, application logic
○ Data Access Layer - Data persistence, data access through API
● Traditional web application technologies
○ Client-side - HTML, CSS and JavaScript
○ Server-side - C#, Java, PHP, ASP.NET, Ruby, Python
○ Database - SQL Server, MySQL, Oracle
○ Web Server - IIS, Apache, Tomcat
Traditional Web Development
Traditional Web Development
Front-end
developers
Back-end
developers
Front-end
complexity
Back-end
complexity
Time
Divergence of front-end and
back-end developers over time
Full-Stack Development
● During the 2000s, libraries and frameworks started to become popular
and prevalent
● A Library or Framework
○ Abstracts complexities of development
○ Increases developer productivity
○ Requires less in-depth expertise
● Resurgence of full-stack developers
● Moving the application code forward in the stack
○ Reduces server load, thus reducing cost
○ Crowd-sourcing of computational power
Full-Stack Development - Benefits
● Provide greater value to your clients
○ More skills, services and capabilities
● Build applications end-to-end, no dependency
● Have a better view of the bigger picture of an application
● Understand how different components fit together
● Better overall control
● Team members can move around more freely (Agile teams)
● Learning new technologies
● Rewarding and satisfying experience
Full-Stack Development
Front-end
developers
Back-end
developers
Front-end
complexity
Back-end
complexity
Full-stack
developers
Impact of frameworks
Time
Introducing MEAN Stack
MongoDB - the database
● Has been around since 2007
● By MongoDB Inc. (10gen)
● NoSQL, Document database
● JSON like documents, dynamic schemas
Angular - the front-end framework
● Has been around since 2010
● Maintained by Google
● Front-end, SPA framework
● Build highly interactive, responsive and
dynamic web applications
Express - the web framework
● First released in 2009
● Web application framework
● Minimal, flexible, extensible
● Build web applications and API
Node - the platform
● Created in 2009 by Ryan Dahl
● Sponsored by Joyent
● It is a platform, neither a language nor a web
server
● Uses Google’s Chrome V8 JavaScript engine
at its core
Introducing MEAN Stack
● “Best-of-Breed” modern web technologies
● Very powerful and flexible stack
● Uses JavaScript throughout
Introducing MEAN Stack
Node
● Foundation of MEAN stack
● A software platform
○ Create your own web server
○ Build web applications on top of it
● Built on Google Chrome’s V8
JavaScript engine
● Single-threaded
● Event driven architecture
● Non-blocking I/O model
● Asynchronous execution
Benefits
● Code it in JavaScript
● Extremely fast and lightweight
● Very efficient use of system resources
● No need to run a separate web server
● Gives you greater control over your
app logic and environment
● Serve more users on fewer server
resources
Node - Threading
Multithreaded Approach Single-threaded Approach
Node - npm
● Package manager for JavaScript
● Gets installed with Node.js
● Allows users to consume and
distribute JavaScript modules
(packages)
● Packages extend the functionality
of your application
● Promotes reusability
Examples
● Web App Framework - Express
● ODM - Mongoose
● Helper library - Underscore
● Testing Framework - Mocha, Jasmine
Express
● Node.js web application framework
● Minimal
● Flexible
● Fast
● Extensible
● Provides robust set of features:
○ Middleware
○ Serve static files
○ Routing
○ Template Engines
○ Express Generator
Angular
● Developed in 2009 by Misko Hevery
● JavaScript framework for creating
dynamic web applications
● Front-end SPA, RIA framework
● Data-driven applications
● Adds dynamic features to HTML
● Declarative approach
Advantages
● Makes it easy to organize your code
○ Promotes maintenance, collaboration,
readability, extension
● Testable code gives peace of mind
● Two-way data binding saves hundreds of
lines of code
● Uses HTML for templating
● JavaScript data structures (JSON) eases
integration
Angular - Building Blocks
Angular - Binding
One-way data binding
The template and model are compiled on the
server before being sent to the browser
Two-way data binding
The model and the view are processed in the browser
and bound together, each instantly updating the other
MongoDB
Q & A
Thank you!

Mais conteúdo relacionado

Mais procurados

Android application development ppt
Android application development pptAndroid application development ppt
Android application development pptGautam Kumar
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android StudioSuyash Srijan
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutterrihannakedy
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 
History Of The Development Of Mobile Applications
History Of The Development Of Mobile ApplicationsHistory Of The Development Of Mobile Applications
History Of The Development Of Mobile Applicationsemmaroberts477
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsRapidValue
 
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Visual Engineering
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_ForceBolt
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web developmentCrampete
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentClint LaForest
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA Pramendra Gupta
 

Mais procurados (20)

Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development ppt
 
Next.js - ReactPlayIO.pptx
Next.js - ReactPlayIO.pptxNext.js - ReactPlayIO.pptx
Next.js - ReactPlayIO.pptx
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
 
Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN
 
Introduction to flutter
Introduction to flutter Introduction to flutter
Introduction to flutter
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Mern stack developement
Mern stack developementMern stack developement
Mern stack developement
 
History Of The Development Of Mobile Applications
History Of The Development Of Mobile ApplicationsHistory Of The Development Of Mobile Applications
History Of The Development Of Mobile Applications
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
 
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
 
FULLSTACK Powerpoint.pdf
FULLSTACK Powerpoint.pdfFULLSTACK Powerpoint.pdf
FULLSTACK Powerpoint.pdf
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
CROSS PLATFORM APPLICATIONS DEVELOPMENT
CROSS PLATFORM APPLICATIONS DEVELOPMENT CROSS PLATFORM APPLICATIONS DEVELOPMENT
CROSS PLATFORM APPLICATIONS DEVELOPMENT
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA
 

Destaque

Future development stack ~ MeteorJS
Future development stack ~ MeteorJSFuture development stack ~ MeteorJS
Future development stack ~ MeteorJSVictor Stan
 
Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN applicationFITC
 
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
 
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 StackMongoDB
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack developmentScott Lee
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology StacksPrakarsh -
 
Development Stacks Are Irrelevant
Development Stacks Are IrrelevantDevelopment Stacks Are Irrelevant
Development Stacks Are IrrelevantKurt Collins
 
Introduction to Development for the Internet
Introduction to Development for the InternetIntroduction to Development for the Internet
Introduction to Development for the InternetMike Crabb
 
Montreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebMontreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebRachel Andrew
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessJonathon Colman
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging ChallengesAaron Irizarry
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Destaque (14)

Future development stack ~ MeteorJS
Future development stack ~ MeteorJSFuture development stack ~ MeteorJS
Future development stack ~ MeteorJS
 
Mean PPT
Mean PPTMean PPT
Mean PPT
 
Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN application
 
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! :)
 
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
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
 
Development Stacks Are Irrelevant
Development Stacks Are IrrelevantDevelopment Stacks Are Irrelevant
Development Stacks Are Irrelevant
 
Introduction to Development for the Internet
Introduction to Development for the InternetIntroduction to Development for the Internet
Introduction to Development for the Internet
 
Montreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebMontreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern Web
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for Success
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Semelhante a Mean Stack - An Overview

Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar
 
Bazillion New Technologies
Bazillion New TechnologiesBazillion New Technologies
Bazillion New TechnologiesAyman Mahfouz
 
Web Development Agency in Noida in 2024 1
Web Development Agency in Noida in 2024 1Web Development Agency in Noida in 2024 1
Web Development Agency in Noida in 2024 1NadeemAnsari576752
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stackAshok Raj
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web FrameworksSarika Jadhav
 
AD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web DevelopmentAD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web DevelopmentShean McManus
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyDesign Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyManageIQ
 
From server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldFrom server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldAssaf Gannon
 
Choosing your frontend web framework.pptx
Choosing your frontend web framework.pptxChoosing your frontend web framework.pptx
Choosing your frontend web framework.pptxAaliyanShaikh
 
Curriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quyCurriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quyHai Quy Nguyen
 
Josin Wang Resume
Josin Wang ResumeJosin Wang Resume
Josin Wang ResumeJosin Wang
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsNode js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsHemaSenthil5
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikul Islam
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxBOBY RISHABH KUMAR SHARMA
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx75waytechnologies
 
SYED_PHPMYSQL_CV
SYED_PHPMYSQL_CVSYED_PHPMYSQL_CV
SYED_PHPMYSQL_CVNaser Syed
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN StackShailendra Chauhan
 

Semelhante a Mean Stack - An Overview (20)

Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
 
Bazillion New Technologies
Bazillion New TechnologiesBazillion New Technologies
Bazillion New Technologies
 
Web Development Agency in Noida in 2024 1
Web Development Agency in Noida in 2024 1Web Development Agency in Noida in 2024 1
Web Development Agency in Noida in 2024 1
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 
Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
AD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web DevelopmentAD109 Navigating the Jungle of Modern Web Development
AD109 Navigating the Jungle of Modern Web Development
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyDesign Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
 
From server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldFrom server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services world
 
Eureko frameworks
Eureko frameworksEureko frameworks
Eureko frameworks
 
Choosing your frontend web framework.pptx
Choosing your frontend web framework.pptxChoosing your frontend web framework.pptx
Choosing your frontend web framework.pptx
 
Curriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quyCurriculum vitae of nguyen hai quy
Curriculum vitae of nguyen hai quy
 
Josin Wang Resume
Josin Wang ResumeJosin Wang Resume
Josin Wang Resume
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsNode js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResume
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptx
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
SYED_PHPMYSQL_CV
SYED_PHPMYSQL_CVSYED_PHPMYSQL_CV
SYED_PHPMYSQL_CV
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
 
APIs for mobile
APIs for mobileAPIs for mobile
APIs for mobile
 

Último

VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Último (20)

VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

Mean Stack - An Overview

  • 1. MEAN Stack - An Overview Naveen Pete JS Meetup #6 (Saturday, Sep 24, 2016)
  • 2. Agenda ● Evolution of Web Development ● Traditional Web Development ● Full-Stack Development ● Introducing MEAN Stack ● Node ● Express ● Angular ● MongoDB ● Q & A
  • 3. Evolution of Web Development ● Low expectations of web sites ● Perl and HTML - “Web Developer” ● Use of Internet increased with time ● Online presence increased ● Browsers became more powerful ● Front-end development - focus on building a good user experience ● Back-end development - focus on mechanics behind the scenes
  • 4. Traditional Web Development ● Followed Three-Tier architecture ○ Presentation Layer - UI design and development ○ Business Logic Layer - Data validation, data processing, application logic ○ Data Access Layer - Data persistence, data access through API ● Traditional web application technologies ○ Client-side - HTML, CSS and JavaScript ○ Server-side - C#, Java, PHP, ASP.NET, Ruby, Python ○ Database - SQL Server, MySQL, Oracle ○ Web Server - IIS, Apache, Tomcat
  • 7. Full-Stack Development ● During the 2000s, libraries and frameworks started to become popular and prevalent ● A Library or Framework ○ Abstracts complexities of development ○ Increases developer productivity ○ Requires less in-depth expertise ● Resurgence of full-stack developers ● Moving the application code forward in the stack ○ Reduces server load, thus reducing cost ○ Crowd-sourcing of computational power
  • 8. Full-Stack Development - Benefits ● Provide greater value to your clients ○ More skills, services and capabilities ● Build applications end-to-end, no dependency ● Have a better view of the bigger picture of an application ● Understand how different components fit together ● Better overall control ● Team members can move around more freely (Agile teams) ● Learning new technologies ● Rewarding and satisfying experience
  • 10. Introducing MEAN Stack MongoDB - the database ● Has been around since 2007 ● By MongoDB Inc. (10gen) ● NoSQL, Document database ● JSON like documents, dynamic schemas Angular - the front-end framework ● Has been around since 2010 ● Maintained by Google ● Front-end, SPA framework ● Build highly interactive, responsive and dynamic web applications Express - the web framework ● First released in 2009 ● Web application framework ● Minimal, flexible, extensible ● Build web applications and API Node - the platform ● Created in 2009 by Ryan Dahl ● Sponsored by Joyent ● It is a platform, neither a language nor a web server ● Uses Google’s Chrome V8 JavaScript engine at its core
  • 11. Introducing MEAN Stack ● “Best-of-Breed” modern web technologies ● Very powerful and flexible stack ● Uses JavaScript throughout
  • 13. Node ● Foundation of MEAN stack ● A software platform ○ Create your own web server ○ Build web applications on top of it ● Built on Google Chrome’s V8 JavaScript engine ● Single-threaded ● Event driven architecture ● Non-blocking I/O model ● Asynchronous execution Benefits ● Code it in JavaScript ● Extremely fast and lightweight ● Very efficient use of system resources ● No need to run a separate web server ● Gives you greater control over your app logic and environment ● Serve more users on fewer server resources
  • 14. Node - Threading Multithreaded Approach Single-threaded Approach
  • 15. Node - npm ● Package manager for JavaScript ● Gets installed with Node.js ● Allows users to consume and distribute JavaScript modules (packages) ● Packages extend the functionality of your application ● Promotes reusability Examples ● Web App Framework - Express ● ODM - Mongoose ● Helper library - Underscore ● Testing Framework - Mocha, Jasmine
  • 16. Express ● Node.js web application framework ● Minimal ● Flexible ● Fast ● Extensible ● Provides robust set of features: ○ Middleware ○ Serve static files ○ Routing ○ Template Engines ○ Express Generator
  • 17. Angular ● Developed in 2009 by Misko Hevery ● JavaScript framework for creating dynamic web applications ● Front-end SPA, RIA framework ● Data-driven applications ● Adds dynamic features to HTML ● Declarative approach Advantages ● Makes it easy to organize your code ○ Promotes maintenance, collaboration, readability, extension ● Testable code gives peace of mind ● Two-way data binding saves hundreds of lines of code ● Uses HTML for templating ● JavaScript data structures (JSON) eases integration
  • 19. Angular - Binding One-way data binding The template and model are compiled on the server before being sent to the browser Two-way data binding The model and the view are processed in the browser and bound together, each instantly updating the other
  • 21. Q & A Thank you!