Изменения

Перейти к: навигация, поиск

Платформы для запуска Perl веб-приложений

256 байтов убрано, 12:14, 10 августа 2009
Нет описания правки
Плюсы:
# Универсальность — скрипт, написанный с использованием [http://search.cpan.org/perldoc?{{CPAN|CGI |CGI.pm]}}, будет работать на любой платформе, так как CGI поддерживают все (почти все?).
# Простые вещи реализовать на CGI просто. Чем-то эта идеология похожа на идеологию Perl в целом — простые задачи он делает простыми, а сложные — возможными.
# Большое количество наработок, то есть, модулей для работы в CGI среде. В частности, к счастью разработчиков, есть модуль [http://search.cpan.org/perldoc?{{CPAN|PCGI |PCGI.pm]}}, являющий собой вменяемую PHP-подобную реализацию CGI-протокола.
# Запуск нового интерпретатора, помимо минуса (1), означает и плюс — свободу от свойственных долгоживущим Perl демонам утечек памяти.
# Склонность к утечкам памяти, особенно в случае использования большого числа устаревшего кода, рассчитанного на «умирание» скрипта после обработки каждого запроса в среде CGI.
# Взаимодействие по-прежнему ведётся через функции CGI, поэтому «интерфейсные» минусы CGI никуда не исчезают. Специальных обвязок для упрощения взаимодействия с сервером по протоколу FastCGI нет, кроме самой примитивной реализации — модуля [http://search.cpan.org/perldoc?{{CPAN|FCGI FCGI]}}. ''Идеология, видимо, такова — а зачем, раз и так есть CGI.pm и компания?''
=== mod_perl ===
# Весьма богатый и достаточно удобный программный интерфейс, через который с Apache можно делать практически всё, что душа пожелает.
# Возможность с небольшими телодвижениями запускать CGI-приложения в среде mod_perl с помощью модуля Apache::Registry. Для примера использования доработанного модуля Registry можно посмотреть реализацию [http://mxr.mozilla.org/bugzilla/source/mod_perl.pl mod_perl.pl] из Bugzilla 3.x.
# Модуль популярен. Есть множество наработок, многие из которых представляют собой весьма и весьма приятные продукты. Хороший пример — профилировщик [http://search.cpan.org/perldoc?{{CPAN|NYTProf NYTProf]}}, разработанный именно для профилирования мод_перла.
Минусы:
=== LWP (HTTP::Daemon) ===
[http://search.cpan.org/perldoc?{{CPAN|LWP LWP] }} (''libwww-perl'') — библиотека для создания как клиентов, так и серверов, полностью совместимых со спецификацией HTTP/1.1, на чистом Perl’е.
В качестве единственной готовой, пусть и исключительно простой, платформы, исповедующей идеологию получения запросов в форме HTTP::Request и ответа HTTP::Response’ами можно рассмотреть [http://search.cpan.org/perldoc?HTTP::Server::Brick {{CPAN|HTTP::Server::Brick]}}, построенный на основе HTTP::Daemon.
Плюсы:
* Очень логичный и правильный программный интерфейс — {{CPAN|HTTP::Request}}, {{CPAN|HTTP::Response}}, {{CPAN|HTTP::Body }} и т. п. HTTP::Body, кстати, использует [http://search.cpan.org/perldoc?Catalyst {{CPAN|Catalyst]}}.
Минусы:
== Заключение ==
С точки зрения веб-разработчика, не принимающего участие в разработке основного "ядра" «ядра» системы (демона и/или обработчиков), всё вышеописанное сводится к следующим интерфейсам:
* [http://perl.apache.org/docs/1.0/ mod_perl 1.x]
* [http://perl.apache.org/docs/2.0/ mod_perl 2.x]
* [http://search.cpan.org/perldoc?CGI {{CPAN|CGI]}}* [http://search.cpan.org/perldoc?{{CPAN|PCGI PCGI]}}* [http://search.cpan.org/perldoc?{{CPAN|HTTP::Response Request}} + {{CPAN|HTTP::Response]}}
[[Категория:Sway]]
[[Категория:Разработка]]

Навигация