-
Notifications
You must be signed in to change notification settings - Fork 0
Home
abaaso is an enterprise class, light weight, RESTful JavaScript framework that provides a set of classes and object prototyping to ease the creation and maintenance of pure JavaScript applications. abaaso is a Level Three framework, on the Richardson Maturity Model. Don't know REST? No problem! It's not going to get in your way.
abaaso extends the prototypes of Array, Element, Function, Number, and String with methods (functions) to make magic possible. Semantic classes & methods (Object Oriented Programming) strive to make anything as easy as saying it! Wait, isn't extending prototypes dangerous? No, it's the nature of the language.
abaaso is event oriented, with a global observer. The methods on(), fire() and un() is how you register, trigger & unregister listeners. You can see what listeners are registered on something with listeners(), which accepts an optional event parameter.
$ array client cookie data element events json label loading message mouse number observer string timer validate xml
Array Element Function Number String
Wait, isn't "Systems Thinking" about nature? The short answer: no. abaaso was created around the paradigm of "Systems Thinking", and that's why its drastically different than most libraries & frameworks. abaaso doesn't try to make animating something on screen easier, it's job is to provide a light weight application framework, which in turn makes API consumption & data display as easy as possible. It's part of the "feedback loop" or "negative loop", relying on the Server for reconcilliation of an action or event.
Hypermedia As The Engine Of Application State (HATEOAS) can be enabled by setting abaaso.state.header to a custom HTTP header, which triggers stateful binding. Listeners for all states must be set before the initial URI is retrieved (on "init" is ideal). URIs are treated as Objects via String representations, so the HTTP verbs are available as methods, including jsonp()!
Application states can be triggered by setting abaaso.state.current.
abaaso will not conflict with jQuery, or any other libraries or frameworks which make use of "$", by falling back to "a$" for syntactic sugar. The namespace alias is set on abaaso.aliased, enabling it's use within anonymous functions.