Aliro Documentation : JavaScript

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Aliro's base JavaScript architecture is built around the Yahoo! User Interface (YUI) DOM (http://developer.yahoo.com/yui/dom/) & Event (http://developer.yahoo.com/yui/event/) components. These component give Aliro a solid set of cross-browser methods for dealing with things like identifying parts of the DOM, processing DOM objects, and detecting when key DOM events have fired (ex) DOM ready, load, click, etc. The Event utility even allows for creation and firing of custom events so it would be possible to build a JavaScript event system much like one already in place for Aliro PHP based plugins. The main goals behind formalizing the JavaScript architecture are to provide a consistent interface throughout the system, a reduced dependency on external libraries, enhanced cross-browser support via the graded browser support model (http://developer.yahoo.com/yui/articles/gbs/), and just more efficient code overall.

The Aliro team is working hard to assure that all the JavaScript within the system is properly namespaced and that it follows recommended object oriented conventions. The Aliro JavaScript architecture makes use of public, private, and protected variables and functions through the use of object literals and closures (http://www.crockford.com/javascript/private.html). We feel that the CMS should not simply be a collection of a 1000 JavaScript functions scattered throughout. Namespacing is a major concern since the system declares functions as need which in turn just places those into the browsers global namespace (http://www.dustindiaz.com/namespace-your-javascript/). This is where collisions happen. All the JavaScript in Aliro shall live under the "ALIRO" namespace and thus remain isolated from all other JavaScript loaded by extensions, 3rd party JavaScript libraries, etc. We advocate the YUI Library, but there is no reason a developer can't use his or her favorite like jQuery or Prototype since the t=rest of the system has been properly namespaced.

Learning Resources:

Development Tools:

JavaScript Object Notation (JSON):

The Yahoo! User Interface Library (YUI):

JavaScript Performance:

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in -0.9236 seconds