Catalyst (software) - Philosophy

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 flexibility.

Catalyst promotes the re-use of existing Perl modules that already handle common web application concerns well.

  • The Model part is handled through DBIx::Class, Plucene, Net::LDAP and other model classes.
  • The View layer is usually handled by Template Toolkit, Mason, or HTML::Template, among others.
  • The Controller layer is of course written by each application author. Large chunks of Controller functionality can usually be deferred to one of the many Catalyst plugins (e.g., Catalyst::Plugin::FormValidator, Catalyst::Plugin::Prototype, Catalyst::Plugin::Account::AutoDiscovery, etc.).
  • Finally, Catalyst offers a set of helpers to simplify flow control and mapping URLs to controller methods.

Catalyst has a large selection of plugins. For example, it has JavaScript generation for Ajax and RIAs using the Catalyst::Plugin::Prototype module (prototype is an Ajax framework). Plugins cover many areas, for example authentication, session management, HTTP negotiation and REST.

Catalyst can also be used with other Ajax frameworks such as jQuery or YUI, the Yahoo! User Interface Library.

Read more about this topic:  Catalyst (software)

Famous quotes containing the word philosophy:

    Ordinary people seem not to realize that those who really apply themselves in the right way to philosophy are directly and of their own accord preparing themselves for dying and death.
    Socrates (469–399 B.C.)

    It was fit that I should live on rice, mainly, who loved so well the philosophy of India.
    Henry David Thoreau (1817–1862)