Mastering MEAN Class

Last Wednesday I met up with some colleagues at the Alliance Center in LoDo to attend HTML5 Denver Users Group‘s one-day workshop, Mastering MEAN. The organizer, Scott Davis, spent the day walking a class of 50 or so people with various backgrounds through the ins and outs of the newer stack.

Scott took his time and explained things from a high level and gradually worked his way down to the important details. It was a great overview of the MEAN (MongoDB, Express.js, AngularJS, and Node.js) stack, particularly what the alternatives are/were, why these pieces are used, and how to use them. Scott really helped fill in some knowledge gaps for me and gave me a better understanding of the composing frameworks/libraries. Due to classroom discussions, we ran out of time to really dig into the code, but I still left ready to get MEAN and tackle some new projects.

Takeaways

  • Providing solutions is more important than which tools are used
  • Node.js is a platform, not a server, that includes several important modules
  • Express.js is a higher level of abstraction of Node’s net module that provides tools for routing and middleware
  • CommonJS is an implementation of a specification
    • Node-style require is a CommonJS module
    • package.json is a CommonJS package
  • module.exports will expose all required packages through createApplication()
  • JavaScript-based persistance solution (MongoDB) is a perfect match for a JavaScript-based application because it reduces language impedance mis-match
  • AngularJS 1.4 is an interesting move towards 2.0
    • Narrow scope to limit behavior – no more $scope variable
    • Shift towards simplified, component-based directives – encapsulate high-cohesive, loosely-coupled components
    • The new router makes using multiple views on the same page super-easy

I would have enjoyed more coding, as the course was somewhat of a review for me, though I understand that many of the attendees came from very different backgrounds. I like what Scott is doing for the community and the price was perfect for a one-day workshop. I’d love to see a similar course on how to unit test a JavaScript app (AngularJS or other).