Burst Project - Introduction

Version 0.9, build date 200502030247.
NOTE: I make no commitments to support or extend this library beyond its current state. But it has a BSD-style license, so do with it what you will.

What Is It

This is an ECMAScript library which works with modern browsers and ECMAScript shells. It consists of:

Some of the relatively standalone functionality includes: fixing deficient native ECMAScript objects, date formatting, sprintf, XPath in pure ECMAScript, uneval, URI parsing, many generic DOM utilities, many HTML DOM utilities, functional programming primitives, C++-style collection algorithms, and AOP/MOP utilities .

There is also more "infrastructure-ish" functionality for: logging, runtime environment, reflection, properties, widgets, script loading, and IO .

The source code is documented quite heavily; in fact there are about twice as many comment lines as executable lines (these are stripped out in the single runtime-loaded library file). Even if you choose not to use the library, you may very well want to mine it for ideas. As an example, see our documentation for burst.io.IframeURIRequest or burst.xml.XmlDoc .

As of this writing, the core library after comment stripping is approximately 4k lines and 200k bytes.

Philosophy

Some principles that guide this project:

Hello World

Every widget demo page constitutes a simple example of using the library. Also, the Programmer's Guide contains an explanation of how to use the library in a web page.

What Sets Burst Apart

Some features that set Burst apart:

History

We were initially inspired by our experience with "NetWindows" (www.netwindows.org), which was primarily written by Alex Russell (alex@netwindows.org).

The initial version of "Burst" was written by Mark D. Anderson (mda@discerning.com) .