Catalyst (software)

Catalyst (English for catalyst) is a free, developed in Perl MVC web framework, which will serve to create sophisticated web applications quickly and easily modifiable. It draws on well-known, similar frameworks such as Maypole, Ruby on Rails, or Spring, but sees itself as a development.

Construction

Catalyst is an MVC framework, that is, the three layers model, view and controller will be separated from each other in order to improve visibility and to increase the reusability of the code created.

  • In the model, the access possibilities are realized in different data sources, such as databases (via ORMs like DBIx :: Class, CouchDB, Amazon S3, Memcached ), full-text searches ( Plucene ), web services (SOAP, XML -RPC), network services (LDAP, Akismet, RSS feeds, ...) or even local files and programs.
  • In view to format the data for a specific output medium and a specific situation occurs. For the treatment, (x ) HTML example template Toolkit or HTML :: Template are available. There are also ready- View modules for output as RSS, XML, JSON, and for the creation of graphics, bar codes or documents.
  • The controller implements the program logic of the application. Catalyst ensures that the correct controller to be called to the requested URL.

Other important design principles and skills are:

  • Catalyst makes it possible to outsource almost everything in plugins that can be loaded or removed during operation.
  • The software offers simplifications standard controller processes by so-called Pattern and flexible URL mapping.
  • Catalyst builds on many traditional Perl modules. There are also many tools and plugins on CPAN for free.
  • The framework includes a small HTTP server, allowing up to a standard Perl installation and Catalyst no additional software is needed to develop web applications with Catalyst and test.
  • The combination with Ajax or JSON is also possible.
  • The software development is the DRY principle feels (do not repeat yourself - repeat do not ) committed once made provisions to the model, for example, need not be repeated in other views but are automatically reused. As development time is saved.

Development

Catalyst can be considered as a further development of Maypole, which for a time by Sebastian Riedel was maintained. His urge to revise it more than was wanted by the majority of users, in November 2004 led to a split. On April 15, was released in 2005 with Catalyst 5.0, the first public release. Since then, Christian Hansen, Marcus Ramberg (Release Manager) and Jesse Sheidlower came as the main developer to do so. On 3 May 2006 Sebastian Riedel gave his exit known to start a new, Sinatra -like micro - framework, which he later called Mojolicious. The development is continued by the remaining team that published the version 5.7 on 8 July 2006. Currently, the completed in March 2009, Version 5.8. Version 5.8 is a complete revision for the Perl Modules mosses, which introduces a pioneering OO implementation in Perl 5, which is similar to Perl 6. The API is largely backward compatible. The plugin version 5.7 fully functioning.

A planned version 6.0 should then be implemented entirely in Perl 6.

Since about 2008, Catalyst developed for meistverwendetsten Perl framework of its kind and will be highlighted and promoted by the Perl Foundation and Enlightened Perl Organization as a promising standard.

Dissemination

License

Catalyst, as with Perl projects common to either under GPL or Artistic License.

169319
de