Joose (framework)

From Seo Wiki - Search Engine Optimization and Programming Languages
Jump to navigationJump to search
Joose
File:JooseLogo.png
Developer(s) Malte Ubl
Stable release 2.0 / {{Expansion depth limit exceeded|2009|02|08}}
Written in JavaScript
Type Web application framework
License New BSD License
Website http://code.google.com/p/joose-js/

Joose is an open-source self-hosting meta object system for JavaScript with support for classes, inheritance, mixins, traits and aspect oriented programming.

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 extension. While other JavaScript frameworks often specialize on DOM-access and AJAX, Joose specializes solely on bringing successul programming techniques to the JavaScript programming language. Joose is thus often used in conjunction with another DOM/Ajax JavaScript framework and is tested with jQuery, YUI, Dojo, ExtJS, Prototype, Mootools and PureMVC.

Joose was heavily inspired by Moose, the object system for Perl 5 which was itself inspired by Perl 6 object system, but unlike Perl and Moose, Joose doesn't support multiple inheritance.

Example

Two classes written in Joose:

<source lang=javascript> Class("Point", {

   has: {
       x: {is: "rw"},
       y: {is: "rw"}
   },
   methods: {
       clear: function () {
           this.setX(0);
           this.setY(0);
       }
   }

});

Class("Point3D", {

   isa: Point,
   has: {
       z: {is: "rw"}
   },
   after: {
       clear: function () {
           this.setZ(0);
       }
   }

}); </source>

Point3D is a subclass of Point. It has another attribute defined and additional code to run after running the superclass clear() method. The "rw" means the attribute is readable and writable with a pair of get/set accessors generated automatically.

References

External links

If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...