Увидел свет первый стабильный релиз проекта Mojolicious, в рамках которого создан современный фреймворк для разработки web-приложений на языке Perl в соответствии с архитектурой MVC (Model-View-Controller). Фреймворк зрелый и продуманный, так как его автор, будучи создателем достаточно известного фреймворка Catalyst,
учел в новом проекте накопленный опыт. С одной стороны 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 селекторов.
|