iwl


A widget library for the web

IWL: a perl widget library for rapid RIA development

http://iwl.googlecode.com/svn/wiki/shots/logo.png

The initial goal behind the development of IWL was to reduce the HTML strings inside Perl code. With time however, the library has grown beyond that goal, and now provides a Perl interface to the excellent Prototype JS library, full remote process communication via AJAX, and a complete set of graphical user interface widgets via an API similar to that of Gtk+.

IWL in the Github

The IWL source has moved in the Github. As a result, the Google Code SVN will not be updated often. For bleeding edge code, it is advised to use the git repositories in the Links panel on the right.

Documentation

Full API documentation of the library is available on CPAN. Usage cookbooks and tutorials do not exist at the moment. However, some articles are already available on the Wiki, and in the future, more will be added.

Demo

An online demonstration page, similar to the demo Gtk+ program, is available here

Screenshot

http://iwl.googlecode.com/svn/wiki/shots/iwl.png

Code

The most recent stable code is available via CPAN. For bleeding-edge code, use svn: svn checkout http://iwl.googlecode.com/svn/trunk/ iwl

Experimental

IWL::P2JS is a side project to the main library. The main goal of the library is to be able to freely convert Perl code into JavaScript. While it will never be able to handle complex pieces of Perl code, it can already convert simple code references into JavaScript. The main goal of the library is to be able to handle Perl code like: $button->signalConnect(click => sub { if ($button->hasClass('some_class')) { S('some_element')->remove; } else { $button->setDisabled(1); } }); The extent of the current conversion process can be summed up by investigating the library's test scripts. In short, in order to cover the above example, it should be able to provide special overridden method of the IWL widgets.

Since it is highly experimental, and requires the PPI module, IWL::P2JS is not part of the main tree.

Code

The code can currently be obtained from svn: svn checkout http://iwl.googlecode.com/svn/p2js/trunk/ p2js

Donation

If this project has helped you, and you have money to spare, feel free to make a donation :)

Project Information

Labels:
perl iwl widgets html javascript ajax prototype scriptaculous