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

Увидел свет первый стабильный релиз проекта 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 селекторов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.