MEAN
DevFM, April 2017
Fabian Vilers
Developer for nearly 17 years, I describe myself as a software craftsman. I
have a lot of interest in precision, quality and meticulousness when designing
and developing software.
Since 2010, I’m a consultant within my company Dev One, where I strengthen,
guide and train development teams while promoting software development
best practices in Belgium and France.
You can follow me on Twitter (@fvilers) and LinkedIn.
Sylvain Guerin
I’ve been assisting more than 20 companies in the realization of their IT
projects.
As an active witness of the digital revolution and the bearer of good agile
speech, I’ll try to make you see things from a different angle.
You can follow me on Twitter (@sguerin_) and LinkedIn.
What does it mean?
MEAN is a free and open-source JavaScript software stack for building
dynamic web sites and web applications
The MEAN stack is MongoDB, Express, Angular, Node.js
All components of the MEAN stack support programs written in JavaScript
MEAN applications can be written in one language for both server-side and
client-side execution environments
Demo: The Nexus
https://ng2-training.herokuapp.com/heroes
Node.js
JavaScript runtime built on Chrome’s V8 engine
Lightweight, scalable, and efficient
Asynchronous, event-driven, and non-blocking IO
Large ecosystem
NPM has 450,000+ packages
HTTP is a first class citizen
Based on streaming and low latency
Mongo
NoSQL database
Document oriented, JSON data model
Fast, flexible, simple, and elegant
Multiple usage
Single View, Internet of Things, Mobile, Real-Time Analytics, Personalization, Catalog,
Content Management, etc.
Advanced features
Multimodel capabilities, in-database analytics, graph, cross-document relations, search,
faceted navigations,…
Express
Fast, unopinionated, performant, and minimalist web framework
Provides a robust set of features for web and mobile applications
Puts at your disposal a myriad of HTTP utility methods and middleware
Angular
Develop across all platforms
Web, mobile web, native mobile, and native desktop
Speed, scalability, and performance
Ahead-of-Time compilation, web workers, server-side rendering, RxJS, etc.
Incredible tooling
Simple and declarative templates
Immediate Angular-specific help and feedback from nearly every IDE
Loved by millions
Languages choices
TypeScript
ES6 (ES2015)
ES5
(JavaScript)
Angular’s ecosystem
A streamlined experience
Code
changes
Application
builds
Browser
reloads
Automated
unit tests run
Angular CLI
Makes it easy to create an application that works out of the box
Generate components, routes, services, pipes, and more
Easily test your app locally while developing
Run your unit tests
Build your application
Make your code really shine
Bonus features
Encourage code structure
Code snippets for major IDEs
CLI scaffolding
Module lazy loading
Dependency injection

MEAN (DevFM)

  • 1.
  • 2.
    Fabian Vilers Developer fornearly 17 years, I describe myself as a software craftsman. I have a lot of interest in precision, quality and meticulousness when designing and developing software. Since 2010, I’m a consultant within my company Dev One, where I strengthen, guide and train development teams while promoting software development best practices in Belgium and France. You can follow me on Twitter (@fvilers) and LinkedIn.
  • 3.
    Sylvain Guerin I’ve beenassisting more than 20 companies in the realization of their IT projects. As an active witness of the digital revolution and the bearer of good agile speech, I’ll try to make you see things from a different angle. You can follow me on Twitter (@sguerin_) and LinkedIn.
  • 4.
    What does itmean? MEAN is a free and open-source JavaScript software stack for building dynamic web sites and web applications The MEAN stack is MongoDB, Express, Angular, Node.js All components of the MEAN stack support programs written in JavaScript MEAN applications can be written in one language for both server-side and client-side execution environments
  • 5.
  • 6.
    Node.js JavaScript runtime builton Chrome’s V8 engine Lightweight, scalable, and efficient Asynchronous, event-driven, and non-blocking IO Large ecosystem NPM has 450,000+ packages HTTP is a first class citizen Based on streaming and low latency
  • 7.
    Mongo NoSQL database Document oriented,JSON data model Fast, flexible, simple, and elegant Multiple usage Single View, Internet of Things, Mobile, Real-Time Analytics, Personalization, Catalog, Content Management, etc. Advanced features Multimodel capabilities, in-database analytics, graph, cross-document relations, search, faceted navigations,…
  • 8.
    Express Fast, unopinionated, performant,and minimalist web framework Provides a robust set of features for web and mobile applications Puts at your disposal a myriad of HTTP utility methods and middleware
  • 9.
    Angular Develop across allplatforms Web, mobile web, native mobile, and native desktop Speed, scalability, and performance Ahead-of-Time compilation, web workers, server-side rendering, RxJS, etc. Incredible tooling Simple and declarative templates Immediate Angular-specific help and feedback from nearly every IDE Loved by millions
  • 10.
  • 11.
  • 12.
  • 13.
    Angular CLI Makes iteasy to create an application that works out of the box Generate components, routes, services, pipes, and more Easily test your app locally while developing Run your unit tests Build your application Make your code really shine
  • 14.
    Bonus features Encourage codestructure Code snippets for major IDEs CLI scaffolding Module lazy loading Dependency injection

Editor's Notes

  • #7 Show npmjs Show node live interpreter Show execution of a file (tool/import.js for example) Show execution of a simple server
  • #8 Start mongod Start mongo Show simple commands (find, find + pretty, find + query, findOne, insert, update, drop, getIndexes)
  • #9 Show generator (express --view jade --css sass devfm) Show middlewares used Show routing