Mojolicious

Mojolicious
Тип програмний каркас
Автор Sebastian Riedel
Перший випуск 24 вересня 2008[1]
Стабільний випуск 3.0 (26 червня 2012; 11 років тому (2012-06-26))
Операційна система кросплатформова програма
Мова програмування Perl
Ліцензія PAL
Репозиторій github.com/mojolicious/mojo
Вебсайт mojolicio.us

Mojoliciousпрограмний каркас, призначений для створення вебзастосунків на мові Perl з використанням парадигми модель-вид-контролер (Model-View-Controller, MVC). Проєкт розвивається автором популярного фреймворку Catalyst і позиціонується як спроба перекладу на новий рівень засобів веброзробки для мови Perl. З одного боку Mojolicious досить простий в освоєнні (для нехитрих проєктів доступний спрощений варіант Mojolicious::Lite), а з іншого — побудований на піку сучасних технологій, наприклад, реалізує можливість організації повноцінного двунаправленного обміну даними з сервером через WebSocket, забезпечує тіснішу інтеграцію з JavaScript, підтримує виконання вебзастосунків в offline-режимі, AJAX, асинхронний ввід/вивід, RESTful-процедури.

Особливості Mojolicious:

  • Підтримка з коробки: плагінів, шаблонів з можливістю вставки perl-операторів, підписаних cookies, I18n, повна підтримка unicode;
  • Вбудовані механізми управління сесіями;
  • Доступний окремий фреймворк для тестування вебзастосунків;
  • Чистий, легко пристосовуваний і об'єктно-орієнтований API;
  • Пакет є самодостатнім і не потребує для своєї роботи жодних залежностей, крім Perl 5.10.1 (рекомендується Perl 5.12+, крім того деякі опціональні функції можуть зажадати установки додаткових модулів зі CPAN);
  • Вбудована реалізація клієнта і сервера для HTTP 1.1 і WebSocket, з підтримкою TLS, Bonjour, IDNA, Comet (тривалий пулинг), chunking і multipart;
  • Кілька варіантів вбудованого вебсервера: для тестування, для промислового використання для швидкого розгортання. Сервер підтримує організацію асинхронного вводу/виводу, epoll, kqueue і UNIX domain sockets. У найпростішому випадку для розгортання вебпроєкту на базі Mojolicious досить наявності інтерпретатора Perl. При цьому фреймворк є багатоплатформовим і підтримує не тільки Unix-подібні ОС, але і Windows. Для забезпечення роботи модулів обробки циклу подій (Event Loop) EV і AnyEvent задіяна високопродуктивна бібліотека libev;
  • Автоматичне визначення доступності режимів CGI, FastCGI і PSGI;
  • Вбудований парсер JSON і XML/HTML5 з підтримкою CSS3 селекторів.

Виноски

  1. Mojolicious change log. Архів оригіналу за 10 червня 2013. Процитовано 2 липня 2012.

Джерела

  • Релиз MVC-фреймворка Mojolicious 3.0 для разработки web-приложений на языке Perl [Архівовано 6 липня 2012 у Wayback Machine.]
  • п
  • о
  • р
Каркаси вебзастосунків (веб-фреймворки)
ASP.NET
ASP.NET MVC Framework · BFC · DotNetNuke · MonoRail · Umbraco
ColdFusion
ColdSpring · Fusebox · Mach-II · Model-Glue · onTap
Common Lisp
ABCL-web · blow · BKNR · SymbolicWeb · UnCommon Web
Erlang
BeepBeep · Chicago Boss · Erlang Web · ErlyWeb · Inets · Misultin · Mochiweb · Nitrogen · WebMachine · Yaws
Flex
Cairngorm
Java
Apache Cocoon · Apache Struts · Apache Tapestry · AppFuse · Aranea framework · Click Framework · Cooee framework · Flexive · Google Web Toolkit · Grails · Hamlets · IT Mill Toolkit · ItsNat · JavaServer Faces · JBoss Seam · Makumba · Mentawai · Oracle ADF · OpenLaszlo · OpenXava · Play Framework · Reasonable Server Faces · Restlet · RIFE · Shale Framework · SmartClient · Spring Framework · Stripes · ThinWire · WebObjects · WebWork · Apache Wicket · XTT Framework · ZK Framework
Клієнтські для JavaScript
ASP.NET AJAX · AJILE · Clean AJAX · Backbone.js · Dojo toolkit · Echo JS · Ext JS · jQuery · KnockoutJS · MochiKit · Meteor · MooTools · OpenLink AJAX Toolkit · Prototype · React · qooxdoo · Rialto Toolkit · Rico · script.aculo.us · SmartClient · Spry framework · WinJS · Underscore.js · Yahoo! UI Library
Perl
Catalyst[en] · Interchange · Maypole framework · Mason · Mojolicious
PHP
Akelos PHP Framework · CakePHP · Chisimba · CodeIgniter · Drupal · DokuWiki · eZ Publish · FUSE · Horde · Joomla! · Kohana · MODX · Phalcon · PHP For Applications · PHPOpenbiz · PRADO · Qcodo · Seagull PHP Framework · Simplicity PHP framework · Laravel · SilverStripe · Symfony · VirtueMart · Zend Framework · Zoop Framework · Yii
Python
CherryPy · Django · Flask · Karrigell · Nevow · Porcupine · Pylons · Spyce · TurboGears · TwistedWeb · web.py · web2py · Webware · Zope
Ruby
Camping · Nitro · IOWA · Ramaze · Cerise · Merb · Ruby on Rails
Scala
Lift · Play Framework · Scalatra
Серверні для JavaScript
AppJet · firecat · Helma Object Publisher · Node.js
Lua
Dart
Інші
Alpha Five · Fusebox (ColdFusion і PHP) · OpenACS (Tcl) · Seaside (Smalltalk) · HAppS (Haskell)·