hey, i just met angularjs, and this is crazy, so here’s my javascript, let’s use it maybe
TRANSCRIPT
![Page 1: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/1.jpg)
Hey, I just metAngularJS!
Alessandro Nadalin, NAMSHI.com - Madrid, November 2014
![Page 2: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/2.jpg)
small, internal tools
![Page 3: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/3.jpg)
mobile
![Page 4: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/4.jpg)
checkout.namshi.com
![Page 5: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/5.jpg)
Killer Features
![Page 6: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/6.jpg)
Killer Features2-way data binding
![Page 7: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/7.jpg)
Model changes the View
![Page 8: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/8.jpg)
View changes the Model
![Page 9: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/9.jpg)
![Page 10: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/10.jpg)
http://jsfiddle.net/okL0e297/
![Page 11: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/11.jpg)
function Ctrl($scope) { $scope.title = 'Lorem Ipsum';}
![Page 12: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/12.jpg)
<div ng-app="myModule"> <div ng-controller="Ctrl"> Title: <input ng-model="title"> <hr> Title again: <input ng-model="title"> </div></div>
![Page 13: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/13.jpg)
<div ng-app="myModule"> <div ng-controller="Ctrl"> Title: <input ng-model="title"> <hr> Title again: <input ng-model="title"> </div></div>
![Page 14: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/14.jpg)
<div ng-app="myModule"> <div ng-controller="Ctrl"> Title: <input ng-model="title"> <hr> Title again: <input ng-model="title"> </div></div>
![Page 15: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/15.jpg)
function Ctrl($scope) { $scope.title = 'Lorem Ipsum';}
![Page 16: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/16.jpg)
<div ng-app="myModule"> <div ng-controller="Ctrl"> Title: <input ng-model="title"> <hr> Title again: <input ng-model="title"> </div></div>
![Page 17: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/17.jpg)
function Ctrl($scope) { $scope.title = 'Lorem Ipsum';}
Title: <input ng-model="title">
![Page 18: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/18.jpg)
function Ctrl($scope) { $scope.title = 'Lorem Ipsum';}
Title: <input ng-model="title">
![Page 19: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/19.jpg)
![Page 20: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/20.jpg)
http://docs.angularjs.org/guide/databinding
![Page 21: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/21.jpg)
Killer FeaturesDependency Injection
![Page 22: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/22.jpg)
function Ctrl($scope) { // WHAT THE HECK SHALL I DO HERE???}
![Page 23: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/23.jpg)
function Ctrl($scope, $location) { // WHAT THE HECK SHALL I DO HERE???}
![Page 24: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/24.jpg)
function Ctrl($scope, $location) { // WHAT THE HECK SHALL I DO HERE???}
![Page 25: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/25.jpg)
function Ctrl($scope, $location) { $scope.whereAmI = $location.host();}
![Page 26: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/26.jpg)
![Page 27: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/27.jpg)
![Page 28: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/28.jpg)
http://jsfiddle.net/9J7u5/2/
![Page 29: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/29.jpg)
Killer FeaturesSupport
![Page 30: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/30.jpg)
![Page 31: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/31.jpg)
![Page 32: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/32.jpg)
![Page 33: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/33.jpg)
![Page 34: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/34.jpg)
![Page 35: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/35.jpg)
![Page 36: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/36.jpg)
![Page 37: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/37.jpg)
https://github.com/angular/protractor
![Page 38: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/38.jpg)
Killer FeaturesDirectives
![Page 39: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/39.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <menu /> </div></div>
![Page 40: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/40.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <menu /> </div></div>
![Page 41: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/41.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <div menu></div> </div></div>
![Page 42: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/42.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <div data-menu></div> </div></div>
![Page 43: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/43.jpg)
var links = { home: { link: 'http://example.com', title: 'Home' }, about: { link: 'http://example.com/about', title: 'About Us' }};
![Page 44: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/44.jpg)
var links = { home: { link: 'http://example.com', title: 'Home' }, about: { link: 'http://example.com/about', title: 'About Us' }};
![Page 45: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/45.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 46: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/46.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 47: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/47.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 48: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/48.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 49: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/49.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 50: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/50.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 51: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/51.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 52: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/52.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <menu /> </div></div>
![Page 53: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/53.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 54: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/54.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 55: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/55.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <div data-menu /> </div></div>
![Page 56: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/56.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 57: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/57.jpg)
<div ng-app="sf-con"> <div ng-controller="Ctrl"> <menu /> </div></div>
![Page 58: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/58.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 59: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/59.jpg)
angular.module('sf-con', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 60: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/60.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 61: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/61.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 62: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/62.jpg)
angular.module('confoo', []) .directive('menu', function(){ return { restrict: 'AE', scope: {}, template: ‘path/to/tpl.html’, link: function (scope) { scope.items = links; } } });
![Page 63: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/63.jpg)
<body ng-app="sf-con"><sf-con-header><div><div ng-controller=”MainCtrl”><sf-con-sidebar>
</div><sf-con-footer>
</div>
![Page 64: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/64.jpg)
<body ng-app="sf-con"><sf-con-header><div><div ng-controller=”MainCtrl”><sf-con-sidebar>
</div><sf-con-footer>
</div>
![Page 65: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/65.jpg)
<body ng-app="sf-con"><sf-con-header><div><div ng-controller=”MainCtrl”><sf-con-sidebar>
</div><sf-con-footer>
</div>
![Page 66: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/66.jpg)
<body ng-app="sf-con"><sf-con-header><div><div sf-con-main-content><sf-con-sidebar>
</div><sf-con-footer>
</div>
![Page 67: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/67.jpg)
http://jsfiddle.net/Lj6CH/6/
![Page 68: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/68.jpg)
“Controllers, Directives and Services” http://is.gd/QlGYID
![Page 69: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/69.jpg)
and much much more :)
![Page 70: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/70.jpg)
Why do we like AngularJS?
![Page 71: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/71.jpg)
Solid and clear foundation
![Page 72: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/72.jpg)
Solid and clear foundation
$routeProvider.when(‘/about’, {templateUrl: '/views/about.html',controller: 'AboutController',
});
![Page 73: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/73.jpg)
Solid and clear foundation
$http({ method: 'GET', url: '/milk.html }).success(function(...) {
alert(‘YEAH!’);}).error(function(...) {
alert(‘AWWW, SNAP!’);});
![Page 74: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/74.jpg)
Works well with the JS ecosystem
![Page 75: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/75.jpg)
Works well with the JS ecosystem
![Page 76: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/76.jpg)
.container(data-bindonce).row
#my-whateverp {{ myModel.text }}
Works well with the JS ecosystem
![Page 77: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/77.jpg)
.container(data-bindonce).row
#my-whateverinput(ng-model=”myModel”)
Works well with the JS ecosystem
![Page 78: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/78.jpg)
Modern API-oriented architectures
![Page 79: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/79.jpg)
APIfy everything
![Page 80: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/80.jpg)
Easier to scale
![Page 81: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/81.jpg)
No sessions on the servers
![Page 82: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/82.jpg)
maintain state on the client (LS)
![Page 83: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/83.jpg)
![Page 84: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/84.jpg)
What will you hateabout AngularJS?
![Page 85: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/85.jpg)
ehm...
![Page 86: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/86.jpg)
https://www.destroyallsoftware.com/talks/wat
![Page 87: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/87.jpg)
Watchers
![Page 88: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/88.jpg)
lotsa bindings, lotsa watchers
![Page 89: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/89.jpg)
lotsa watchers, lotsa computation
![Page 90: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/90.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
![Page 91: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/91.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
prepare for N...
![Page 92: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/92.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
N * 1
![Page 93: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/93.jpg)
<ul> <li ng-repeat="item in items"> <a href="{{ item.link }}"> {{ item.title }} </a> </li></ul>
N * 2
![Page 94: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/94.jpg)
![Page 95: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/95.jpg)
<ul> <li ng-repeat="item in items">
<a href="{{ item.link }}">{{ item.title }}<menu
ng-if=”item.links”links=”item.links”
/></a>
</li></ul>
![Page 96: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/96.jpg)
<ul> <li ng-repeat="item in items">
<a href="{{ item.link }}">{{ item.title }}<menu
ng-if=”item.links”links=”item.links”
/></a>
</li></ul>
![Page 97: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/97.jpg)
use 1-way data binding if possible
![Page 98: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/98.jpg)
https://github.com/Pasvaz/bindonce
![Page 99: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/99.jpg)
try to stay under ~800 watchers
![Page 100: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/100.jpg)
UI screws for realat ~2000
;-)
![Page 101: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/101.jpg)
Will probably be able toturn watchers off in
Angular 2.0
![Page 102: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/102.jpg)
ehm...
![Page 103: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/103.jpg)
but also…
![Page 104: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/104.jpg)
![Page 105: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/105.jpg)
memory, rendering, ...
![Page 106: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/106.jpg)
they don’t just render anymore
![Page 107: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/107.jpg)
The browser is your platform
![Page 108: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/108.jpg)
and the VM on whichyour application runs
![Page 109: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/109.jpg)
is implemented in different ways, based on the browsers themselves
![Page 110: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/110.jpg)
![Page 111: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/111.jpg)
What will you need to know about AngularJS?
![Page 112: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/112.jpg)
“Best way to serve AngularJSfrom a Symfony2 app?”
![Page 113: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/113.jpg)
![Page 114: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/114.jpg)
![Page 115: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/115.jpg)
Angular 1.3
![Page 116: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/116.jpg)
Terrific performanceimprovements (at a cost)
![Page 117: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/117.jpg)
Homogeneous VS heterogeneous team
![Page 118: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/118.jpg)
Learning curve might be harder thanwhat you think
![Page 119: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/119.jpg)
The asynchronous trap
![Page 120: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/120.jpg)
Get someone to dive into DevTools
![Page 121: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/121.jpg)
Get someone to dive into DevTools
https://www.igvita.com/slides/2012/devtools-tips-and-tricks/#1
![Page 122: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/122.jpg)
Get someone to dive into DevTools
https://www.igvita.com/slides/2012/devtools-tips-and-tricks/#1
http://devtoolsecrets.com/
![Page 123: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/123.jpg)
Get someone to dive into DevTools
https://www.igvita.com/slides/2012/devtools-tips-and-tricks/#1
http://devtoolsecrets.com/
http://devtoolstips.com/
![Page 124: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/124.jpg)
Get someone to dive into DevTools
https://www.igvita.com/slides/2012/devtools-tips-and-tricks/#1
http://devtoolsecrets.com/
http://devtoolstips.com/
http://addyosmani.com/blog/tag/devtools/
![Page 125: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/125.jpg)
![Page 126: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/126.jpg)
(almost) no question
![Page 127: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/127.jpg)
Testing will always be hard
![Page 128: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/128.jpg)
AngularJS 2.0
![Page 129: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/129.jpg)
Controllers, Directive Definition,$scope, angular.module, jqLite
![Page 130: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/130.jpg)
http://www.infoq.com/news/2014/10/angular-2-atscript
![Page 131: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/131.jpg)
AtScripthttps://docs.google.com/document/d/11YUzC-1d0V1-Q3V0fQ7KSit97HnZoKVygDxpWzEYW0U/edit#heading=h.c5wfaadh5aor
![Page 132: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/132.jpg)
Angular design documentshttps://drive.google.com/drive/u/0/#folders/0BxgtL8yFJbacUnUxc3l5aTZrbVk
![Page 133: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/133.jpg)
Shit’s gonna change
![Page 134: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/134.jpg)
Is AngularJS the future?
![Page 135: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/135.jpg)
Maybe.
![Page 136: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/136.jpg)
Or, I mean...
![Page 137: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/137.jpg)
We will still need backends
![Page 138: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/138.jpg)
Or use WordPress a lot
![Page 139: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/139.jpg)
but
![Page 140: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/140.jpg)
Natural evolution, decoupled apps
![Page 141: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/141.jpg)
Handy solution for some scenarios
![Page 142: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/142.jpg)
It is a future
![Page 143: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/143.jpg)
![Page 144: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/144.jpg)
Isomorphic apps, “same” code on theclient and the server
![Page 145: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/145.jpg)
Feedback?
![Page 146: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/146.jpg)
AngularJS has served as a great introductionto scaling on the client.
A good team will find it easy after a couple weeks.
On a larger scale you might want tolook into something less full-stack.
![Page 147: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/147.jpg)
AngularJS has served as a great introductionto scaling on the client.
A good team will find it easy after a couple weeks.
On a larger scale you might want tolook into something less full-stack.
![Page 148: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/148.jpg)
AngularJS has served as a great introductionto scaling on the client.
A good team will find it easy after a couple weeks.
On a larger scale you might want tolook into something less full-stack.
![Page 149: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/149.jpg)
Without paying too much attention,performances are very decent.
Very easy for a backend / HMVC guyto understand how it works.
Tooling is extremely powerful.
![Page 150: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/150.jpg)
Without paying too much attention,performances are very decent.
Very easy for a backend / HMVC guyto understand how it works.
Tooling is extremely powerful.
![Page 151: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/151.jpg)
Without paying too much attention,performances are very decent.
Very easy for a backend / HMVC guyto understand how it works.
Tooling is extremely powerful.
![Page 152: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/152.jpg)
Write smaller apps without gettingtangled in a single codebase, reuse modules.
Decouple, decouple, decouple.
Decouple again.
![Page 153: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/153.jpg)
Write smaller apps without gettingtangled in a single codebase, reuse modules.
Decouple, decouple, decouple.
Decouple again.
![Page 154: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/154.jpg)
Write smaller apps without gettingtangled in a single codebase, reuse modules.
Decouple, decouple, decouple.
Decouple again.
![Page 155: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/155.jpg)
...yawn...
![Page 156: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/156.jpg)
Alessandro Nadalin
![Page 157: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/157.jpg)
Alessandro Nadalin
@_odino_
![Page 158: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/158.jpg)
Alessandro Nadalin
@_odino_
Namshi
![Page 159: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/159.jpg)
Alessandro Nadalin
@_odino_
Namshi
VP Technology
![Page 160: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/160.jpg)
Alessandro Nadalin
@_odino_
Namshi
VP Technology
odino.org
![Page 161: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/161.jpg)
Thanks!Alessandro Nadalin
@_odino_
Namshi
VP Technology
odino.org
![Page 162: Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s use it maybe](https://reader033.vdocuments.us/reader033/viewer/2022052623/559ebb3c1a28ab712a8b461a/html5/thumbnails/162.jpg)
we are hiring!tech.namshi.com/join-us
github.com/namshi
twitter.com/TechNamshi
tech.namshi.com