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/


Reply via email to