The main idea behind
dojo.data is to separate presentation from data in the browser. Too often, complex widgets get created that can only read a certain kind of data, or can only read data from a certain kind of URL and not from a file, for instance.
Dojo Dijits that use dynamic, external data have been created to use
dojo.data datastores to read (or write) their data from (or to).
This separation makes it possible to use a dynamic widget (a Tree, for instance) with a completely new source of data, just by writing a new
dojo.data store. The Tree will never know what kind of store it is, just that it confirms to the
There are a number of different stores, some for specialized file formats ...