Bindows™ 4.0 (beta)

The Most Powerful Ajax SDK in the Market

Bindows 4.0 (beta) introduces several major new concepts along with hundreds of improvements and bug fixes.
Some of the main features in Bindows 4.0 (beta) are:

Beta Program

To download the latest 4.0 beta version, click here. If you wish to purchase the FULL commercial beta version (including source code and updates), please contact sales@bindows.net

Latest beta version is : Bindows 4.0 beta 0806, updated June 5, 2008.

changes in Bindows 4.0 beta 0802 --> Bindows 4.0 beta 0806:

changes in Bindows 4.0 beta --> Bindows 4.0 beta 0802:

Themes

Bindows 4.0 (beta) includes a set of completely redesigned themes and a powerful Bindows theme engine.

The Bindows 4.0 (beta) package includes six brand new themes; four rounded and two non rounded themes. The default theme has also been replaced so you will immediately notice Bindows new look when launching any of the sample applications included in the package.

To create your own theme - just copy any of the included themes and tweak it to your liking. Themes that are rounded have additional rounding CSS sections; so if you want to create a rounded theme - use a rounded one as a base.

Rounded Corners

Bindows 4.0 (beta) includes a new rounded corners feature that makes it possible to create cool, good looking themes. Windows, buttons and tab buttons can all be rounded. As the rounded elements are built using standard elements; this feature is not limited to the latest browsers but works perfectly in all Bindows supported browsers.

Known Issues:

Here is a screenshot of one of the new themes in Bindows 4 (click to enlarge):
Click to see in full size

The see the new themes: Themes

Themes Tutorial

To learn how to use themes, understand the Bindows theme architecture and the steps required to create your own theme as well as how themes relate to building custom components Bindows Themes Tutorial.

New Menu System

This version includes a completely redesigned menu system!

In order to pave the way for multiple browsers support we decided to completely reengineer the menu system for Bindows 4.0. This provides several great benefits at the cost of some API changes. The most important change is that menu layout is now relative to the application-window (instead of to the screen).

Now, you do not need to specify the layout of menus in your code.
Bindows 4.0 provide two new methods for displaying a context menu:

Another benefit is that it is much easier to add menu styles to your own theme. As all browsers now use the same menu implementation, you only need one set of styles for the menu. Not one for XUL/Mozilla and another for DM4/IE.

Now you can add menus to several open BiWindows (and the application window) and to reuse mnemonics on these visible menus. In previous versions, using a mnemonic could open all matching menus or the wrong one. With the new implementation we manage this and only the menu of the active window will open.

Important changes:

Known issues:

Actions

Actions provide a straightforward, flow based way of describing an action sequence in XML, regardless of asynchronous dependencies. This means that event-driven OOP can be performed in a flow based way, enabling straightforward definition of complex execution flows.

Actions describe sequences of activities that should be performed when an event is dispatched and the action is hooked up to that event. These sequences can be both synchronous and asynchronous or a mix of both.

When an action is triggered, it invokes a thread which keeps track of all dependencies of the action and whether those are completed.

Dependencies of an action are typically any arguments, sub actions and an optional handler function that are defined for the action. Dependencies in their turn, can be actions as well and any action can be asynchronous.

In this wide context, the new classes BiAction, BiEventListener and BiReference are all actions with the capability to invoke and maintain action threads. Any function call also can be an action, but does not have the threading capability.

Name Scopes

There is no longer a need to use id:s in controls to create internal references. Name scopes allow for flattening controls with a complex layout into one member lookup entity. The name scope act as a facade, for example allowing simplified access to complex forms. Name scopes take away much of the hassle in creating and using reusable components.

The property name is now used in name scopes and any component has the ability to act as a name scope root. When name is set on an object, its name is accessible as a member name of the name scope. This allows for safe and easy referencing by name within each scope.

ADF XML Improvements

Custom classes can be defined in pure ADF XML, both UI and simple business logic.

Custom Classes

A new class, BiCustomClass, has been added. BiCustomClass allows for defining classes in the Resource section of an ADF which can then be directly used to define the application. I.e. they can be directly used in the Window section of the ADF (and obviously instantiated in JavaScript).

Due to the nature of Name Scopes, there is no longer a need to use id:s in controls to create internal references.

Operators and Statements

As a step in the development of Actions in Bindows, we added support for operators and statements. The style of the impementation is similar to that of XSLT and provide functionality such as <Choose> and <Test> statements and <Eq>, <Lt>, <Gt> operators to be used in ADF markup within Actions.

The API documentation is in the docs/ - folder of the current package and there is a sample on how to use the new operators and statements available here. Source code for the sample is here.

Namespace support

It is now possible to use a namespace in the ADF markup to use a custom library mixed with the regular Bindows classes. The implementation (in BiXmlResourceParser) defaults to interpret a namespace like xmlns:a=http://somplace.org/mylib as a pointer to the global object org.someplace.mylib, thereby allowing the use of classes in that location within the Bindows ADF markup.

Improved Browser Support

Adding initial support for IE8, FF3, Safari

The current beta contains the latest implementation of support for upcoming browser versions of Internet Explorer, Firefox (Mozilla) and Safari(WebKit).

In order to support more browsers in the future, we also improved the code base by handling quirks and unique features of different browsers.

Improved WebServices

We improved the webservice support and added samples on how it can be used along with a tutorial on how to create a webservices backend for Bindows.

WebServices2 additions

The latest Bindows release includes some additions for the WebServices2 package that will help developers to read WSDL descriptions easier and develop their applications quicker.

Web Service explorer

The test WebService2Client.xml (in samples/applauncher) is a web services explorer that helps developers to quickly test and use a WebService. It allows to test a web service by loading a WSDL and displaying the available services, operations and parameters required for the operations. New interfaceThe additions in the WebService2 package offer a new interface for invoking a method: .services..(); where is the name of the BiWebService2 instance, is one of the available services and is one of the available operations for that service.

Creating a Web Service

See the new tutorial for creating a Web Service using open source software. It could be used as a guideline for creating much more complicated and exciting web services for your applications.

Mash-up

A new sample where different web services are combined is also provided. It makes integrating web services into your applications easier. You find the sample in samples/mashup/