From: Praveen Ray
The bigger issue is not of client or server side controls. What's sorely
missing is a recommended best practice pattern that mod-perl people should
follow to package and deliver chunks of functionality.
"There is more than one way to do it" is an advantage, not a disadvantage.
Yes, there is no a single recommended way of creating web apps with
mod_perl, but there are more.
If you feel better to use a simple templating system like HTML::Template,
you might also want to use a somehow simpler framework like
CGI::Application.
If you like Mason templating system, you might like using Jifty framework,
and if you like Template-Toolkit and DBIx::Class ORM, you might like using
Catalyst.
Of course, all of these frameworks and others allow using more than one
templating system, Catalyst lets you access databases in more ways, you can
also choose if you want to run the applications using mod_perl, CGI, Fast
CGI or their own server, so you can choose anything you like.
Do you want a "recommended way"?
I recommend you to use Catalyst, with Template-Toolkit templating system,
with DBIx::Class ORM for accessing any kind of database from SQLite and
MySQL to PostgreSQL, Oracle and others, and I could also recommend some
modules for doing authentications, session management, form
creation/validation, and other things.
If you will feel that you don't like some of them, you can choose to use
something else, and the application will work very nice.
Do you like that .net doesn't offer you any alternative?
Then try to think that in perl there is no alternative than what I've
recommended you above.
And don't compare mod_perl with .net. Compare mod_perl with ISAPI, and
VS.net environment for the web with a framework like Catalyst, and see how
many choices you have in Catalyst, and how few in VS.net (not to mention
about the big number of CPAN perl modules that are not available for .net).
What is missing in perl?
A development environment which is very user friendly?
Sorry, I am blind, so for me VS .net environment is very unfriendly.
Octavian