| Catalyst (software) |
Article Index for Catalyst |
Website Links For Catalyst |
Information AboutCatalyst (software) |
|
Catalyst is primarily distributed through the CPAN , which is the official distribution channel for Perl libraries and applications. PHILOSOPHY Catalyst is based on a " Don't Repeat Yourself " (DRY) principle, which means that definitions should only have to be made once. Catalyst can be used with automatic class loading from the database through one of the many loader modules, thus requiring no code for the database layer. But, if you require the flexibility of manually doing everything, it's also an option. Another guiding principle of Catalyst is flexibiliyu. Catalyst promotes the re-use of existing Perl modules that already handle common web application concerns well.
Catalyst has a large selection of plugins . For example, it supports Ajax and RIA using the Catalyst::Plugin::Prototype module ( Prototype is a Javascript library). WEB SERVER SUPPORT For development and testing, Catalyst has a built-in simple HTTP server. For production use, Apache or Lighttpd with FastCGI or Mod_perl support is recommended, but any web server with CGI or FastCGI support will work. On Apache, mod_perl can help with performance considerably, though its use might be an issue because it can be unsafe to share multiple applications under mod_perl. DATABASE SUPPORT Catalyst can run using any database supported by Perl's DBI (this means almost anything, even a CSV file), but a proper RDBMS is recommended. The database access is entirely abstracted from programmer's point of view and Catalyst, through one of its model classes, handles access to all databases automatically – though, if needed, using direct SQL queries is possible. This means you get database-neutrality, application portability over different database systems, and usability of pre-existing databases for Catalyst application development as much as possible, though due to different feature sets of the RDBMSes, it is not completely guaranteed by the framework alone. Several different RDBMS systems are supported, including MySQL , PostgreSQL , SQLite , IBM DB2 , Oracle and Microsoft SQL Server . EXTERNAL LINKS |