Создание сайтов - Михаил Боде
Шрифт:
Интервал:
Закладка:
Что представляет собой 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 «Техзадание: последний раз себя спрашиваю!»). Такие показатели, как безопасность системы, язык программирования, на котором она написана, и т. д., тоже нельзя сбрасывать со счетов, однако четко заданные «эксплуатационные характеристики» сайта действеннее сузят круг поисков.
Не торопитесь следовать услышанным краем уха советам: «Скажи, пусть делают тебе интернет-магазин на Magento 1.7. Я долго выбирал и знаю, о чем говорю». Даже если доморощенный эксперт – простите, но мягче не скажешь – занимается, как и вы, электронной торговлей, едва ли он досконально разбирается в особенностях вашего бизнеса и ваших потребностях, а тем более в Magento и его плагинах. И сомнительно, чтобы он хотя бы знал, к какому классу CMS принадлежит Magento. А надо бы.
Массовые коммерческие
В иных классификациях их величают «платными коробочными» (о «бесплатных коробочных» читайте в следующем подразделе), реже – «тиражными». Фактически это одно и то же, только каждое из трех определений характеризует отдельное свойство продукта. Итак, подобная система изначально представляет собой платное решение, рассчитанное на массовое использование, притом что каждая его лицензионная копия подлежит отдельному учету.
Сленговое словечко «коробка» применительно к CMS – без пяти минут архаизм. Считанные годы назад большинство коммерческих систем управления сайтами как товар действительно представляли собой картонную упаковку с CD, на который был записан софт, и документацией. Сегодня издатели CMS «массового назначения» гораздо реже косвенно губят деревья и загружают линии фабрик, штампующих компакт-диски: дистрибутив системы передается клиенту через Интернет после оплаты. Хотя от коробок в прямом смысле слова отрасль еще не отказалась окончательно.
Важнейшее достоинство коммерческих CMS – их отчуждаемость. Разъясним: покупка такой системы не привязывает вас к ее производителю. Разрабатывать сайт на ее базе может как ваш штатный специалист, так и сотрудник студии, у которой, например, заключен партнерский договор с издателем CMS, а в большинстве случаев и фрилансер. Благо документация у коммерческих систем управления контентом подробнейшая (во всяком случае так полагается) и интегратор-настройщик со стороны способен вникнуть в их нюансы. По этой причине, а также ввиду широкого распространения самых популярных тиражных сиэмэсок вокруг каждой из них сложилось более или менее многочисленное сообщество умельцев, способных быстро и безболезненно внедрять и «допиливать» ее под требования заказчика.
Нет двух одинаковых бизнесов, и нет двух одинаковых сайтов. Но коль скоро продукт платный и бьет в масс-маркет, жизненно необходимо, чтобы его потенциал, насколько это возможно, удовлетворял запросам самых разных заказчиков. Поэтому тиражные системы управления контентом по преимуществу универсальны, отчего напоминают спортсменов-десятиборцев: разносторонне развитые, они не могут быть одинаково сильны в метании копья, толкании ядра и беге на дистанцию 100 м и почти никогда не превосходят в каждом отдельном состязании тех атлетов, которые отдали жизнь одной дисциплине. В большинстве случаев CMS «из коробки» способна почти на все, что нужно ее усредненному покупателю, предусматривает многочисленные структурные шаблоны (хоть интернет-магазин, хоть сайт-визитка, хоть блог) и гибка в настройке.
Вместе с тем к коммерческим движкам как нельзя лучше подходят слова старинной песни: «Эх, полным-полна моя коробушка: // Есть и ситец, и парча…» Да, все есть, включая гору возможностей и опций, которые вам никогда не понадобятся. В своей универсальности «коробки» по определению избыточно функциональны. Выскажем дискуссионное мнение: по нашим наблюдениям, в среднем сайты, сделанные на тиражных CMS, работают все же чуть медленнее, особенно в тех случаях, когда веб-проект на протяжении нескольких лет обрастал дополнительными возможностями и имеет длинную историю «наследуемого кода».
В связи с универсальностью таких продуктов велик риск переплаты за абсолютно ненужные вам функции.
Но саму платность коммерческих CMS мы бы не рассматривали как недостаток. В конце концов, лицензия налагает на разработчика ответственность за продукт и предусматривает такие полезности, как централизованная официальная техподдержка, своевременное обновление ядра системы и отдельных ее модулей. В случае чего есть кому предъявлять претензии и есть кого просить о помощи.
Так-то оно так, но загодя высчитать «полную цену владения» (total cost of ownership) таким продуктом часто та еще задачка: сперва купи дистрибутив, потом заплати разработчику, который его «подстрогает» под твои задачи, да еще через год, глядишь, понадобится заплатить за апдейт[11] (а киберпреступники очень любят те сайты на основе коммерческих CMS, чьи владельцы из экономии не продлевают лицензию: бреши в софте со временем становятся секретом Полишинеля, но по понятной причине на ресурсе у скупца остаются незалатанными).
С одной стороны, поскольку такие системы создаются и поддерживаются целой командой, совершенствующей функциональность продукта и закрывающей дыры в его коде, они обладают сильной защитой. С другой – взломщику вскрывать тиражные CMS интересно как раз потому, что на них сделано множество сайтов, и если злокозненный финт удастся с одним, то почти наверняка пройдет и с тысячами других, построенных на той же платформе.