Channels ▼


Mojax: Mobile Ajax Framework

Source Code Accompanies This Article. Download It Now.

Data Persistence

The Cache is a globally accessible object that provides a means to persist data across invocations of a mobile application. The Cache object is a collection of properties, stored as name-values pairs. Properties of the Cache are set and retrieved using dot notation:

Cache.address = "2114 Bigelow Ave";

The Cache is limited by available storage space on the device, so it's important to be judicious in deciding what to cache. Also, caching is on a per moblet basis; that is, each moblet has its own Cache so there are no worries about one moblet overwriting another's cached content.

Preloading and Caching

Mojax can preload images during application startup via the <resource> tag:

<resource url="Images/zillow.gif" 

The persist property is optional in the <resource> tag. However, the advantage of setting persist to true is that once the image is downloaded, it is stored on the device; thus, on startup of the application next time around, the image is available.


Given the nature of mobile devices and their ability to communication over the air, many Mojax applications access remote resources. The <httprequest> tag is for content types accessible via HTTP. Listing Four (available online) presents the httprequest for the sample application. The url property is set to match the format for calling the Zillow property details API. The async property is set to true, enabling the request to be completed in the background.

I apply an XSLT filter (Listing Five; available online) to the XML response to tailor the data specifically for the application. A side-effect of using the filter is reducing network traffic to only the information needed, thus improving application performance.

The bulk of the interesting code regarding the HTTP request is inside the <method> tag onLoaded, which is called once the request has completed. The response from the HTTP request is used to create two XPath expressions for accessing the returned XML.

For completeness, it's important to note that Mojax currently supports XML, JSON, images, and Mojax script as the supported data types through an HTTP request.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags


<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags


<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

