Friday, July 25, 2008

Joose is a self-hosting meta object system for JavaScript with support for classes, inheritance, mixins, traits, method modifiers and more. It makes object-oriented programming with JavaScript easy, declarative and very productive. The Joose meta-object system is multi-paradigm. It supports class-based and prototype-based programming styles as well as class-based inheritance and role-based extention.The Joose framework has been successfully used in multiple production systems for four months now and has been proven to be very stable. Joose is being tested using an automated unit-test suite that is being run in all major browsers (Firefox, IE, Safari, Opera).

Joose.Storage now preserves object identities across serializations and deserializations. Joose.Storage is a role for automatic JSON stringification and restorations of Joose objects that is very powerful and easy to use. I'll write about it in another article.

Applying roles to instances no longer detaches the meta class for every role. Once is enough.

Joose.Gears now supports AJAX-Requests that are performent through Gears if available. This greatly reduces stress for applications that do a lot of polling

Various bug fixes

Intesive profiling and speed improvements

Pretty much all anonymous functions in Joose now have a name which makes debugging and profiling with firebug much easier.

What's next:

This version of Joose will be released as 1.0 when the documentation is ready

Specialized Plugin-Objects

Types and Type-Coercions (some support is already in Joose, see tests/16_types.js