Каковы различия и характеристики производительности Perl CGI и Catalyst?
Я использовал Perl CGI и Catalyst. Я знаю, что Catalyst лучше, чем Perl CGI. Я знаю, что разница в том, что Catalyst лучше обрабатывает URL. Но какие еще различия есть?
Кроме того, как изменяется производительность приложения, если используется Catalyst или CGI Perl, и почему? Источник с некоторыми примерами из реального мира, если вы сталкивались.
2 ответа
Сравнивать CGI.pm с Catalyst - все равно что сравнивать маленький портативный компьютер с полноценной офисной средой. Ноутбук великолепен, но у него домашний офис, есть стол, стул, принтеры, возможно, факс, сканеры, степлеры, шкафы для документов, ручки, бумага и так далее.
CGI.pm предназначен для разбора строк запросов, данных форм, обработки файлов cookie, некоторой базовой обработки HTTP, может быть, быстрого и грязного генерирования HTML, но не намного. Это все, что вы получаете, и это нормально, потому что это все, для чего он предназначен. На самом деле, включение функций генерации HTML, вероятно, было ошибкой.
Catalyst - это полноценный веб-фреймворк, разработанный для упрощения организации и создания веб-сайтов. Вот куда идут модели, вот куда идут контроллеры, вот куда идут представления... и, о-о, обработка веб-запросов, куки, HTTP, сессий, аутентификация, диспетчеризация маршрутов, встроенный сервер разработки и скоро. Это настолько далеко от CGI, что сравнивать их не имеет смысла.
Если Catalyst кажется вам излишним, я настоятельно рекомендую вам проверить Dancer или http://mojolicio.us/.
Ну, я полагаю, вы говорите о CGI:: Приложение, а не CGI.pm против Catalyst.
Конечно, производительность вашего приложения будет зависеть от того, что вы делаете с фреймворком, и от того, сможете ли вы использовать кеширование (в этом случае они оба очень быстрые).
Загляните на http://www.perlmonks.org/?node_id=645497 для получения дополнительной информации. Не позволяйте дате пугать вас, все не так сильно изменилось.
CGI прост, он охватывает основы, и вы можете научиться этому очень быстро.
Катализатор пытается быть вашим верным помощником и ожидает, что вы будете верны и узнаете это хорошо. Он может автоматизировать многие вещи, но при этом дает вам гибкость. Он использует много библиотек, но, на мой взгляд, не замедляет его. Ваше оборудование и требования будут отличаться от моих.
Для быстрых проектов я использую CGI, для более сложных систем я использую Catalyst. Это действительно зависит от вашего проекта.