jaba has over 100 classes that will help the developer to code in Javascript using the same mindset they use to code in languages such as Java or C#. Some of the features include:
-
Classloader. Load your classes dynamically. For instance,
jaba.uses("jaba.util.Hashtable"), or load your own classes like so:
jaba.uses("mycompany.mypackage.MyClass"), or like so
jaba.uses("/scripts/MyScripts.js")
-
Logging (publish and subscribe supported).
-
Event handling. Both non-ui and ui-based components have rich event models. Multicasting is supported.
-
Robust Ajax and XML support. The XmlResultset is similar to a JDBC Resultset or ADO Recordset and is easy to work with.
-
Databinding to page elements. Bidirectional updating supported. No code required to implement.
-
Rich Exception model. Stack traces (even for Internet Explorer).
-
Widgets, input handlers and formatters. Widgets are designed to use tag binding or Javascript binding, and many can be bound to an DataSource.
-
Themes. Widgets use themes. Override their style names at runtime, or add a new theme. Easier still, simply change a property file to change the color scheme for the current theme.
-
Pretty code printers. Print code snippets using the built-in syntax readers/writers for most common languages. Print code listings from Javascript, to SQL, to XQuery with just a couple lines of code.
-
Interfaces. Many of the components are not hard-wired to specific classes, but rather to interfaces. Simply implement the interface and use your own classes in place of the jaba version.