Welcome to uize

1. Welcome to UIZE

You can call it an "Ajax Framework", an "Ajax Toolkit", a "JavaScript Framework", a "JavaScript API", a "JavaScript Toolkit", a "JavaScript Toolbox"... whatever you like! We call it the UIZE JavaScript Framework (or just "UIZE" for short).

UIZE is an object oriented JavaScript framework for creating more effective user interfaces in your Web content and Web-based applications and services. UIZE is open source. UIZE is free to use (distributed under the terms of the GNU General Public License). UIZE is in active development, and is used on a high profile, consumer facing, e-commerce Web site.

2. Download

Download the UIZE JavaScript Framework and start exploring...

>>> DOWNLOAD UIZE <<<

3. Summary of the Latest News -- updated 2008-11-16

A number of small improvements have been made to the Uize base class: 1) the toString intrinsic method is now implemented also as a static method on Uize subclasses, 2) the valueOf intrinsic method is now also implemented as a static method on Uize subclasses, 3) when registering set-get properties using the Uize.registerProperties static method, it is now possible to omit the public name for a property and it will default to the private name, and 4) a new variation of the set method that accepts the two parameters propertyNameSTR and propertyValueANYTYPE makes it possible to use an expression or the value of a variable for specifying the name of the property to set.

Various improvements have been made relating to dialog based widgets: 1) the Uize.Widget.Palette module has been updated to add support for the new okText, defaultOkText, cancelText, and defaultCancelText set-get properties, and 2) the implementation of confirm/inform dialogs in the Uize.Widget.Page base class now supports okText and cancelText parameters for the confirm and inform instance methods of widgets.

Some minor tweaks have been made: 1) a new insertionMode set-get property implemented in the Uize.Widget base class provides a way for applications to control how a widget's HTML is inserted when the built set-get property is set to false and a non-empty value is specified for the html set-get property, 2) the Slideshow With Wipes and Slideshow examples have been updated to use JavaScript Template (.jst) files for building the HTML of the slideshow widget's UI, and 3) a bug in the Uize.Widget.Button class that was affecting the Firefox 2 and Opera browsers has been fixed.

See all the Latest News...

4. UIZE In a Nutshell

WHAT'S IN A NAME

The name "UIZE" is pronounced "you eyes". Think of it as "UI", with an "-ize" tacked onto the end - as in to turn something into a UI or to add a UI onto it. When you UIZE your Web application, you're giving it a user interface. The way UIZE is pronounced also makes it sound like the plural of "UI", which is also fine. Incidentally, the word "uize" is also a traditional Scottish spelling of the word "use", which is nice because the UIZE JavaScript Framework is all about users and providing interfaces to them.

WITH UIZE, YOU CAN...

Start building high profile, solid, and scalable RIA-style Web sites - with rich interactivity and client-side refresh using AJAX.
Manipulate the DOM to produce client updates and visual effects.
Communicate with the server using XMLHttpRequest, in formats like JSON and XML.
Learn how to code well designed application logic using State Oriented Programming.
Build reusable widgets and modules of functionality, using object oriented JavaScript.

WHERE IT'S USED

The UIZE JavaScript Framework has had the opportunity to mature "in the wild" and has been used to provide rich client functionality on the Zazzle Web site since 2005. Zazzle's Web site is a heavily trafficed, consumer facing e-commerce site where stability and performance of all aspects of the code have a direct impact on customer experience and conversion rates. The UIZE JavaScript Framework has been tested against these important criteria.

IT'S RAINING WIDGETS

The UIZE JavaScript Framework comes packed with a good number of ready-to-go widgets, like the slider, progress bar, color picker, date picker, draggable and resizable window, marquee / resizer, image wipe with advanced fades / transitions, tabs, table sorter, thumbnail zoom, tree list, tree menu / drop down menu, egg timer, button, collection, collection item, image port, options selection, stretchy, and more. The widgets are being added to all the time.

OBJECT ORIENTATION

The UIZE JavaScript Framework has been designed making full use of the object orientation features of the JavaScript language. The APIs of the various modules have been carefully thought out so that they are comprehensive, sensible and consistent.

WORK IN PROGRESS

The UIZE project was started in April 2005 and is a work in progress. New functionality, documentation, and sample code examples are being added all the time.

5. About the Documentation

5.1. Module Reference

The documentation under the "Module Reference" section is generated automatically by a build script that runs through all the JavaScript modules and extracts documentation styled SimpleDoc comments. Because the documentation is still playing catch-up to the code development, you may stumble across many a sad looking module reference page - with nothing on it but a lonely heading. We are working to complete documentation for all the modules, so please be patient with this effort.

5.2. Example Pages

UIZE widgets can look very slick and elegant with appropriate design and styling, but the focus of the example pages is keeping the source code as clean and simple as possible, so that one can quickly cut through the fluff and get to the essence of how UIZE classes can be used in a page.

Similarly, UIZE widgets can be combined together in intricate ways to produce sophisticated applications. However, when trying to learn how to use a specific UIZE class, trying to get your head around a complex chunk of code when you just want to see how to use a single damned class can be quite frustrating and counterproductive.

So, the many example pages offered with the documentation are deliberately designed to be quite elemental in nature. Some demonstrate how code components can interact with one another. However, the examples are not necessarily designed to be compelling - they're designed to be instructive. We trust you will use your imagination in applying the UIZE JavaScript Framework towards the development of your own compelling applications.