Download - In browser data stores
![Page 1: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/1.jpg)
In-Browser Data Stores
James Thomastwitter.com/thomasj
![Page 2: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/2.jpg)
Dealing with data
![Page 3: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/3.jpg)
Dealing with data•How do we store and access client-side data in long-lived apps?
![Page 4: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/4.jpg)
Dealing with data•How do we store and access client-side data in long-lived apps?
•How do we maintain data consistency in-browser?
![Page 5: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/5.jpg)
Dealing with data•How do we store and access client-side data in long-lived apps?
•How do we maintain data consistency in-browser?
•How do we migrate between data sources?
![Page 6: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/6.jpg)
dojo.data"uniform data access layer that removes the concepts of database drivers, service endpoints, and unique data formats."
![Page 7: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/7.jpg)
dojo.data"uniform data access layer that removes the concepts of database drivers, service endpoints, and unique data formats."
Standardised interfaces for all data access
•Read, Write, Identity, Notification•Stores, items and attributes
![Page 8: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/8.jpg)
dojo.data.Read•Fetch store items•Retrieve item's attributes•Search for items matching query•and more......
![Page 9: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/9.jpg)
dojo.data.Read
var store = new some.Datastore();
var gotItems = function(items, request){ console.log("Items located: " + items.length); };
store.fetch({onComplete: gotItems});
![Page 10: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/10.jpg)
dojo.data.Write•Creating new items•Deleting an item•Updating an item•Saving series of creates, updates, deletes•Revert changes
![Page 11: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/11.jpg)
dojo.data.Write
var store = new some.Datastore();
var gotItems = function(items, request){ for (var i = 0; i < items.length; i++){ var item = items[i]; store.setValue(item, "foo", "bar"); } store.save();};
store.fetch({onComplete: gotItems});
![Page 12: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/12.jpg)
dojo.data.Identity & dojo.data.Notifications•Items have unique identifier
•Fetch items by unique key
•Emit notifications when items created, updated and deleted
![Page 13: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/13.jpg)
dojo.data features
![Page 14: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/14.jpg)
dojo.data features
•Asynchronous by default
![Page 15: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/15.jpg)
dojo.data features
•Asynchronous by default
•"Store-centric" data view
![Page 16: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/16.jpg)
dojo.data features
•Asynchronous by default
•"Store-centric" data view
•Interfaces are independent
![Page 17: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/17.jpg)
dojo.data features
•Asynchronous by default
•"Store-centric" data view
•Interfaces are independent
•Notifications enable easy consistency
![Page 18: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/18.jpg)
dojo.data stores
![Page 19: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/19.jpg)
dojo.data stores
Need a custom store? Make your own!
![Page 20: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/20.jpg)
dojo.data widgets•Lots of Dojo's UI widgets (Dijits) automatically work with stores
![Page 21: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/21.jpg)
Dealing with data
![Page 22: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/22.jpg)
Dealing with data•How do we store and access client-side data in long-lived apps?
Generic client-side data store
![Page 23: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/23.jpg)
Dealing with data•How do we store and access client-side data in long-lived apps?
Generic client-side data store•How do we maintain data consistency in-browser?
Store generated event notifications
![Page 24: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/24.jpg)
Dealing with data•How do we store and access client-side data in long-lived apps?
Generic client-side data store•How do we maintain data consistency in-browser?
Store generated event notifications •How do we migrate between data sources?
Uniform interface for data access
![Page 25: In browser data stores](https://reader035.vdocument.in/reader035/viewer/2022062707/5583e0c5d8b42aaa5a8b4a6c/html5/thumbnails/25.jpg)
Questions?