Jenda has asked for the
wisdom of the Perl Monks concerning the following question:

I have a fairly complex web based UI that I'd like to rewrite in Perl. Do you have any recommendations regarding the JavaScript and Perl libraries to use?

I could not care less for kewl animations and stuff as it is the admin face of something, but the forms are pretty complicated with tables containing something like ten inputboxes, several pulldowns, checkboxes etc. in each row, some of them validated (preferably also on client) some opening popup windows allowing the admin to control more details, with the need to be able to add or remove rows, etc. etc. etc. Of course it would be great if I could filter or reorder the rows on the client etc.

I know I've read about some module that would let me build the UI similar to the way I would build a desktop UI and I remember that I liked both the idea and the results, but for the life of me I can't remember the name and a search on CPAN failed. Does it ring any bells? As I said, I do not mind the looks as long as it's easy on the screen estate, is reasonably easy to work with and handles the complicated stuff well.

Have you tried IWL ? Its a Perl wrapper around Prototype/Scriptaculous.
The output isn't Dojo/Ext shiny w/ round corners and such, but it sounds like it might provide a decent solution for your needs (if I understand them).

I think this is exactly what I had in mind! Thanks a lot! As I said, I don't need it shiny, animated, kewl or rounded as it's for the admins, so I'll very definitely give this a try as this looks exactly like what I was looking for. Which doesn't mean I will not have a look at ExtJS suggested by Your Mother, but I assume I'll end up using IWL :-)

That module looks pretty nice from the Perl side of things. JS will count too though. This is anecdotal but prototype generally comes in last out of the major libraries most devs would choose to use. YUI, dojo, MooTools, MochiKit, jQuery, and ExtJS all have better reps and from what I understand, it's deserved. Modern versions of prototype fix some of the goofy decisions they made in the past (they used to prototype built-ins which can break any and all other JS in use and had other poor design choices like gobbling up global reserved words with common webdev terminology) but they still seem to only lose ground to the newer kits.

There seems less stuff available but you should search around the CPAN a bit for other kits and see if there is something you can build on, e.g.: jQuery (jQuery is used/bundled in the lovely Devel::NYTProf) and ExtJs.

FWIW, there are a couple of really hot jQuery (my pet lib) plugins that do some of the same things (like live data tables and dojo-style comboboxes). Though jQuery plays nicely with ExtJS and other libs so you can mix and match.

I know there must be some JavaScript involved, but at least some of that may be generated by its Perl counterpart. Which would be what I'd like best. I'll definitely have a look at ExtJS, I'd rather not mix&match until I feel comfortable with one of them :-) Thanks!