Уже есть вопросы о Perl + AJAX, например здесь, здесь или здесь и несколько других. Им больше двух лет, и я надеялся на новые вещи.
Вопросы:
- Какой самый предпочтительный метод сегодня делает приложения AJAX с бэкэндом Perl?
- Существуют ли какие-либо активные и часто используемые модули Perl, которые помогают создавать приложения на основе AJAX?
Что-то для обычного рабочего процесса:
if clicked this button (or changed this field.. etc),
POST these data to the server,
read the JSON answer,
and update this/these DIV(s) in a DOM... etc.
Этот вопрос можно классифицировать как неопределенный, но я действительно потерян и вам нужна помощь в этом: что является наиболее распространенным способом создания приложений AJAX в мире Perl, СЕГОДНЯ.
Ищем вспомогательный модуль, который поможет мне создать javascript на стороне браузера.
Я нашел их:
- https://metacpan.org/pod/OpenThought
- https://metacpan.org/pod/HTML::AjaxTags
- https://metacpan.org/pod/CGI::Ajax (но это CGI основано и IMHO не лучшее для мира Plack)
Эти модули не обновлялись в течение нескольких лет. Являются ли они стабильными и в использовании? Или они устарели и есть лучший способ? (для современных технологий Perl - например, Plack).
UPDATE
Когда я читаю ответы, я думаю, что основная проблема, вероятно, на моем английском. Я не знаю, как правильно выразить себя.
Я знаю Perl. Может быть, я не эксперт, но написал несколько тысяч строк кода. Я знаю Танцовщицу и уже пишу некоторые приложения в Mojo...:: Lite. Знайте JSON {:: XS}, и я знаю, как работает AJAX.
Теперь (по какой-то причине) я предпочитаю использовать Mason2 с Mason:: Plugin:: RouterSimple и несколькими другими модулями CPAN и Moose. Catalyst, Jifty слишком велики для моих нужд.
Вернуться к вопросу:
Моя любимая структура JS - это jQuery, я использую ее в нескольких проектах для модальных окон, аккордеонов, вкладок и т.д.
НО
Моя основная проблема заключается именно в Sismetic ответе. Я не хочу писать JavaScript. Не нравится. (Не знаю, это очень хорошо, и ненавижу каждый язык, где я должен написать что-то вроде: var arr = new Array();
вместо my @arr
)
Итак, ища решение, как я могу минимизировать (или в идеальном мире - полностью устранить) необходимость написания кода JavaScript. Не хотите писать в мои шаблоны
$('.clickableButton').click(function(e) {
.... etc... etc..
)}
но что-то вроде:
$ajax->make_button( -onchange=>$url, -updatedom=>'#thisdiv", some_special_button_description_in_perl );
$tohead .= $ajax->gen_libs();
$tohtml .= $ajax->gen_html();
$jsdocready .= $ajax->gen_jsinitcode();
В моих шаблонах будет выводиться только $tohead
в головной части (так что включите jQuery), $tohtml
войдет в тело, а $jsdocready
войдет в конец тела как код инициализации JavaScript.
Выступление - это очень глупый пример, но, надеюсь, показывает, что я имею в виду. Просто: Идеальное решение было (возможно, не существует) полностью исключает необходимость написания JavaScript, только код Perl, который будет генерировать необходимый JS.
Поэтому я упомянул вышеупомянутые модули, особенно https://metacpan.org/pod/OpenThought, потому что они действительно помогают свести к минимуму запись JavaScript. Проблема в том, что они не обновлялись в течение 2 лет.; (К сожалению, я не знаю других.