Преимущества и недостатки использования php-фреймворков в процессе разработки сайтов

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

Чаще всего, выбор сводится к одному вопросу: разрабатывать сайт на готовой CMS (Content Manage System) или на PHP Framework’е. С CMS (например WordPress, OpenCart, Joomla и т.д.) все ясно: широкий функционал из коробки, богатый набор как платных, так и бесплатных модулей и плагинов, быстрая установка и настройка сайта. Казалось бы, что еще нужно?

Ответ на этот вопрос появляется, когда у пользователя возникает желание изменить/дополнить функционал, предоставлямый CMS и модулями. Основное преимущество использования php-фреймворка в разработке — гибкость. Использование фреймворка не накладывает на разработчика большинство ограничений, существующих в разработке под CMS. Это означает, что мы быстро и качественно можем писать любой функционал, необходимый клиенту, и при этом нет никаких «мы не можем этого сделать из-за ограничений CMS». Это преимущество хорошо отслеживается на примере социальных сетей (vkontakte, connect): эти сайты менялись в корне с момента создания и по сей день.

Также, фреймворки можно и нужно использовать при создании сайтов с нестандартной логикой и структурой (olx.ua, doba.ua). Любой модуль или компонент сайта должен быть выполнен в стиле CMS, а в случае рализации нестандартного функционала, время выполнения этого требования увеличивается в разы. Бывает, что необходимый клиенту нестандартный модуль «живет» отдельно от остальных компонентов сайта и не пересекается с ними. В таких случаях лучше всего выполнить разработку на фреймворке и поместить на отдельный поддомен.

При все большем развитии интернета, к техническим требованиям, выдвигаемым к сайтам добавился еще один — скорость. Этот параметр влияет не только впечатление пользователя от сайта, но уже и на позиции сайта по ключевым запросам. Если вы собираетесь продавать товары и/или услуги в интернете, то скорость загрузки сайта должна быть важной для вас наравне с дизайном и юзабилити. Также, скорость работы сайта является критической для высоконагруженных медиа-порталов (например ex.ua, fs.to …).
Фреймворки практически всегда работают быстрее, потому что серевер обрабатывает и выдает только ту информацию, которую запросил пользователь, в то время как CMS делает в разы больше ненужных вычислений и запросов в базу на предмет «включен модуль или выключен», «если включен, то выполняются ли остальные условия для его вывода» и т. д.

На основе всего прочитанного вами выше мы можем вместе подвести следующие итоги.

Преимущества использования php-фреймворков:

  • с их помощью разработать можно сайт любой сложности и функционала;
  • разработка дополнительных компонентов будет дешевле и займет меньше времени, чем аналогичная разработка под CMS;
  • php-фреймворки можно использовать параллельно с сайтом, разработанном на готовой CMS;
  • сайты, разработанные на фреймворках, работают быстрее своих аналогов на CMS.

Из недостатков:

  • готовых модулей и компонентов, которые мог бы установить клиент, в интернете нет ни бесплатных, ни платных. Все доработки необходимо заказывать у разработчиков;
  • разработка функционала, стандартного для сайтов на CMS, обойдется дороже и займет больше времени.