Сен 06 2008
Плюсы и минусы CakePHP
CakePHP — это платформа (framework) для упрощенной разработки веб-приложений на языке php. Сейчас существует уже целая куча подобных платформ, большинство из них более или менее слизаны с Ruby On Rails. Это вполне обосновано — php установлен на 90% всех хостинговых серверов в мире, а ruby пока еще только набирает обороты. В нашей студии CakePHP используется более двух лет, мы узнали о нем из анонса в девелоперской сети IBM.
Что нам дает использование этой платформы? Расширяемость и адаптацию. Каждый заказчик делает сайт с какой-то коммерческой целью. У каждого заказчика так или иначе отличается сфера и вид деятельности. Соответственно двух абсолютно одинаковых сайтов — не бывает.
Например, интернет-магазин, торгующий рыболовными товарами. Стандартные движки интернет-магазинов (такие как osCommerce) позволяют создать структуру каталога, указать цену и изображение товара. Но дополнительный функционал — как подбор комплектующих к товарам (крепеж для спиннигов), блесен по размерам, крючков по виду рыбы — все это приходится разрабатывать практически с нуля, потому что готового плагина не найти, а набор разнообразных плагинов не всегда можно просто интегрировать друг с другом. На CakePHP же такие связки и доработки делаются легко, в основном благодаря продуманной структуре платформы.
Структура — это отдельное, наверное самое важное достоинство платформы. Благодаря необходимости строго следовать соглашениям (conventions), CakePHP вправляет мозги недо-кодерам самоучкам, которых часто приходится брать на работу и обучать как с нуля. У них уже не получается писать глюкавые реализации стандартных в CakePHP функций. Все видели сто тысяч вариантов классов для работы с базой данных? А часто — вообще без классов, прямо в коде постоянные mysql_connect и mysql_query? Кейк от этого отучает. Взамен — приучает думать объектно, объединять функции по общим признакам в собственные классы, взаимодействовать с системой реализуя компоненты и хелперы.
К недостаткам CakePHP хотелось бы отнести скорость разработки. Причем виновата даже не платформа — она-то как раз позволяет запустить функционал за считанные часы. Виноват сам язык php. Больше всего времени уходит на безопасность приложений: проверка входных значений, разграничение уровней доступа и т.д.
Кстати, в платформе есть встроенный компонент Auth для управления доступом, но на текущий момент он крайне неудобен в использовании.
Думаем куда податься — на питон и django или на руби и rails.
Октябрь 13th, 2008 at 17:56
скажите, а какую версию Cake Вы используете? стабильную,но немного “деревянную” 1.1 или же свежайшую 1.2 без мануала?
Октябрь 15th, 2008 at 22:37
Последние 8 месяцев у нас в студии используется версия 1.2. Честно говоря мне не нравится новый стиль по-умолчанию, в 1.1 было как-то симпатичнее. Но может быть у нашего дизайнера до этого когда-нибудь дойдут руки.