Skip to main content

AngularJS Fundamentals

Mark Bates (Meta42 Labs, LLC)
Front End Libraries, Pure Code and JavaScript
Location: Salon 9 Level: Intermediate
Average rating: ****.
(4.25, 36 ratings)
Slides:   1-ZIP 

Workshop Prerequisites

Please make sure to have the latest version of Node installed on your machine, before you arrive onsite.

Participants will be using Lineman.js, to bootstrap the development environment. Please have this installed as well.

There will be a basic Git project to checkout from Github, that contains setup code, styling, etc., for the app attendees will be building.

The repo URL for the project is: and it will be available a few days before the workshop for download. It’s recommended attendees clone the repo locally, as there will be a ‘finished’ branch containing the end product, with the ‘master’ branch being the starting point.

Workshop Description

AngularJS is one of the most popular, and powerful, JavaScript frameworks for building rich client-side applications. AngularJS is both simultaneously both simple to use and extremely full featured. With AngularJS a little goes a long way, but to make the most of it, you need to know what you’re doing.

In this workshop we will build a complex application to help exercise all of the salient points of the AngularJS framework.

Topics covered include, ngResource, directives, fitlers, routing, templates, controllers, testing, and more.

Photo of Mark Bates

Mark Bates

Meta42 Labs, LLC

Mark Bates is the founder and chief architect of the Boston, MA based consulting company, Meta42 Labs. Mark spends his days focusing on new application development and consulting for his clients. At night he writes books, raises kids, and occasionally he forms a band and “tries to make it”.

Mark has been writing web applications, in one form or another, since 1996. His career starting as a UI developer writing HTML and JavaScript applications before moving towards the middle(ware) with Java and Ruby.

Always wanting to share his wisdom, or more correctly just wanting to hear the sound of his own voice, Mark has spoken at several high profile conferences, include RubyConf and jQueryConf. Mark has also taught classes on Ruby and Ruby on Rails. In 2009 Mark’s first (surprisingly not his last!) book, “Distributed Programming with Ruby”, was published by Addison-Wesley. In 2012 Addison-Wesley published Mark’s second book, “Programming in CoffeeScript”.

Mark lives just outside of Boston with his wife Rachel and their two sons, Dylan and Leo. Mark can be found on the web at:,, and

Comments on this page are now closed.


Rick Hedin
03/11/2014 9:40am PDT

Somebody was asking whether there was a good mnemonic for “emit” versus “broadcast.” Emit being up, and broadcast being down.

You only have one parent (if you are an html element), but you can have multiple children. So you might broadcast to multiple people, see where the “down” hooks in?

Humans, however, may have two parents.

Picture of Mark Bates
Mark Bates
03/07/2014 2:02am PST

Doug – I’ve updated the repo to address the issues. I’ve updated the README to improve the install instructions. I’ve also removed the Sass dependency, that should mean Ruby isn’t required.

Thanks for the heads up.

Doug Reichard
03/06/2014 11:12pm PST

Install is missing some steps.

Lineman version hardcoded in package.json (I have node 0.10.26) I needed to also install lineman-angular, SASS

“lineman start” doesn’t work, but “lineman run” did

This is on OSX. So ruby was already there, may not be for others. Ruby is needed for sass.

Picture of Mark Bates
Mark Bates
02/27/2014 3:08am PST

Allison – Funny enough I just got a response from them about 5 minutes, apologizing for not getting back to me earlier. There should be a survey/email going out in the not too distant future.

Picture of Allison Gillespie
Allison Gillespie
02/27/2014 3:06am PST

Hi Mark, have you emailed speakers AT oreilly DOT com yet? They can help you get an email out to everyone signed up for your workshop.

Picture of Mark Bates
Mark Bates
02/26/2014 3:39am PST

Hi Kenneth, I’ve been trying to get Fluent to let me email people, but I haven’t had any luck.

All you will need installed on your machine is Node.js/NPM.

If you also want to install Lineman.js in advance, that would be great too.

I will have a basic Git project to checkout from Github, that contains setup code, styling, etc… for the app we’ll be building.


Picture of Kenneth Gross
Kenneth Gross
02/26/2014 12:26am PST

Will there be some prerequisites required, for example setting up our environment or installing certain tools and libraries? Thanks.