Давно прошли те времена, когда вы писали Perl для Интернета только в CGI. Dancer, Catalyst и Mojolicious-это современные способы сделать это, а версия Mojo 8.0 с кодовым названием «Суперзлодей» была выпущена только на прошлой неделе.
Каждый фреймворк имеет свои собственные преимущества: Dancer считается самым легким и с самым низким барьером входа, а Catalyst-самым тяжелым и с крутой кривой обучения. Mojo плавает где-то посередине, его самой сильной стороной является его утверждение о том, что он является «веб-фреймворком реального времени» из-за его веб-пакетов и неблокирующих/асинхронных возможностей, предоставляемых из коробки. С учетом сказанного, давайте узнаем, что может предложить новейшая версия Mojo.
Наиболее выдающейся особенностью, учитывая, что Mojo основан на цикле событий а-ля NodeJS, является введение модуля «Mojo::Promise», реализации обещаний на Perl, которая упрощает и улучшает существующие механизмы обратного вызова асинхронных операций. Кроме того, в модели процессов Ядра произошли серьезные изменения в том, что рабочие процессы теперь могут размещать любое количество подпроцессов, чтобы ускорить выполнение медленных длительных операций.
Другой модуль, Mojo::File, представляет собой попытку объединить различные API для работы с файлами, предлагаемые огромным и переменным количеством модулей Perl, в рамках одного API.
Также:
Теперь есть возможность использовать домен Unix вместо сокетов TCP/IP.
Роль::Крошечный для легкого расширения классов Моджо
Типы заполнителей, в которых можно группировать корневые запросы по описанию функциональности
Прикрепление идентификаторов к запросам
Модуль Mojo::Pg, который облегчает более компактные асинхронные запросы к базе данных Postgres
И еще одной особенностью, связанной с Postgres, является использование SQL::Abstract::Pg для написания общих SQL-запросов в общем виде, чтобы вам не приходилось повторять одни и те же шаблонные запросы снова и снова
Чтобы подробно ознакомиться с полным списком функций новой версии, прочтите или посмотрите соответствующую презентацию на недавнем Mojoconf самого Себастьяна Риделя.