Для того, чтобы сделать качественный сайт, можно использовать различные инструменты.
Многие веб-студии используют готовые системы управления сайтом (англ. CMS - Content Management System) с целью оптимизации своих расходов. При разработке типовых шаблонных сайтов данный подход более чем оправдывает себя - CMS несет в себе предустановленный набор модулей, полностью реализованную архитектуру, которая, как правило, является очень ограниченной для сторонней модификации разработчиками. В силу своего назначения, системы управления сайтом обязаны быть универсальными, за то это они платят свою цену: как правило, избыточность кода, более сложная архитектура, меньшая гибкость.
Системы управления можно разделить на 3 категории по критерию распространяемости:
Последний вариант представляет из себя собственные разработки в CMS, которые создают на основе фреймворков - инструмента, который мы рассмотрим следующим.
Фреймворк представляет из себя некоторый программный каркас, реализующий базовую архитектуру проекта. Наиболее известными современными php-backend (о значении этого слова мы поговорим подробнее) фреймворками является Zend Framework, Yii, CodeIgniter, Kohana, Symfony и многие другие.
Многие программисты пытаются создавать свои фреймворки, развивая и тренируя свои навыки, однако такие проекты редко получаются действительно интересными и заслуживающими внимание.
Ну и последним рассматриваемым инструментом является его отсутствие - чистый лист и написание кода без соблюдения и выполнения паттернов. То есть отсутствует защищенность кода и безопасность всего приложения в целом, нет оптимизации ресурсов использования, что негативно сказывается на используемых ресурсах (один и тот же сайт будет требовать более дорогих хостинг-услуг) и производительности (и при этом работать будет хуже).
Достаточно продолжительное время мы разрабатывали проекты, выбирая в качестве базового фреймворка CodeIgniter, так как он полностью удовлетворял требованиям тех продуктов, которые мы создавали.
Выбор фреймворка обусловлен отсутствием оптимального решения и реализации на каких-либо системах управления проектам (CMS системы). Для этих целей в нашей компании был создан каркас, использующий максимальное количество возможностей, всю его силу и гибкость.
Это позволяло эффективно решать поставленные задачи, используя минимум ресурсов.
По мере роста нашей веб студии и развития уровня наших специалистов, росло и качество наших проектов, иногда даже менялась философия и подход к разработке. Несколько раз, за последние годы, мы пересматривали методологии процесса разработки. Некоторое время назад мы решили сменить основной фреймворк и уходить в сторону более честной объектно-ориентированной разработки с использованием других фреймворках, которые на уровне ядра осуществляют лучшую поддержку ООП.
Наша студия использует фреймворки при разработке нестандартных решений и сервисов. Сайты, требования которых укладываются в рамки качественных систему управления, мы стараемся разрабатывать на них, уже проверенных временем, с целью экономии стоимости поддержки сайта без ущерба качеству. Наша студия уже не один год является партнером лидеров рынка коробочных систем управления сайтом - 1С.Битрикс и UMI.CMS.
Не смотря на то, что такая разработка накладывает ограничения и требует грамотной архитектуры, большего объема кода, внесение минимальных изменений требует большего времени, в целом такая система ведет себя более стабильно, особенно при больших нагрузках. И, как правило, более серьезные изменения логики намного легче вносятся в код. Сама система является более масштабируемой и в ней меньше повторяющегося кода.
В следующих статьях мы предоставим сравнение фреймворков и подробнее укажем преимущества использования их в проектах.
Хотите поговорить о PHP за под пиво пятничным вечером? Заметьте, это просто посиделки, а конференция, на которой мы, будем выступать. Не полным составом, конечно, а силами двух спикеров.
В предыдущей статье мы уже начали рассказывать вам о новой версии «1С-Битрикс: Управление сайтом», которую представили на презентации 30 мая. Мы успели выделить только некоторые “фишки” и особенности новой редакции, да и то рассказали о них в общих чертах. Теперь хотелось бы остановиться на некоторых блоках более подробно, в частности, поговорить о Сайтах24.
Весна для компании 1С-Битрикс оказалась очень плодотворной. Всего пару месяцев назад мы всей командой слушали и обсуждали презентацию Битрикс24.Гонконг, а вчера появился ещё более весомый повод для дискуссий: релиз новой сборки версии «1С-Битрикс: Управление сайтом» 18.0.