Catalyst Web Framework

from Wikipedia, the free encyclopedia
Catalyst Web Framework

Catalyst logo
Basic data

Maintainer Catalyst Developers
Current  version 5.90124
(January 18, 2019)
operating system Platform independence
programming language Pearl
category Web framework
License Artistic License and GPL
www.catalystframework.org

Catalyst (English for catalyst is) a free , in Perl developed MVC - web framework , which is to serve sophisticated and easily changeable web applications to create quick. It is based on well-known, similar frameworks such as Maypole , Ruby on Rails or Spring , but sees itself as a further development. Catalyst has been using PSGI / Plack since 2013 .

construction

Catalyst is an MVC - web framework , that is, there are the three layers model, view and controller separately, in order to improve visibility and increase the reusability of the code created.

  • In the model, the access options to various data sources are realized, for example to databases (via ORMs such as DBIx :: Class , CouchDB , Amazon S3 , Memcached ), full text searches ( Plucene ), web services ( SOAP , XML-RPC ), network services ( LDAP , Akismet , RSS - web feeds ...) or local files and programs.
  • In the view, the data is formatted for a specific output medium and a specific situation. For example, template toolkits or HTML :: template are available for processing as (x) HTML . There are also ready-made view modules for output as RSS feed, XML data , JSON and for creating graphics, barcodes or documents.
  • The controller implements the program logic of the application. Catalyst ensures that the correct controllers are called for the requested URL.

Other important design principles and skills are:

  • Catalyst makes it possible to store almost everything in plug-ins that can be loaded or removed during operation.
  • The software offers simplifications of common control processes through so-called patterns and flexible URL mapping .
  • Catalyst builds on many proven Perl modules. There are also many tools and plugins in the CPAN that are freely available.
  • The framework includes a small HTTP server , so that apart from a standard Perl installation and Catalyst, no additional software is required to develop and test web applications with Catalyst.
  • The combination with Ajax or JSON is also possible.
  • Software development is committed to the DRY principle ( don't repeat yourself ); once you have made specifications on the model, for example, you do not have to repeat them for further views, but are automatically reused. This saves development time.

development

Catalyst can be seen as a further development of Maypole, which was maintained for a while by Sebastian Riedel. His urge to overhaul it more than a majority of users wanted, led to a split in November 2004. On April 15, 2005, Catalyst 5.0 was the first public version. Since then, Christian Hansen, Marcus Ramberg (Release Manager) and Jesse Sheidlower have joined as main developers. On May 3, 2006, Sebastian Riedel announced his exit to begin a new, Sinatra- like micro-framework that he would later call Mojolicious . The development continues by the remaining team, which released version 5.7 on July 8, 2006. The current version is 5.8, which was completed in March 2009. Version 5.8 is a complete revision due to the Perl module Moose, which introduces a future- oriented OO implementation in Perl 5, which is based on Perl 6. The API is largely downward compatible. The plug-ins of version 5.7 work without restrictions.

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

Since around 2008, Catalyst has developed into the most widely used Perl framework of its kind and is highlighted and promoted by the Perl Foundation and Enlightened Perl Organization as a promising standard.

distribution

Catalyst is ready to use and is already being used for some large websites (list in the project's wiki). A wiki software called MojoMojo is also based on Catalyst.

License

As usual with Perl projects, Catalyst is available under the GPL and the Artistic License .

Web links

Individual evidence

  1. Napiorkowski, John: Using PSGI Integration in Catalyst: Middleware and More (accessed November 24, 2015)