|XP is just a number|
Some Pure-perl SVG applicationsby hackmare (Pilgrim)
|on Apr 24, 2002 at 05:16 UTC||Need Help??|
I've cooked up set of demos of the neat applications of Perl to the SVG application concept.
SVG is starting to make some serious strides in the client-side (browser) side of things and is now embedded in most Adobe products, most importantly in the new Acrobat viewer. This is opening up SVG as a potential replacement for HTML for clientside interfaces.
I've been working on some pure-perl generation of SVG application interfaces and here are some of my (fairly lame) preliminary results. You need the Adobe SVG plugin for these. I have only tested the output with version 3.0, but 2.0 might work as well.
1/ Dynamic Graphs of live streaming yahoo quotes (only works when the markets are open). This demo handles 50,000 points before memory becomes an issue.
2/ Dynamic Graphs from random data. Less slick than the above graph, but you get the point. The bottom stream has 4 independant dimensions. (this demo is a bit of a ram hog after a while) By the way, notice that the application it is embedded within is also pure-perl.
3/ Live real-time, 2-way interaction with a database without refreshing the screen (This is fairly important functionality because it allows complex applications to retrieve popups and pulldowns from a server's database without refreshing the entire page. Since the connection to the server is already in place, the lag is minimal). Select a region by clicking and dragging the mouse, and circles pop up with pos, colour, and size retrieved real-time from the server's mysql instance.
Note: (This demo is being hosted on a $200/year shared server, and still is fairly responsive).
And finally, here is a report I cooked up discussing the performance of the use of the modified-DOM approach used in SVG.pm to generate SVG (or any XML for that matter). Summary: SVG.pm generates 12000 nodes per second on a run-of-the-mill 500MHz x 256K linux box under mod_perl.
I am planning to give a paper about this functionality and the SVG.pm module at yapc::europe in Munich and at the SVG::Open conference in Zurich.
There are tutorials and other case studies about SVG.pm at thePerl SVG server