PHP фреймворки
Posted on 23/03/2014
Сам по себе фреймворк - это не более чем совокупность готового кода, связанного между собой способами взаимодействия (интерфейсами).
Наверное, слишком мудреное вышло определение, но все же всё то, о чем мы говорим - это уровень абстракции, позволяющий выполнять стандартные задачи с меньшими затратами времени.
Очень часто приходится читать о том, какой из фреймворком лучше, грамотнее написан, а самое интересно, что подобные размышления затрагивают понятие “мода”. Laravel, Symfony, Zend, CodeIgniter - все эти модные и кому - то не совсем понятные названия фигурируют в сфере веб разработок на PHP.
Рассуждая о том, что модно, а что нет, я бы выделил главную ось размышлений - с какой позиции рассуждать о пользе того или иного решения.
1. Позиция разработчика.
Большинство рассуждений, которые я видел на форумах принадлежат именно разработчикам, которым важна каждая деталь. А количество доводов, которые они приводят, могут лишь подтверждать тот факт, что PHP фреймворк - это в первую очередь инструмент разработчика, нежели менеждера.
Любой толковый разработчик любит копаться в коде, любит уют и комфорт синтаксических правил. Ленивые разработчики любят быстроту решения задач. Хотя деление на “ленивых” - весьма условно, т.к. сложно рассуждать о том, кто же лучше - ленивый девелопер, старающийся решить задачу как можно быстрее, или старательный девелопер, всегда пытающийся разрешить поставленную цель крайне аккуратно. Вопрос почти философский и будет зависить только от позиции управленца, о которой - в следующем пункте.
2. Менеджер проекта.
Если речь идет о том менеджере, который вырос из девелопера, то он наверняка будет следить за соблюдением “красоты” кода. Большинство руководств, поставляемых вместе с фреймвоорками, объясняют стандартные принципы оформления кода, а точнее - рекомендации, от которых можно отступать по своему усмотрению.
В большинстве дискуссий относительно структуры MVC - фреймворков встречаются две методологии: “тонкий контроллер - толстая модель” и “толстый контроллер - тонкая модель”. Уверен, тут дело вкуса, но желательно придерживаться одной методологии для одного и того же приложения.
Если же речь идет о человеке, который про программирование слышал отдаленно, то можно сразу переходить к следующему пункту.
3. Директор, владелец проекта, бизнеса.
Восторгаюсь людьми, которые для своей начальной версии проекта покупают готовый HTML/CSS код на themeforest.net за 15 долларов, а потом его модифицируют для своих нужд, экономя немалые деньги на дизайне и вёрстке.
Кому из читателей интересно, на каком фреймворке сделан этот блог? Возможно, это вообще не фрейморк. Конечный пользователь видит в браузере сгенерированный HTML, графику и CSS. Больше ничего.
Кого из тех, кто рассуждает о стратегии развитии своего бизнеса, будет волновать как и в какой манере написан код? Да директор скорее спросит менеджера проекта о том, все ли во внутренностях системы соответствует тем целям, которые он ставит.
Но если самый главный человек в проекте соединяет в себе роль менеджера проекта, то тут могут возникать требования к кода и стилю работы, но это уже рассуждения из предыдущего пункта.
Мир ПО развивается стремительно, а запросы простых пользователей порой довольно просты и не требуют суперсовременных подходов. Удивительность ситуации в том, что никогда не знаешь точно, насколько нужно следовать модным тенденциям.
Сергей Кошкарёв,
23 марта 2014 г.