Perhaps this is a good place to mention a buzzword. If one knows some JavaScript as well as Perl, they can make a powerful team. Using JavaScript to dynamically call the server and update a web page, one can get lots of Perl (or another language) goodness combined with JavaScript's access to the client and its DOM. The buzzword here is 'AJAX'.
Also, there are a number of tools meant to ease the production of AJAX-enabled web pages from Perl. Some seem to even lessen the need to know JavaScript well for more basic uses. AJAX gives us HTML::Prototype, HTML::Prototype::Js, OpenThought, AEAE, HTML::AjaxTags, JQuery, and more.
This doesn't give exactly the same kind of advantages that Flash and such do. However, it can get pretty close, and there's no plugin required. When (if?) SVG is standardized across browsers, it'll be even closer. JavaScript isn't in every browser nor allowed to be active at every location, but then neither are plugins.
A thought occurs to me that it wouldn't even be a good idea to focus efforts on securing a Perl plugin and promoting it. ActionScript is pretty powerful, and Flash is pretty widespread. There's nothing keeping other languages from compiling down to SWF, which is a more-or-less open format.
The HaXe language does just that. HaXe can target Flash, JavaScript, or nekoVM although what's possible is a little different in each case. Some of the functionality is through libraries, so the core language doesn't get polluted with target-specific abilities that don't exist on other targets.
Multiple backends is a goal of Perl6 IIRC -- parrot, a JIT, JVM, perhaps CLR, etc. Perhaps modules could be made that allow Perl5 and/or Perl6 with some graphics and sound lib calls to compile down to Flash. I'm not sure Tk, Gtk+, SDL, OpenGL, or whatever would be exactly suitable, but perhaps a subset of one or more of those could be squeezed in. A separate Flash library module might be necessary.
Update (2007-09-07 21:12Z): I've found references to SWF::Builder and SWF::File. Those require a some knowledge of the Flash concepts, but they look usable enough. It shouldn't be any harder than picking up a Perl interface to some other library. teabag has a pretty interesting CUFP using SWF::file at plong - a pong clone with SWF::File. | [reply] |
a pretty interesting CUFP using SWFThe link in my sig leads to a SWF made with SWF::Builder. :-) The SWF::Builder stuff is cool, but not quite perfected yet for access from Perl, there are alot of things which should work, but don't. FWIW, I was watching the CNBC Business Channel a few weeks ago, and a plug was put in for Adobe, who is supposedly about to release some sort of "next generation" content generator, which according to the reporter, will blow everything else away, and become the standard...... of course, it may have just been stock pumping. :-)
| [reply] |
One of the "and more" options for your list is CGI::Ajax, which allows you to do a lot in web pages by calling your Perl server with the values of HTML fields, then inserting the returned text into a div on the page, no JavaScript knowledge required. Of course, if you do apply some of your own JavaScript knowledge on top of CGI::Ajax's magic, you can do even more with it.
I found it very easy to just pick up and use. The hardest and most time-consuming part of learning it, for me, was rereading the documentation a few times until I was convinced that it really was as simple as it looked.
| [reply] |