Пока писал свою третью статью "MVC в Mojolicious", наткнулся вот на такую статейку. Решил ее перевести на русский язык и дополнить ссылками на документацию и примеры использования Mojo. Так как на русском языке такой документации пока очень мало — буду приводить так же иностранные статьи и сайты о Mojolicious. Если какие-то ресурсы пропущу — отписываемся в комментариях.
И так поехали!
Что такое Mojolicious ?
Проект Mojo имеет в своем составе три веб-фреймворка: Mojo, Mojolicious и Mojolicious::Lite. Mojolicious::Lite — самый простой фреймворк из всей «тройки Mojo». Если Вы впервые имеете дело с Perl-фреймворками и тем более с Mojo — Mojolicious::Lite — то самое место с которого стоит начать. Используя Mojolicious::Lite можно создать полноценное веб-приложение/сайт, состоящее всего из одного файла, это напоминает идеологию и возможности еще одного фреймворка, только на Ruby — Sinatra. Работая с Mojolicious::Lite, можно использовать все возможности его «старших собратьев» Mojo и Mojolicious — так как в основе Mojolicious::Lite лежат именно эти фреймворки.
Если же Вам необходимо создать довольно крупное приложение — Mojolicious будет хорошим выбором. Приложение на Mojolicious состоит из нескольких типов файлов, среди которых есть контроллеры, шаблоны и модели (классический MVC). Такая структура и состав приложения очень похожа на Ruby On Rails (да и на некоторые другие веб-фреймворки)
Mojo — это основной фреймворк, лежащий в основе как Mojolicious::Lite, так и Mojolicious.
Главная страница проекта Mojo на GitHub
Руководство
Справочное руководство по Mojolicious::Lite доступно через стандартную утилиту чтения документации perldoc.
Набираем в терминале:
<code>perldoc Mojolicious::Lite</code>
И начинаем разбираться!
Эту же документацию можно получить через веб — на CPAN.
API документация
API документация поставляется вместе с соответствующим Perl-модулем Mojo и доступна для чтения через perldoc.
<code>perldoc Mojo::URL perldoc Mojo::Message::Request</code>
Список всех модулей можно увидеть где? Правильно! На CPAN!
Примеры
В качестве примеров можно рассматривать тесты, расположенные в директории «t», особенно рекомендуется посмотреть lite_app.t. Из представленного там кода можно узнать как работают роуты, шаблоны и собственно сами тесты.
Переменные окружения
Mojolicious использует множество переменных окружения, которые позволяют настроить фреймворк под свои нужды. Список всех переменных можно посмотреть вот тут Mojolicious::Guides::Cheetsheet
Список рассылки и прочие каналы коммуникации
Если у Вас есть идея или предложение — воспользуйтесь Google groups.
Так же существует irc:
server: irc.perl.org
channel: #mojo
Теперь, как и обещал, постараюсь собрать полезные источники информации о Mojo.
Официальные источники
mojolicious.org — официальный сайт
Sebastian Riedel — создатель Mojo и основатель Catalyst
Twitter
Sebastian Riedel — создатель Mojo и основатель Catalyst
sharifulin — активный участник Mojo и Perl сообщества
vtivti — активный участник Mojo и Perl сообщества
Презентации
Mojolicious Веб в коробке! DevConf!
Mojolicious Веб в коробке! РИТ!
Блоги
Mojolicious::Lite — заметка на хабре
Пробуем Mojolicious — хорошая вводная статья
Несколько небольших заметок о Mojo
allframeworks.ru серия статей на этом блоге
хороший блог (vtivti) о Mojo (язык англиский)
И самое интересное — проекты, написанные и работающие на Mojolicious:
Приложения:
Однофайловый клон Твиттера «tweetylicious» Демо
Однофайловый движок блога «bootylicious» Блог, работающий на этом движке
Сайты:
Литературный сериал «Этногенез»
Перевод документации:
Основы работы с Mojolicious router и его основные принципы
Руководство по рендерингу в Perl-фреймворке Mojolicious
p.s. при нахождения новых материалов — ссылки на них буду публиковать в комментарии…