BrowserCouch is CouchDb for browsers

BrowserCouch Documentation

BrowserCouch is an attempt at an
in-browser MapReduce
implementation. It’s written entirely in JavaScript and intended
to work on all browsers, gracefully upgrading when support for
better efficiency or feature set is detected.

Not coincidentally, this library is intended to mimic the
functionality
of CouchDB on
the client-side, and may even support integration with CouchDB in
the future.

Why?

This prototype is intended as a response to Vladimir
Vukićević’s blog post
entitled HTML5
Web Storage and SQL
. A CouchDB-like API seems like a nice
solution to persistent storage on the Web because so many of its
semantics are delegated out to the JavaScript language, which
makes it potentially easy to standardize. Furthermore, the
MapReduce paradigm also naturally takes advantage of multiple
processor cores—something that is increasingly common in
today’s computing devices.

Things to do

To learn how to use BrowserCouch, check out the
work-in-progress tutorial.

Aside from that, you can run the test suite and the semi-large data set test, though they’re not
particularly exciting. In the future, we’d like to make CouchDB’s
Futon
client work entirely using BrowserCouch as its backend instead of
a CouchDB server, but that’s a ways away.

If you’d like to see more code samples of what the BrowserCouch
API currently looks like, check out the annotated source code for the test suite.
You can also read the primary source code documentation
for more on BrowserCouch’s implementation.

This is really awesome. I thought about doing this, but figured it was a massive undertaking. I’m glad someone’s doing it. CouchDb’s replication features (while not implemented yet in BrowserCouch), is something to really look forward to, especially if it’s available for mobile browsers.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s