Respect your Data
An introduction to Angular-data
@jmdobry
$scope
![](https://docs.angularjs.org/img/guide/concepts-databinding2.png)
A handy abstraction for binding data to a view
But what about:
retrieving data
(de)serializing datatransforming data
caching data
saving data
refreshing data
destroying data
managing data lifecycle
And don't forget:
localStorage
IndexedDB
HTTP
WebSockets
boilerplate
boilerplate
boilerplate
Write it all yourself?
![](http://o.aolcdn.com/hss/storage/midas/af89956d0a3c7c8cc3058881a14279c/200105149/oprah-shakng-her-head.gif)
Let's try it
![](http://o.aolcdn.com/hss/storage/midas/f732d8b740aaa8d41de324fd6d767987/200105005/wide-eyed-double-take-caddyshack.gif)
Your app is born
![](http://pennsylvania.htgsupply.com/wp-content/uploads/2012/04/seed-germinating.jpg)
You think it will grow up nicely
![](http://www.sewardbusiness.org/wp-content/uploads/2014/03/big-tree.jpg)
But you get this
![](http://i.dailymail.co.uk/i/pix/2011/06/10/article-0-0C7F704000000578-574_634x430.jpg)
or this
![](http://www.bbc.co.uk/stoke/content/images/2006/03/31/scary_tree_420_420x270.jpg)
Simple Example
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399611/1.png)
Less Simple Example
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399618/2.png)
Complex Example
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399620/3.png)
Creating a Service Layer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399621/4.png)
DRY and Abstraction
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399622/5.png)
Enter Angular-Data
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399623/6.png)
Under the Hood
![](https://s3.amazonaws.com/media-p.slid.es/uploads/jdobry/images/399625/7.png)