On Github brnkrygs / presentation-hope-angular
Created by Brian Krygsman
Image: http://www.bennadel.com/blog/2439-My-Experience-With-AngularJS-The-Super-heroic-JavaScript-MVW-Framework.htm
All browsers
Server: NodeJS
Embedded: Playstation
Mobile: Phonegap
The "assembly language" of the web?
3rd highest language tag on stackoverflow.com
The foundation your code plugs in to.
Prescriptive
Smashing Magazine reviewed common JS frameworks in 2012.
~35 frameworks/libs were compared
~65 frameworks/libs compared today
Common MV* structure
Delarative Data Binding
<input ng-model="user.name"> <p>My name is {{ user.name }}.</p>
My name is Bria.
POJOs for models
$scope.person = { firstName: 'Brian' };
App.Person = DS.Model.extend({ firstName: DS.attr() });
Person = Backbone.Model.extend({}); var person = new Person({ firstName: 'Brian' });
Dependency injection
app.controller('todoCtrl', ['$rootScope', '$scope', 'TodoFactory', function( $rootScope, $scope, todoFactory ){ // in here I can call methods on all the objects I injected // ... $scope.todos = todoFactory.get(); }] );
Because of DI, we control the execution environment.
Better control === better testing
You'll see these shortly...
Dr. McFall has further contact info if you'd like to chat.