0

I am new to Perl. I would like to know if Perl has RIA (Rich Internet Application) frameworks like zkoss or Vaadin or GWT from Java?

How do Java and Perl compare in terms of memory management and pattern design?

dsolimano
  • 8,870
  • 3
  • 48
  • 63
Ramesh
  • 2,295
  • 5
  • 35
  • 64
  • RIA = [Rich Internet Application](http://en.wikipedia.org/wiki/Rich_internet_application) – mob Aug 18 '12 at 06:28

2 Answers2

2

RIA

In short, no. But take a look at the Catalyst Framework. But no, I don't know anything as glossy and point&click-y as "zkoss" or "vaadin". HTML+CSS+Perl works fine as well, if you know them.

Memory Management

Perl is a garbage collected. Variables that are no longer referenced get freed. Beware that in general, Perl tends to prefer time efficiency over memory efficiency what does not mean that perl is in any way bloated. Also beware, that circular references have to be manually broken, or the garbage collector won't be able to detect those variables to be collected. That is somewhat unlike Java.

Patterns

Yes, of course you can use any patterns you like. Perl doesn't make objetc orientation too easy by default, however the Moose Framework helps with that. Whith Perl, you can also use some functional patterns like closures or currying that are not available, or not as easily available, in Java. Note that Anonymous Classes get really hard to create with Perl, but hard things are still possible. You often don't need them anyway with closures.

Good Literature

See the info page of the "perl" tag on SO: https://stackoverflow.com/tags/perl/info especially the free books section. I like Higher Order Perl, although reading through the basics first should be sensible.

The Perl documentation with perltoot, perlboot and other pages has good introductions to traditional Perl object orientation techniques, which differ superficially from the Moose interface.

Community
  • 1
  • 1
amon
  • 57,091
  • 2
  • 89
  • 149
0

Try Sencha Ext JS:

There is even a Perl package available to boot:

From http://www.sencha.com/products/extjs/

What is Sencha Ext JS?

Sencha Ext JS is the leading standard for business-grade web application development. With over 100 examples, 1000 APIs, hundreds of components, a full documentation suite and built in themes, Ext JS provides the tools necessary to build robust desktop applications. Ext JS also brings a rich data package that allows developers to use a model-view-controller (MVC) architecture when building their app. The MVC leverages features like Big Data Grids enabling an entirely new level of interactivity in web apps.

Modern App Framework

Ext JS 4 is a major step forward for web frameworks. Building on Ext JS 3.3, our latest release adds over 350 new APIs, 50 new classes, and 65% more documentation. An entirely new data package equips developers to leverage features like Infinite Grid Scrolling to build an entirely new level of interactivity to web apps.

From https://metacpan.org/pod/RPC%3a%3aExtDirect

Abstract

This module provides an easy way to map Perl code to Ext.Direct RPC interface used with Ext JS JavaScript framework.

What Ext.Direct is for?

Ext.Direct is a high level RPC protocol that allows easy and fast integration of server components with JavaScript interface. Client side stack is built in Ext JS core and is used by many components like data Stores, Forms, Grids, Charts, etc. Ext.Direct supports request batching, file uploads, event polling and many other features.

Besides simplicity and ease of use, Ext.Direct allows to achieve very clean code and issue separation both on server and client sides, which in turn results in simplified code, greater overall software quality and shorter development times.

From Perl module developer perspective, Ext.Direct is just a method attribute; it doesn't matter if it's called from Perl code or through Ext.Direct. This approach, in particular, allows for multi-tiered testing:

  • Server side methods can be tested without setting up HTTP environment with the usual tools like Test::More

  • Server side classes can be tested as a whole via Ext.Direct calls using Perl client

  • Major application components are tested with browser automation tools like Selenium.

For more information on Ext.Direct, see http://www.sencha.com/products/extjs/extdirect/.

Russell E Glaue
  • 1,602
  • 13
  • 9