Catalyst

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Catalyst
Catalyst logo3.png
Тип

Программный каркас для создания веб-приложений

Разработчики

Jonathan Rockway, David Kamholz, Brian Cassidy, Yuval Kogman, Matt S. Trout, Jesse Sheidlower, Andy Grundman, Marcus Ramberg

Написана на

Perl

Операционная система

Кроссплатформенный

Последняя версия

5.90062 (14 апреля 2014)

Лицензия

Двойная (Artistic License и GPL)

Сайт

catalystframework.org

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

Реализация MVC в Catalyst[править | править вики-текст]

  • Model (Модель)
Хранит данные (обычно базу данных) и логику для работы с ними. Обычно используется ORM-фреймворк для работы с базой данных.
  • View (Вид)
Вид или представление, выполняют задачу отображения данных, которые хранятся в Model. Обычно View - это HTML страница, которая генерируется с помощью Template-Toolkit фреймворка либо, с помощью какого-нибудь другого шаблонизатора, например Mason(Per).
  • 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].

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]