MEAN Stack - Google Developers Live 10/03/2013
Upcoming SlideShare
Loading in...5
×
 

MEAN Stack - Google Developers Live 10/03/2013

on

  • 2,300 views

Slide deck from Valeri Karpov's (@code_barbarian) talk about the MEAN stack on Google Developers Live on October 3, 2013.

Slide deck from Valeri Karpov's (@code_barbarian) talk about the MEAN stack on Google Developers Live on October 3, 2013.

Statistics

Views

Total Views
2,300
Views on SlideShare
2,279
Embed Views
21

Actions

Likes
9
Downloads
33
Comments
0

1 Embed 21

https://twitter.com 21

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

MEAN Stack - Google Developers Live 10/03/2013 MEAN Stack - Google Developers Live 10/03/2013 Presentation Transcript

  • Intro to the MEAN Stack Valeri Karpov Kernel Tools Engineer, MongoDB thecodebarbarian.com github.com/vkarpov15 @code_barbarian
  • 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
  • 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
  • What is the MEAN Stack? MongoDB - document database ExpressJS - web framework for NodeJS AngularJS - client-side sorcery NodeJS - event-driven IO in Javascript
  • 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
  • MEAN Stack Origins - Ascot Project, AngelHack DC ‘12 - Only one language - Very simple data model - Parallelization - Originally no AngularJS - Tagger in jQuery, bad idea
  • 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
  • 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
  • Build fast - Super easy setup on Windows, OSX, Linux - Just install NodeJS and MongoDB - Guide on my blog at http://bit.ly/17y8QaI
  • Build fast - Same language, same objects - Two-way data binding = awesome - Dynamic template passed as-is to database
  • Build fast - NodeJS has the same object with _id
  • Build fast - MongoDB shell shows the same object! - Dynamic schema = no need for rake - Try it for yourself: mean-stack-todo on github
  • Build fast - Only change HTML, unless server-side validation - Easy to write - Easy to debug - Lower barrier to entry: 1 language, not 3 - Limitations: multiple clients
  • Don’t break things - Automated testing makes life easy - Nodeunit, Jasmine - Integration tests using angular-scenario
  • Karma: Solving JS Testing - http://karma-runner.github.io - Launch browsers, run tests on file save - Compatibility: angular-scenario, nodeunit, jasmine - Continuous Integration: run tests on commit - Karma integrates easily with Jenkins, Semaphore, Travis CI
  • Thanks for Listening! Comments, questions, haikus? Read more at: thecodebarbarian.com github.com/vkarpov15 @code_barbarian