What is Olive?
Olive is just a way to keep your application specific code organized and loosely coupled, it does not need to worry about the DOM and it does not have any external dependencies, which means it can (and should) be used with jQuery, Prototype, Dojo, YUI and others.
Why yet another framework?
Libraries usually don’t specify how application specific code should be organized. For very small projects this is not a big problem: you may end up with one monolithic piece of code to handle actions that may or may not be related, but it’s still easy to maintain. However,
Olive is based around two concepts: Signals and modules. Modules are specific parts of your application, like a search form, a results list and tag filters. While they work together to deliver the expect results, Olive modules don’t know about each other’s existence and they don’t communicate directly, instead, they use signals to deliver the information that other modules may need. The advantage in this approach is that modules are completely decoupled. In practice, given the example above, you could pull out the tag filters module and you app would still work because the search form and the results list don’t even know it was there in the first place. You will be able to test this and see how it works in one of our sample applications.
API documentation is available docs/api/html/index.html
Please note: Olive is not stable yet and the API may change until it hits 0.1