Mojolicious краткий обзор фреймворка и доступной документации

Пока писал свою третью статью "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.

Официальные источники

Mojo на CPAN

mojolicious.org — официальный сайт

Sebastian Riedel — создатель Mojo и основатель Catalyst

Гугл группа

Twitter

Sebastian Riedel — создатель Mojo и основатель Catalyst

sharifulin — активный участник Mojo и Perl сообщества

vtivti — активный участник Mojo и Perl сообщества

Поиск по тегу #Mojolicious

Презентации

Mojolicious Веб в коробке! DevConf!

Mojolicious Веб в коробке! РИТ!

Блоги

Mojolicious::Lite — заметка на хабре

Пробуем Mojolicious — хорошая вводная статья

Несколько небольших заметок о Mojo

allframeworks.ru серия статей на этом блоге

статеички, статеички

хороший блог (vtivti) о Mojo (язык англиский)

Анатолий Шарифулин

серия довольно хороших статей

И самое интересное — проекты, написанные и работающие на Mojolicious:

Приложения:

Однофайловый клон Твиттера «tweetylicious» Демо

Однофайловый движок блога «bootylicious» Блог, работающий на этом движке

Wiki-движок

Сайты:

Сокращатель ссылок loh.ru

Литературный сериал «Этногенез»

АЙ! ПРОБКИ!

Перевод документации:

Основы работы с Mojolicious router и его основные принципы

Руководство по рендерингу в Perl-фреймворке Mojolicious

источник

p.s. при нахождения новых материалов — ссылки на них буду публиковать в комментарии…