Представлен Mojolicious 1.0, MVC web-фреймворк на языке Perl от создателя Catalyst
29 декабря 2010 года

Увидел свет (Архивная копия от 13 июля 2012 на Wayback Machine) первый стабильный релиз проекта Mojolicious (Архивная копия от 15 декабря 2015 на Wayback Machine), в рамках которого создан современный фреймворк для разработки web-приложений на языке Perl в соответствии с архитектурой MVC (Model-View-Controller). Фреймворк зрелый и продуманный, так как его автор, будучи создателем достаточно известного фреймворка Catalyst (Архивная копия от 5 октября 2021 на Wayback Machine), учел в новом проекте накопленный опыт. С одной стороны Mojolicious достаточно прост в освоении (для незамысловатых проектов доступен упрощенный вариант Mojolicious::Lite), а с другой - построен на пике современных технологий, например, поддерживает Websockets, Ajax, асинхронный ввод/вывод, RESTful-процедуры и т.п.
По заявлению основателя проекта, Mojolicious является попыткой возродить интерес к языку Perl среди разработчиков приложений, как было во времена появления модуля CGI. Пять лет назад в ответ на появление технологии Ajax был создан фреймворк Catalyst, в нынешнее время мир стоит на пороге революции технологий HTML5. Возможности браузеров возросли и ранее реализуемая на стороне сервера логика все больше переносится на клиентскую сторону. Появилось несколько принципиально новых подходов в работе web-приложений, таких как возможность организации полноценного двунаправленного обмена данными с сервером (WebSocket API), поддержка выполнения web-приложений в offline-режиме и более тесная интеграция JavaScript.
Особенности Mojolicious:
- Поддержка из коробки: плагинов, шаблонов с возможностью вставки perl-операторов, подписанных cookies, I18N, полная поддержка unicode;
- Встроенные механизмы управления сессиями;
- Доступен отдельный фреймворк для тестирования web-приложений;
- Чистый, легко портируемый и объектно-ориентированный API;
- Пакет является самодостаточным и не требует для своей работы каких либо зависимостей, кроме Perl 5.8.7 (тем не менее некоторые опциональные функции могут потребовать установки дополнительных модулей из CPAN);
- Встроенная реализация клиента и сервера для HTTP 1.1 и WebSocket, с поддержкой TLS, Bonjour, IDNA, Comet (длительный пулинг), chunking и multipart;
- Встроенный web-сервер для организации асинхронного ввода/вывода, поддерживающий epoll, kqueue и UNIX domain sockets. В простейшем случае для развертывания web-проекта на базе Mojolicious достаточно наличия интерпретатора Perl. При этом фреймворк является многоплатформенным и поддерживает не только Unix-подобные ОС, но и Windows;
- Автоматическое определение доступности режимов CGI, FastCGI и PSGI;
- Встроенный парсер JSON и XML/HTML5 с поддержкой CSS3 селекторов.
Источники
- Главная ссылка к новости (http://blog.kraih.com/mojolici...) (Архивная копия от 13 июля 2012 на Wayback Machine)
- Mojolicious на CPAN

