На форумах начинающих интернет-предпринимателей только и разговоров что о CMS. Кто-то брызжет оптимизмом: дескать, купил такую «коробку» – и прощайте, программисты, сам теперь сайт смастерю. Кто-то более сдержан: приятели из веб-студии уверили его, что, какую систему ни возьми, все равно ее придется долгие недели доводить до ума. Одни считают, что делать по-настоящему серьезный сайт на CMS хуже, чем возводить небоскреб на деревянных сваях. Глупо отказываться от изысканного замка в пользу панельного дома, убеждены другие. Истины в форумных пересудах нет, а правда в каждом случае своя. Какая из них ваша, вы точнее поймете, прочитав эту главу.
Что представляет собой CMS
Аббревиатура-матрешка: одна ее интерпретация вмещает другую. Часто под CMS (content management system – «система управления контентом») понимают меньшую часть – то, что в обиходе зовется админкой: «служебное помещение» сайта, где простейшими манипуляциями можно менять тексты, вставлять фотографии, добавлять и убирать разделы (и решать менее очевидные задачи, например без головной боли контролировать различные версии документов) с той легкостью, как если бы все эти действия выполнялись в штатных офисных программах; обычные веб-формы, узнаваемые пиктограммы – и никакого тарабарского кодинга (рис. 9).
А в широком понимании CMS – это готовый движок, ядро сайта, обеспечивающее его функционирование в Сети и взаимодействие с пользователем. И включает как одну из своих составных частей ту самую админку – служебный кабинет, в котором контент-менеджер, обычно не обремененный техническими знаниями, меняет наполнение сайта.
Иначе говоря, можно возводить здание сайта с нуля, а можно использовать CMS, создатели которой заложили фундамент за тебя.
Предметнее: в самом общем смысле CMS – это программный комплекс, который устанавливается на веб-сервер (хостинг) и, «сшивая» по заданным правилам шаблоны дизайна и информацию из баз данных, динамически компонует страницы и отдает их браузеру посетителя. Конечно, по-прежнему встречаются интернет-ресурсы, состоящие из статичных HTML-страниц, и иному сайту-визитке аскетичное исполнение по старинке даже к лицу. Сделаны они, как правило, вручную. Есть системы управления контентом, которые умеют создавать статичные страницы, но в подавляющем большинстве случаев подразумевается «динамика».
Рис. 9. Работа в WYSIWYG-редакторе наглядна и интуитивно понятна
Всегда ли нужна CMS?
В узком понимании, как зона администраторского доступа с легким в освоении инструментарием, включая WYSIWYG-редактор[10] с возможностью упрощенной HTML-разметки, нужна безоговорочно. Даже если архитектура сайта и все его программные модули пишутся с нуля, вам как заказчику и будущему владельцу веб-проекта понадобится интерфейс, обеспечивающий правку текстов, замену изображений, добавление разделов и т. д. А строго ли обязателен готовый движок? Копий, сломанных в попытках доказать ту или другую точку зрения на поднятый вопрос, хватило бы на псевдоримские ограды всех безвкусных вилл Подмосковья. Рискнем лишь высказать свою позицию: для большинства компаний малого и среднего бизнеса использование CMS как платформы сайта может быть разумно и экономически оправданно. Так что прежде чем стучать кулаком по столу с возгласом: «Долой полумеры! Потратимся, но пусть код от первой до последней строчки будет наш собственный», – осмотрительному заказчику есть резон изучить, какой выбор предлагает ему отрасль веб-разработки. Готовое – не значит плохое.
Чуть углубившись в IT-дебри, уточним, что, помимо CMS, существуют так называемые frameworks – фреймворки, или «каркасы». Это своего рода пред-CMS, готовые наборы программных компонентов, которые, в частности, описывают механику работы с базами данных сайта. Зачастую при создании «тяжелых», сложносоставных, высоконагруженных интернет-проектов применяются именно фреймворки.
Типы CMS
Недаром CMS – платные и бесплатные, с открытым исходным кодом и проприетарные, универсальные и узконаправленные – сосуществуют годами: все они пока находят свое применение (а нет – так потихоньку вымирают). Одни в большей степени, другие в меньшей. Однако свои сильные стороны есть у каждого типа.
Запомните крепко-накрепко: выбирать CMS нужно, опираясь исключительно на необходимую вам функциональность сайта с прицелом на обозримое будущее (см. главу 1 «Техзадание: последний раз себя спрашиваю!»). Такие показатели, как безопасность системы, язык программирования, на котором она написана, и т. д., тоже нельзя сбрасывать со счетов, однако четко заданные «эксплуатационные характеристики» сайта действеннее сузят круг поисков.