Кто писал на symfony и пригляделись к CodeIgniter v1 и Zend Framework, выбирают Zend Framework для сложных проектов и CodeIgniter для простых проектов с небольшой посещаемостью и структурой.
CodeIgniter 2 Кохана и Yii пока не актуальны и постоянно изменяются и улучшаются.
Лично я пишу на CodeIgniter, но должен признаться изрядно изменил его структуру, только по этому не меняю его на другой.
Если бы я заранее знал, что в Zend Framework архитектура более продуманна для запутанных задач и проектов, я бы выбрал Zend Framework. Точнее сказать блок схема Zend Framework раз в 5 больше чем в CI и выглядит более запутанно. Сгенерированную блок-схему я потерял, осталась только от CI.
Интересный график в сравнении Kohana, Cake, Cacke+eAccelerator, CodeIgniter, CodeIgniter + eAccelerator. ссылка на пост автора графика даю в конце статьи.
Вот другой график результатов тестирования скорости фреймворков. Чем выше шкала, тем быстрее… (Django хорош на питоне и CodeIgniter с акселератором):
Zend не тестировался с акселератором даю ссылки на доклад и интересный пост на столько же интересном сообществе про Zend.
Zend Framework
Итак давайте плотнее о фреймворке Zend:
Самая большая фишка это его масштабируемость, любой модуль можно не сложно перенести в другой web-проект.
Отсутствие строгой структуры позволяет наиболее выгодно построить ее.
Применяется для проектов с низкой нагрузкой или чуть больше средней.
минусы:
– скорость на шкале (надо попробовать с акселератором)
– документации мало надо качать Zend Frmework in Action
Применимость Zend Framework: Большие проекты, нагрузка от низкой до чуть выше среднего, потребность в частом рефакторинге или разработке по частям. Так же как кладезь хорошо написанных классов
вот проекты на Zend http://www.mp3mixx.com/ и http://mp3vips.com/ (как фронтэнды) и к ним http://www.mp3partners.biz/ как бэкэнд
Вот еще топик, где обсуждается доклад о тестировании Zend Framework, с полезными ссылками.
CodeIgniter
Применимость CodeIgniter: проекты с высокой нагрузкой при средней функциональности. Я бы написал фид-агрегатор какой-нибудь или блог.
Symfony
тоже хорош, документация, и модульность в библиотеках это его плюсы. Большая функциональность и удобство.
но самым большим минусом является его скорость (даже с кэшированием) и прожорливость, не для больших нагрузок. Второй минус - его установка и настройка требует дополнительного времени.
Применяемость: средние и большие по функциональности сайты с маленькой нагрузкой, или средней нагрузкой.
Где-то вычитал:
– Документация Zend отвечает на вопросы ''почему'', но не говорит ''как'', то Symfony в основном отвечает на вопрос ''как'', но не говорит ''почему''.
Django
сам по себе написан на Python а не на PHP (считается модульным языком)
плюсы:
масшатабируемость – имеет произвольную структуру каталогов
произвольно подключаемые модули
хороший шаблонизатор если подключить Jinja2
огромная скорость работы
Python — самый легкий, самый быстрый, самый лучший, так говорят те кто на нем пишет.
минусы:
сложность установки на сервере
малофункциональный стандартный шаблонизатор
Python, так как все привыкли к PHP
Тестирование фреймворков
Для тестирования скорости и реакции на нагрузку будут полезны такие фитчи:
– Apache benchmark
– Siege
– Apache Jmeter
Пост автора бенчмарка трех фреймворков. Автор второго графика не известен.
Заключение
В результате сложилась такая картинка: Самым вкусным является Django но он на питоне написан, следом за ним идет CodeIgniter либо Kohana (кому как нравится), так как разработка CI 2 затянулась а функционала мало в первой версии, лидером становится Kohana на PHP как более функциональный чем CI. (Для меня первым остается CI так как функционал я постоянно дорабатываю)
Zend Framework – очень грамотный фреймворк, использовуется в большинстве случаев с выделенным сервером.
Zend функциональный, но медленный, CI очень быстрый, но заставит написать половину нужного кода самому, Symfony удобный, но иногда просто пугает своей инкапсулированностью от разработчика и тоже медленный
«CodeIgniter 2 Кохана и Yii пока не актуальны и постоянно изменяются и улучшаются.»
ОтветитьУдалитьНу, с CodeIgniter 2 ещё понятно — ни одного релиза пока не было, код очень сырой. А что не так с Kohana и Yii?