pROCKrammer
@pROCKrammer

Посоветуйте Web Framework на Perl

Хочу просто написать дипломную на Perl и хотелось бы узнать какие фреймворки есть и какую посоветуете использовать?
  • Вопрос задан
  • 7579 просмотров
Решения вопроса 1
metamorph
@metamorph
А что считать фреймворком? Какие цели он должен выполнять?

Если что-то уровня RoR/django, то под перл, увы, такого нет. Есть монструозный каталист, тянущий за собой вагон зависимостей, есть его последователь Mojo/Mojolicious (год назад был практически недокументирован и местами глючен).

Тем не менее, есть вполне себе самостоятельные пакеты для работы с отдельными буквами боянной аббревиатуры MVC. В частности:
DBIx::Class — для БД,
Template Toolkit — для шаблонизации.

Контроллеры можно написать тысячей разных способов, как руками, так и с использованием бешеной CGI.

Под mod_perl2, кстати, поинтереснее становится. См. модули, начинающиеся с Apache:: и Apache2::.
Например, посмотреть в сторону Apache2::Controller. Ну, как «посмотреть». Посмотреть, понять, что они хотели этим сказать, и за полдня сделать то же самое.

С обработкой форм (валидация, сохранение), помню, жопа была. Выбор невелик, а те, что поприличнее, опять же волочили за собой вагон зависимостей.

Правда, при попытке соединить все воедино может заболеть голова.
У меня в свое время закончилось тем, что я выкинул все нафиг и, в основном, использовал велосипеды.
В частности, сделал простейшую обертку над SQL::Abstract, соединение с БД держал Apache::DBI, сессиями занимался Apache2::Session с пробросом в Apache2::Session::Memcached, шаблонизатором был TT, а диалогом с пользователем занимался самописный класс на основе Apache2::Request, созданный по мотивам Apache2::Controller.

Кстати, CMS Movable type вроде жжот напалмом. Детально полапать его мне, увы, не удалось, но беглый просмотр сделал глазу приятно. Оттуда можно таскать идеи.

PS. извините, в точных названиях классов мог облажаться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
sesharim
@sesharim
Catalyst.
Ответ написан
Комментировать
TiGR
@TiGR
Я немного в шоке, у меня только один вопрос — зачем? Неужели нельзя воспользоваться более человечными веб-технологиями?
Ответ написан
@Suor
Perl действительно не предполагается использовать таким образом. Нужно использовать конкретные модули для конкретных задач. По своему опыту написания достаточно крупных проектов на перле — вам не нужен фреймворк )
Ответ написан
Комментировать
@naim
Могу посоветовать catalyst. Довольно хорошо описан.(есть большой и толковый tutorial)
Вообще вам стоит поискать на search.cpan.org и на github
Ответ написан
Комментировать
Bambr
@Bambr
Mojo достаточно прост и имхо вполне подойдет для дипломной работы. Про Catalyst тут уже писали. Mason весьма мощная штука, но для обучения имхо неудобен, ибо поощряет смешивание логики и представления, а до его самых вкусных плюшек вы вряд ли доберетесь сразу. Для обучения, как написал metamorph, хорошо помогает писать велосипеды «по мотивам» лучшего, что вы встретили у других.
ЗЫ если будете выбирать обертку над БД, умоляю, НЕ берите DBIx::SearchBuilder.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы