Я работаю с различными системами управления (CMS, движками). Все они бесплатны и их код открыт (Open Source). Предпочтение отдаю Жумле, однако на ней можно быстро развернуть сайты лишь определенного формата - визитки, промо, бизнес и в некоторых случаях, сайты-каталоги. Интернет-магазины делаю на Opencart. Очевидно, что для различного комплекса задач удобнее применять специально заточенные платформы. Рассмотрим, на каких платформах и для чего конкретно эффективнее всего вести разработку.
1. Joomla: можно оперативно разворачивать сайты-визитки, корпоративные сайты. На ней я также делал порталы-каталоги и сайты-справочники, хотя для последних приходилось серьезно допиливать как компоненты ядра, так и сторонние расширения. Из коробки предоставляемых функций и настроек недостаточно.
Код Жумлы придерживается последнего слова ООП (объектно-ориентированное программирование), а сама платформа построена по удобной схеме MVC (Model-View-Controller), т.е. бизнес-логика, управление и дизайн отделены друг от друга, что является отличной подпоркой для порядка, как в коде, так и в голове. Жаль многие программисты и создатели модулей порядка не придерживаются. Например, компонент социальной сети Community Builder в этом плане неимоверно ужасен. Беееее... Но в целом, Жумла как инструмент среди бесплатных систем у меня на первом месте.
2. Drupal: удобно создавать всевозможные онлайновые СМИ, каталоги и справочники. Многое можно реализовать посредством мыши, из веб-интерфейса, даже не прибегая к прямому массажу сердца кодингу. Для меня последний не слишком приятен в рамках Друпала, поскольку программно-модульное построение веб-ресурса основано на хуках, коих бесчисленное множество. И изучать их то еще "удовольствие". Хуки (hooks - якоря) - это функции (не методы, тут смесь из процедурного подхода и ООП), которые выполняются в определенный момент и в определенном порядке, меняя, преимущественно, данные и ход работы приложения. Когда их так много - черт ногу сломит. Так что с точки зрения кодотворчества друпаловская идеология не для меня. Но как я уже упоминал, возможность реализации большей части функционала только кликами и ерзаньем мыши, позволяет простить многое.
3. Opencart - хороший и, что важно, полностью бесплатный современный движок для создания интернет-магазинов. Публикационные возможности (статейно-новостная часть) развиты слабо. Но в остальном с задачами электронной коммерции он отлично справляется. Русское сообщество предлагает как множество бесплатных, так и немало коммерческих модулей для реализации всевозможных задач, самые распространенные из которых - компоненты оплаты и доставки. Сервисы-агрегаторы платежей и доставок также часто имеют у себя в арсенале свободные модули для интеграции с Opencart. Более того, есть и партнерки, которые предоставляют соответствующие модули для ускорения старта. Наличествуют сторонние бесплатные компоненты для выгрузки в yaml (формат Яндекс.маркет). А вот в интеграции с 1С ситуация не ясная. Программировать под платформу очень приятно, код построен по схеме MVC, отлично и аккуратно структурирован. Многое в программном плане можно было бы укоротить, однако переизбыток схожих кусков хоть и не удовлетворяет канонам повторного использования кода, но при этом весьма существенно упрощает понимание.
4. osCommerce - дедушка на поприще клепания интернет-магазинов. Кодотворческий подход процедурный как валенок. На мой субъективный взгляд, текущая его версия - это окно в прошлый век. Грядущий osCommerce Online Merchant v3.0, по-видимому, должен исправить положение. Но интернет-коммерция может быть реализована успешно и на существующей платформе.
5. LiveStreet - современный движок для создания современных сообществ типа Хабра (коллективные блоги). Когда я только-только с ним впервые познакомился и не был искушен в вопросах ООП-программинга, перипетии хуков, экшенов и моделей повергали меня в длительные ступора. Сейчас движок обзавелся приятной мордой лица, однако что касается его нынешних внутренностей - ничего определенного сказать не смогу до тех пора, пока не появится свободное время на исследования или не возникнут неожиданно соответствующие задачи и проекты.
6. Wordpress он и в Африке Wordpress. Хотите себе персональный блог или просто сайт - берете Wordpress и в ус не дуете. С учетом возможностей расширения ничего проще пока не придумали.
7. Почему я не работаю с коммерческими CMS? Мне приходилось разрабатывать интернет-магазины на HostCMS, а также дорабатывать консалтинговые сайты-справочники на UMI. В первом достало разбираться с xslt-конструкциями, иметь дело с закрытым ядром и в случае проблем быть ограниченным в информации, располагающейся на одном единственном форуме. В UMI пришлось кодить через их слабый веб-интерфейс - ну это же жуть!
Впрочем, все это было не недавно, так что возможно сейчас ситуация и улучшилась. Однако, со временем приходит понимание, что смысла иметь навык создания сайтов на всех существующих более-менее популярных движках нет никакого. Парочка освоены - и отлично. Развитие веб-программиста как профессионала зависит не от числа применяемых инструментов, а от качества кода тех платформ, с которыми приходится иметь дело. Очевидно, чем меньше засрана голова, тем лучше.