From: "David Christensen" <dpchr...@holgerdanske.com>
Dan wrote:> Firstly, I hate web applications with a passion. They're cheap,
clunky approximations of desktop applications,
Agreed. Nothing beats a good set of native binary widgets for
expressiveness and responsiveness.
> Gtk2::Ex::DBI, Gtk2::Ex::Datasheet::DBI, PDF::ReportWriter
Nice. Which Windows Perl distribution(s) do they work with? Do they work
with text-to-speech or other technologies for visually impaired
people?
GTK2 and TK based interfaces are not accessible for screen readers. WxPerl
interfaces are accessible (most widgets of them) and they are also portable
and OOP. Win32::GUI is also accessible but not portable.
Now about the web-based apps.
A web based app uses more parts, like a web server, one or more server-side
programs, possibly some client-side programs, an interface between the
server-side program and the web server, possibly a templating system, an
ORM, database, form processor...
The most used web server is Apache but many perl programmers say that other
servers like Nginx, Lighttpd or Varnish are better.
The most used interfaces with perl are CGI, fastcgi and mod_perl, the simple
CGI interface beeing used less and less because it is slower.
The mod_perl interface can be used only with Apache.
I heard that when using fastcgi with Nginx, lighttpd and Varnish the speed
is better than when using mod_perl, but I couldn't configure fastcgi so well
in order to make it work so fast, so for the moment I still prefer using
mod_perl and Apache.
I can use it under both Linux and Windows.
I have also used more templating systems, like Template-Toolkit,
HTML::Template, HTML::Template::Compiled and others, but I prefer
Template-Toolkit because it has much more features.
Now I started to learn using Template::Alloy, which seems to offer more
features than Template-Toolkit and it can also use most of the
Template-Toolkit features and syntax.
I have found that using an ORM is very helpful and I prefer DBIx::Class,
which I think it is the best.
I have also used a few form processors like HTML::FormFu, and although this
processor is still in beta phase, I like it because it is very flexible,
very well maintained, and it has very many features.
It works very well with DBIx::Class.
If somebody wants to use all these to make a web app, it would be a very
good idea to use a framework that does many things like the URL dispatching,
the charset encoding, the authentification/authorization and many others.
I have tried only 2 frameworks (Catalyst and CGI::Application) and I just
read about others, but I like Catalyst the most.
By default it works with Template-Toolkit, but lets you to use any other
templating system you want. It works very well with DBIx::Class and
HTML::FormFu.
After you made the program using Catalyst, you can choose to run it using
the CGI interface, or the fastcgi, or mod_perl, or you can run even with the
built in server which is usually used for testing the app.
You can put your entire web app even in a .par archive and run it from it.
Starting with the version 5.8, Catalyst started to use Moose which offers
helpful features (which I haven't discovered yet, because I haven't used
Moose very much).
HTH.
Octavian
--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/