AngularJs
31 January 2014, Las Palmas de GC
Part I
Background story
C#
Front-end
refactor

quit
Must have

Nice to have

● TDD friendly

● good architecture
● clean html
Unit tests?
with testability in mind
BING

O
Part II
Beginner
Imperative

Declarative
Imperative

Declarative
$('#save').click(save);

<button ng-click=”save()”>Save</button>
?
html

html + angular

<button>

<button ng-click="save()">

<input>

<input ng-module="value">

<div>

<div ng-show="isVisible">

<li>

<li ng-repeat="element in list">
Part III
Everyday work
?
+
+
+ legacy code
home
+
frontend logic

backend
logic

tempate

request

frontend
logic

REST
json

backend
logic
?
ng-model
ng-click
ng-change
ng-app
Login:

Controler

Pass:
Send

View
IV
Beyond frontend
Testing
headerCtrl($scope, $location, User)
describe("Hello world", function() {
it("says hello", function() {
expect(helloWorld()).toEqual("Hello world!");
});
});
Automation
?
RAKE
?

?
?

?
?
Summary
● testable
● framework & ecosystem
● tooling
Contact
● marcin.wosinek@gmail.com
● @MarcinWosinek
● links, slides, notes and (hopefully) video:
http://bit.ly/lpa-angular
Credits
●
●
●
●
●
●
●

spagetti: http://www.flickr.com/photos/jeena/5661116055/
confesion bear: http://knowyourmeme.com/photos/336370-confession-bear
mockups: http://balsamiq.com
admin page: http://www.flickr.com/photos/juggernautco/10065981863/
shopin cart: http://www.flickr.com/photos/sswinehart/4415385405
wikipedia: http://upload.wikimedia.org/wikipedia/commons/8/87/WikipediaMainPage.png
games: http://www.flickr.com/photos/ian_d/30859899

AngularJs in Las Palmas de GC