Catalyst

Catalyst — свободный кроссплатформенный фреймворк для создания веб-приложений на языке Perl. Представляет собой набор модулей, размещённых на CPAN. Catalyst написан с помощью Moose и реализует концепцию MVC.

Catalyst
Логотип программы Catalyst
Тип Программный каркас для создания веб-приложений
Разработчики Jonathan Rockway, David Kamholz, Brian Cassidy, Yuval Kogman, Matt S. Trout, Jesse Sheidlower, Andy Grundman, Marcus Ramberg
Написана на Perl
Операционная система Кроссплатформенный
Последняя версия 5.90130 (9 ноября 2022)
Лицензия Двойная (Artistic License и GPL)
Сайт catalyst.perl.org

Реализация MVC в Catalyst править

  • Model (Модель)
Хранит данные (обычно базу данных) и логику для работы с ними. Обычно используется ORM-фреймворк для работы с базой данных.
  • View (Вид)
Вид или представление, выполняют задачу отображения данных, которые хранятся в Model. Обычно View - это HTML страница, которая генерируется с помощью Template-Toolkit фреймворка либо, с помощью какого-нибудь другого шаблонизатора, например Mason (Perl).
  • Controller (Контроллер)
Задача контроллера - обрабатывать запросы клиента и формировать виды с данными, которые хранятся в моделях, а затем выдавать готовую страницу обратно клиенту.

Модель/Вид/Контроллер - обычные Moose-классы.

Вот так выглядит пример TT View, Moose-класса, который создается автоматически с помощью Catalyst скриптов-помощников.

package MyApp::View::HTML;
use Moose;
use namespace::autoclean;

extends 'Catalyst::View::TT';

__PACKAGE__->config(
    TEMPLATE_EXTENSION => '.tt',
    render_die => 1,
);

1;

Поддерживаемые веб-серверы править

Для целей разработки и тестирования Catalyst содержит встроенный HTTP-сервер. Готовые приложения могут быть запущены на любом сервере, поддерживающем CGI. Для повышения производительности рекомендуется использовать FastCGI (в случае, когда используются nginx, Apache, IIS, lighttpd, Zeus) или mod_perl (когда используется Apache)[1].

Примечания править

  1. Catalyst — The elegant MVC framework. Архивировано из оригинала 1 марта 2012 года.

Ссылки править