Clorox 0.1a review

by on

Clorox is shared memory for AJAX applications

License: MPL (Mozilla Public License)
File size: 18K
Developer: Daniel Myers
0 stars award from

Clorox is shared memory for AJAX applications. Clorox provides data structures that look exactly like ordinary JavaScript objects but that actually make AJAX RPC calls behind the scenes to fetch data.

Since many web applications can be thought of as viewers over structured data (grids of map cells, arrays of email messages, etc), and RPCs and callback functions are a pain, this abstraction makes writing applications much easier. Additionally, Clorox makes it simple to define data caching and prefetching policies to boost performance.

No new languages: Clorox applications are 100% JavaScript, and they play well with other toolkits.

Clorox is a new way of writing highly-interactive web applications. It's based on a single observation: that many web applications serve as viewers over structured data. Email clients display lists of messages. Mapping applications display grids of map cells. Search auto-complete applications display nodes in a trie containing completion strings. Today, such applications are often written using AJAX. Clorox argues that we can make these applications both higher performance and easier to write by exploiting the underlying logical structure of their data, a structure which is ignored by AJAX. (Note that the logical structure of the data is entirely separate from their physical representation on the server.)

In place of the asynchronous, RPC-based abstraction furnished by AJAX, Clorox provides the illusion of synchronously-accessed data structures shared between the web browser and web server, which is to say, it provides a shared memory abstraction. These data structures look exactly like ordinary JavaScript objects on the client side, allowing programmers to focus on what they do best (writing compelling web applications) without worrying about data locality, message reordering, callback functions, or data prefetching. Additionally, to free programmers from concerns over locking, Clorox allows multiple operations on these data structures to be grouped into atomic actions.

Clorox applications are 100% JavaScript: application programmers write JavaScript code which is processed by the Clorox compiler into more JavaScript. Clorox applications can thus run on any modern web browser without the need for special plugins, and your code will never be locked up in some proprietary format.

We think the best way to learn to use a new piece of software is by playing around with it, so the rest of this document will explain how to build a sample application using the Clorox system.

What's New in This Release:
A small bug was fixed to correct a problem with dim() methods.
The homepage URL was updated.

Clorox 0.1a search tags