Catalyst

Поделись знанием:
Перейти к: навигация, поиск
Catalyst
Тип

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

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

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

Написана на

Perl

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

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

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

5.90111 (21 июля 2016)

Лицензия

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

Сайт

[www.catalystframework.org/ alystframework.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].

Напишите отзыв о статье "Catalyst"

Примечания

  1. [catalyst.perl.org/ Catalyst — The elegant MVC framework]. [www.webcitation.org/65pZReuQ2 Архивировано из первоисточника 1 марта 2012].

Ссылки

  • [search.cpan.org/perldoc?Catalyst::Manual Catalyst::Manual — User guide and reference for Catalyst]. CPAN. [www.webcitation.org/65pZSEHPq Архивировано из первоисточника 1 марта 2012].
  • [ru_catalyst.livejournal.com/ ru_catalyst] — сообщество в ЖЖ, посвящённое разработке веб-приложений с использованием Catalyst
  • [www.developers.org.ua/archives/dmitryzhariy/2008/10/01/catalyst-mvc-perl-web-framework/ Catalyst — Perl веб-фреймворк в лучших традициях MVC]


Отрывок, характеризующий Catalyst

Графиня пожала плечами.
– Ежели правда, что мосьё Денисов сделал тебе предложение, то скажи ему, что он дурак, вот и всё.
– Нет, он не дурак, – обиженно и серьезно сказала Наташа.
– Ну так что ж ты хочешь? Вы нынче ведь все влюблены. Ну, влюблена, так выходи за него замуж! – сердито смеясь, проговорила графиня. – С Богом!
– Нет, мама, я не влюблена в него, должно быть не влюблена в него.
– Ну, так так и скажи ему.
– Мама, вы сердитесь? Вы не сердитесь, голубушка, ну в чем же я виновата?
– Нет, да что же, мой друг? Хочешь, я пойду скажу ему, – сказала графиня, улыбаясь.
– Нет, я сама, только научите. Вам всё легко, – прибавила она, отвечая на ее улыбку. – А коли бы видели вы, как он мне это сказал! Ведь я знаю, что он не хотел этого сказать, да уж нечаянно сказал.
– Ну всё таки надо отказать.
– Нет, не надо. Мне так его жалко! Он такой милый.
– Ну, так прими предложение. И то пора замуж итти, – сердито и насмешливо сказала мать.
– Нет, мама, мне так жалко его. Я не знаю, как я скажу.
– Да тебе и нечего говорить, я сама скажу, – сказала графиня, возмущенная тем, что осмелились смотреть, как на большую, на эту маленькую Наташу.
– Нет, ни за что, я сама, а вы слушайте у двери, – и Наташа побежала через гостиную в залу, где на том же стуле, у клавикорд, закрыв лицо руками, сидел Денисов. Он вскочил на звук ее легких шагов.
– Натали, – сказал он, быстрыми шагами подходя к ней, – решайте мою судьбу. Она в ваших руках!
– Василий Дмитрич, мне вас так жалко!… Нет, но вы такой славный… но не надо… это… а так я вас всегда буду любить.
Денисов нагнулся над ее рукою, и она услыхала странные, непонятные для нее звуки. Она поцеловала его в черную, спутанную, курчавую голову. В это время послышался поспешный шум платья графини. Она подошла к ним.
– Василий Дмитрич, я благодарю вас за честь, – сказала графиня смущенным голосом, но который казался строгим Денисову, – но моя дочь так молода, и я думала, что вы, как друг моего сына, обратитесь прежде ко мне. В таком случае вы не поставили бы меня в необходимость отказа.
– Г'афиня, – сказал Денисов с опущенными глазами и виноватым видом, хотел сказать что то еще и запнулся.
Наташа не могла спокойно видеть его таким жалким. Она начала громко всхлипывать.
– Г'афиня, я виноват перед вами, – продолжал Денисов прерывающимся голосом, – но знайте, что я так боготво'ю вашу дочь и всё ваше семейство, что две жизни отдам… – Он посмотрел на графиню и, заметив ее строгое лицо… – Ну п'ощайте, г'афиня, – сказал он, поцеловал ее руку и, не взглянув на Наташу, быстрыми, решительными шагами вышел из комнаты.