1. Intro to the MEAN Stack
Valeri Karpov
Kernel Tools Engineer, MongoDB
thecodebarbarian.com
github.com/vkarpov15
@code_barbarian
2. Who is this guy?
- CTO of SCVNGR (LevelUp) ‘08
- AngularJS user since v.0.9.4
- Google intern under Misko Hevery
in ‘09
- Ascot Project ‘12 - ’13
- MongoDB ‘13 - Present
3. What is this talk about?
- Why we started using MEAN and ditched
Rails
- Why the MEAN stack is exceptional for
prototyping
- How the MEAN stack makes automated
testing super easy
4. What is the MEAN Stack?
MongoDB - document database
ExpressJS - web framework for NodeJS
AngularJS - client-side sorcery
NodeJS - event-driven IO in Javascript
5. MEAN Stack Origins
- TonightLife, TigerLabs summer ‘12
- AngularJS, iOS, Android clients
- Rails backend wasn’t ideal
- Too many testing tools
- HTTP concurrency
- Debugging database interactions
- 2.5 devs, 5 languages
6. MEAN Stack Origins
- Ascot Project, AngelHack DC ‘12
- Only one language
- Very simple data model
- Parallelization
- Originally no AngularJS
- Tagger in jQuery, bad idea
7. MEAN Stack Philosophy
Ideally, a web-dev stack should help you:
Prototype. Build a usable product fast
Test. Automate testing using CI
Adapt. Iterate on feedback
Scale. Utilize server resources efficiently
8. MEAN Stack Philosophy
What we’re going to talk about:
Prototype. Build a usable product fast
Test. Automate testing using CI
Build fast and don’t break things
9. Build fast
- Super easy setup on Windows, OSX, Linux
- Just install NodeJS and MongoDB
- Guide on my blog at http://bit.ly/17y8QaI
10. Build fast
- Same language, same objects
- Two-way data binding = awesome
- Dynamic template passed as-is to database