Lifelong nerds, we both work as consultants for Rightpoint Consulting with almost 20 years combined experience in server side .Net and a more recent deep dive into client side development specialising in AngularJs
Angular is a development platform for building mobile and desktop web applications
http://angular.ioSeriously awesome, it brings all of the structure and sanity from server side frameworks to the front end
Owen CraigI love the modularity, the separation of concerns. Also, love Directives; they are like lego pieces for building web apps.
Scot GoodhartController Text: Hello, World
<div class="_angularOverview" ng-controller="naiveController as vm"> <p><span class="label">Controller Text:</span> {{vm.text}}</p> <ul> <li ng-repeat="int in vm.ints track by $index">{{int}}</li> </ul> </div>
angular.module("angularOverview").controller('naiveController', function(){ var vm = this; vm.text = 'Hello, World'; vm.ints = [42,28,15,9,180,99]; });
Controller Text: Hello, World
<div class="_angularOverview" ng-controller="naiveController as vm"> <div> <label for="twoWayText">Input text:</label> <input type="text" id="twoWayText" ng-model="vm.text"> </div> <div> <label for="arrayBind">Array[2] Value:</label> <input type="number" id="arrayBind" ng-model="vm.ints[2]"> </div> <p><span class="label">Controller Text:</span> {{vm.text}}</p> <ul> <li ng-repeat="int in vm.ints track by $index">{{int}}</li> </ul> </div>
Controller Text: Hello, World
<div class="_angularOverview" ng-controller="naiveController as vm"> <div> <label for="twoWayText">Input text:</label> <input type="text" id="twoWayText" ng-model="vm.text"> </div> <div> <label for="arrayBind">Array[2] Value:</label> <input type="number" id="arrayBind" ng-model="vm.ints[2]"> </div> <p><span class="label">Controller Text:</span> {{vm.text}}</p> <list-numbers numbers="vm.ints"></list-numbers> </div>
angular.module("angularOverview").directive('listNumbers', function () { return { restrict: 'E', scope: { numbers: '=' }, template:'<ul><li ng-repeat="int in numbers">{{int}}</li></ul>' }; });
Controller Text: Hello, World
angular.module("angularOverview").controller('diController', function(IntegralService){ var vm = this; vm.text = 'Hello, World'; vm.ints = IntegralService.getSomeInts(); }); angular.module("angularOverview").factory('IntegralService', function () { return { getSomeInts: getSomeInts }; function getSomeInts(){ return [42,28,15,9,180,99]; } });
We're hiring: http://rightpoint.com/careers