Моя библиотека - социальная сеть любителей книг

Думаю, не ошибусь, если предположу, что у доброй половины (если не у большинства) разработчиков имеются свои собственные CMS, написанные на основе своих собственных Framework-ов.

Эти системы постоянно модернизируются и улучшаются – постоянно добавляется что-то новое и что-то удаляется за ненадобностью. Фактически каждый разработчик день за днем изобретает свой личный велосипед.

В конце концов, многие задумываются над соотношением полученного результата (деньги, слава, мировое господство) и потраченного времени на исправления своей системы. Одному довольно тяжело и развивать систему, и делать на ней сайты – на все просто не хватает времени.

Из создавшейся ситуации много выходов, например:

  1. Завязать с программированием и податься в нефтяной бизнес;
  2. Полностью перейти на сторонние CMS, и стать обычным интегратором готовых систем, подобных Битриксу;
  3. Остаться при свое CMS, но за основу взять какой-нибудь известный Framework.

Пожалуй, третий вариант нам подходит. :) И вот тут-то мы и сталкиваемся с проблемой выбора.

Сейчас существует очень большое количество бесплатных FW, как известных, так и не очень. Перечислять все не вижу смысла, кому интересно – Google в помощь! Я же перечислю наиболее понравившиеся мне.

Symfony Framework (http://www.symfony-project.com)

Сколько читал на форумах, все его хвалят. Но почитав документацию, не нашел в нем того, чего нет, например, в Zend FW. Безусловно, это очень мощный и гибкий инструмент разработки, но есть одно «но». Он довольно сложен для освоения, даже для не новичков. Например, их первый урок, мне показался более сложным для понимания, чем у других FW, представленных в этой статье.

CodeIgniter (http://codeigniter.com)

Очень простой, но при этом довольно мощный (для своей простоты) framework. Разобраться с CodeIgniter не составит труда даже новичку.

У проекта прекрасная документация, понять которую сможет даже человек, плохо владеющий английским языком. Судя по отзывам, у новичка освоение данного FW займет один-два дня.

К слову, у меня ушло примерно 2 часа, что бы написать на этом FW простенькую CMS (создание, редактирование, удаление текстовых страничек). Работа с CodeIgniter оставила только хорошие воспоминания.

Огорчает лишь одно – CodeIgniter – написан на PHP4. Сейчас это смесь PHP4 & PHP5. Соответственно стройности системе это не добавляет. В остальном все замечательно. :)

Вывод: CodeIgniter отлично подходит для небольших проектов и для программистов, которых не смущает мешанина версий.

Zend Framework (http://framework.zend.com)

Быстро развивающийся FW. Команда разработчиков с завидной регулярностью выпускает новые версии, добавляя новый функционал и «латая» найденные дыры.

У FW замечательная документация, и одно из ее отличий от коллег по цеху – большая часть этой документации переведена на русский язык.

Судя по статьям и обзорам, именно этот FW завоевал доверие российских php-программистов (возможно мое наблюдение очень субъективно).

Лично мне Zend Framework понравился своей концепцией и гибкостью. На его основе можно создавать мощные, легко масштабируемые приложения. Я даже подумываю о разработке одного нового проекта именно на Zend FW.

Однако есть и здесь свои минусы. Framework получился довольно требовательным к ресурсам, т.е. попросту сказать тормознутым. Хотя, если вы собираетесь выделить под проект отдельный сервер, то до поры до времени вас это волновать не должно, тем более кэширование никто не отменял.

Solar Framework (http://solarphp.com)

Еще один из понравившихся мне framework-ов. По концепции очень похож на Zend FW. Однако по тестам он проявил себя как самый быстрый.

Сопровождается хорошим описанием. Хотя документация представлена только на английском языке, но думаю, разобраться в ней не проблема. Написана она простым и доступным языком.

По функциональности Solar конечно уступает Zend FW, но если для вас главное это скорость, то стоит обратить внимание на эту разработку.

CakePHP (http://cakephp.org)

И конечно нельзя обойти вниманием данный фреймворк. Мне лично, показалось, что это нечто среднее между Zend Framework & Solar Framework.

Cake имеет хорошую документацию и отличные уроки работы с системой.

Более подробно с этим фреймворком я еще не разбирался. Но на «беглый взгляд» сложным к освоению он не кажется.

Итак, во всех представленных FW есть, что-то особенное: гибкость, большая функциональность, простота, скорость работы. Но какой же из них выбрать для работы?

Лично я пока склоняюсь к Zend Framework. На мой взгляд, в нем наилучшим образом сочетается большая функциональность и простота использования. Что же касается скорости работы, то это критично далеко не для всех проектов. Вряд ли сайт компании занимающейся строительством коттеджей будет иметь посещаемость 100 000 уников в сутки. :)



Комментарии (9) на запись «Проблема выбора»

  1. FX Poster MonsterID Icon FX Poster | 27.09.2007 в 01:30

    А я все больше склоняюсь к Django. :)
    А по поводу ZF меня все больше посещают такие мысли: стройным и красивым он кажется только на первый взгляд и именно из-за того, что у нас по сути получается набор классов, которые нам самим предложено связывать. Другие фреймворки нам предоставляют уже готовую структуру каталогов и некоторые “настройки по умолчанию”, а в Zend’е это все нужно делать самому. И в итоге после настройки фреймворка под себя он все больше становится “некрасивым” и похожим на другие фреймворки. :)

  2. admin MonsterID Icon admin | 28.09.2007 в 14:27

    FX Poster,
    а может это и хорошо, что ZF предоставляет разработчику большую свободу выбора? Ведь красота системы, в основном, зависит от разработчика, а не от framework-а…

    И еще вопрос: Django - это случаем не Python? =)

  3. FX Poster MonsterID Icon FX Poster | 28.09.2007 в 14:42

    а может это и хорошо, что ZF предоставляет разработчику большую свободу выбора?
    Только разработка по сравнению с заранее подготовленными вариантами использование удлинняется.

    Django - это случаем не Python?
    Он, родимый :)

  4. admin MonsterID Icon admin | 28.09.2007 в 14:52

    >> Только разработка по сравнению с заранее подготовленными вариантами использование удлинняется.

    Совсем немного… но за то производительность системы становится гораздо лучше. 

  5. LARIN.in » Архив блога » Проблема выбора: находка | 28.09.2007 в 22:04

    [...] своей статье “Проблема выбора“среди прочих достоинств ZendFramework, я называл наличие [...]

  6. Павел MonsterID Icon Павел | 09.02.2008 в 17:57

    почему нет варианта потдерживать свою cms\cmf ? имхо писать свой фрэймворк интересно. Не обязательно такой навороченый как там. не понимаю зачем контроллер, sql удобнее. везде есть mysql

  7. admin MonsterID Icon admin | 10.02.2008 в 18:12

    почему нет варианта потдерживать свою cms\cmf ? имхо писать свой фрэймворк интересно. Не обязательно такой навороченый как там. не понимаю зачем контроллер, sql удобнее. везде есть mysql

    Потому что статья называется “Проблема выбора”, а не “Проблема написания” или “Проблема использования” )))

    Далеко, не для любого проекта выгодно писать и поддерживать собственное творение - cms\cmf.

  8. Меня зовут — Анатолий Ларин » Архив блога » Выбор сделан! | 19.12.2008 в 16:42

    [...] мучаюсь выбором php-framework‘а. Я испробовал почти все более-менее известные FW. И все было не то. В одном не нравится его аскетизм. В [...]

  9. Slava MonsterID Icon Slava | 02.04.2010 в 09:48

    Спасибо про фраемворки!

Оставить комментарий


Copyright, 1983 – 2010