рекламно-производственная группа
 

Полезное

Несвоевременные мысли

Советы и обучение

Инструментарий

Юмор

Интересные ссылки

PRO/FEEL / Полезное / CMS друг или враг?

CMS друг или враг?

15.09.2010. Категория: «Несвоевременные мысли», автор: Legion1913.

Что в малых дозах - лекарство, то в больших дозах – яд.
Авиценна

В последнее время системы управления контентом (CMS — англ. Content management system) превратились в некую панацею по мнению большинства интернет-разработчиков. Сегодня 90 % сайтов создаются на основе той или иной CMS.

С одной стороны преимущества очевидны:

Заказчик существенно экономит на разработке программного кода, т.к. большинство модулей уже написано их достаточно просто интегрировать в сайт.

Разработчик может особенно «не заморачиваться» на программирование, а, следовательно, создавать сайты быстрее и дешевле.

Еще один немаловажный плюс — стандартизация и структурирование рабочего процесса. Не нужно создавать отдельную спецификацию на сайт. Уход из компании программиста практически не отразится на рабочем процессе, т.к. новому сотруднику (при соответствующей квалификации и опыте работы) не составит труда разобраться в «стандартном» коде.

Опасность CMS

Большинство CMS включают в себя наиболее востребованные программные модули, такие как каталог товаров, новости, поиск и т.д. Как именно работают эти модули, практически никто не знает (за исключением особо продвинутых программистов, ну и непосредственных разработчиков данной CMS).

Парадокс. Программирование — один из самых важных (сложных, ответственных) этапов при создании сайта. В то же время — это самый непонятный и «закрытый» этап для заказчика. С дизайном всё понятно: нравится / не нравится. С вёрсткой вроде тоже: вот дизайн — вот верстка (соответствует / не соответствует, корректно отображается во всех браузерах или нет). С информационным наполнением вроде тоже всё ясно. С программированием всё обстоит с точностью до наоборот.

Для начала, большинство заказчиков не в состоянии четко сформулировать задачу. В лучшем случае перечисляются сервисы: поиск, каталог товаров, заявка и т.д. Разумеется, практически никто не говорит, каким образом эти сервисы должны работать. Клиент считает, что разработчик итак всё знает, а разработчик зачастую не имеет понятия тонкостях потребностей заказчика.

Простой пример: как должна работать система поиска?

— Пользователь вводит запрос (слово или словосочетание), а система выдаёт перечень всех материалов, в которых содержится искомая комбинация. На первый взгляд всё понятно. А теперь несколько вопросов вдогонку:

Где именно искать? По всему сайту или в рамках отдельных разделов (новости, публикации, каталог и т.д.)? Искать в заголовках, в тексте или в полях описания (для каталога товаров).

Как искать? Должа ли система «игнорировать окончания»? Т.е. слова машина, машин, машины и т.д. будут восприниматься как одно слово или как разные слова? Важен ли порядок слов в словосочетании? Слова в словосочетании должны быть расположены рядом или между ними могут быть другие слова (фразы, предложения)? Что делать с ошибками? Например, пользователь ввёл «крушка», вместо «кружка». Возможно подключаться к словарю и проверять слова на наличие ошибок (опечаток).

Как выводить и сортировать результаты поиска? По дате, по разделу, по релевантности (соответствие результатов запросу на основе анализа содержания в заголовках и тексте ключевых слов)?

Это далеко неполный список основных вопросов, необходимый для первоначальной постановки задачи (даже не для рабочего проекта). Подобные «дополнительные» вопросы существуют практически для каждого сервиса и раздела сайта.

Разумеется, большинство заказчиков ни о чем таком и не догадываются. Разработчики догадываются, но в большинстве своем предпочитают использовать не понять как написанные готовые модули. Это проще, быстрее и дешевле.

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

К сожалению, заказчик далеко не сразу понимает, что сайт работает не совсем так, как ему необходимо. Обращение к разработчику не всегда даёт результаты, т.к. многие веб-студии не в состоянии модернизировать шаблонный код CMS . В итоге у владельца сайта остаётся 2 варианта: довольствовать тем, что есть или искать новых разработчиков, которые смогут модернизировать сайт под реальные потребности.

Модернизация сайта, написанного на CMS

Корректировка, редактирование и прочая модернизация «стороннего» программного кода – самое неблагодарное занятие с точки зрения любого программиста. Даже если сайт создан на основе распространенной CMS и программист имеет достаточный опыт работы с данной системой нет никаких гарантий, что не возникнет никаких сложностей и проблем.

Проблема № 1: «Загадки архитектуры». Каким образом написана та или иная система известно только её разработчикам. В ряде случаев невозможно или крайне проблематично найти детальное техническое описание той или иной CMS. Соответственно программистам приходится действовать «методом научного тыка».

Проблема № 2: Запрет на изменение кода. Многие коммерческие CMS не допускают внесение корректировок в программный код, любое вмешательство приводит к сбою системы. Более того, некоторые CMS не допускают подключение к сайту сторонних модулей. Любая попытка подключения – ошибки в работе. В итоге новый интернет-разработчик решает две задачи: откорректировать (или написать) программный модуль и корректно интегрировать этот модуль в сайт.

Проблема № 3: «Кто последний — тот дурак». Часто внесение корректировок в тот или иной программный модуль приводит к сбоям в работоспособности всего сайта. Подключение сторонних сервисов так же может приводить к конфликтам системы. Причем, эти конфликты могут быть как явными (сайт перестал работать), так и неявными (сайт работает, но при определенных условиях определенный модуль работает не правильно). Хуже всего то, что порой невозможно на 100 % определить вызваны ли ошибки действиями нового программиста, или они изначально присутствовали на данном сайте, но раньше их не замечали. Соответственно все огрехи валятся на «последнего» интернет-разработчика, вне зависимости от его реальной вины. Что-либо доказать заказчику, для которого программирование — «тёмный лес», практически невозможно. В ряде случаев, куда проще потратить дополнительное время на «не предполагаемые» переделки, чем что-то доказывать.

Итог: модернизация любых программных модулей может оказаться существенно дороже и длительнее, чем их разработка «с нуля». При формировании стоимости корректировок сайта на основе CMS в бюджет дополнительно закладывается:

анализ существующего сайта

написание (корректировка) необходимых программных модулей

интеграция «нового» модуля

тестирование сайта на работоспособность и наличие ошибок

исправление ошибок и повторное тестирование.

В ряде случаев (при большом количестве корректировок) дешевле (и быстрее) всё написать заново, чем копаться в чужом коде.

Подводные камни CMS

Помимо вышеописанных сложностей, связанных с неясной архитектурой и сложностью модернизации «шаблонного» кода, большинство коммерческих CMS имеют ряд дополнительных недостатков.

Первый и, пожалуй, самый важный момент — срок предоставления лицензии. Многие компании предоставляют лицензию, т.е. право использовать свою систему на ограниченное время (обычно на год). Далее — продление лицензии (обычно стоимость продления незначительно отличается от стоимости приобретения), либо закрытие сайта.

Бесплатный сыр бывает только в мышеловке. Многие разработчики, предлагая сайты за 3– 5– 10 000 рублей, просто манипулируют желанием несведущего клиента сэкономить. В итоге заказчик попадает в «зависимость» от разработчика, появляются «обязательные» ежегодные платежи, которые на порядок выше, чем простая оплата доменного имени и хостинга (размещения сайта).

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

Использовать CMS или нет?

Как всегда на этот вопрос нет однозначного ответа. Все зависит от целей и задач сайта. Именно от того для чего создается сайт, какие он должен решать задачи и каким образом должны работать те или иные сервисы зависит выбор метода реализации.

Существует четыре основных варианта.

Использование «шаблонного» программного кода. Подходит для небольших интернет-проектов, либо для сайтов, чья структура и требования к работе программных модулей полностью соответствуют возможностям выбранной CMS.

Использование «шаблонного» кода с незначительными корректировками. Подходит для сайтов, требования к функционалу которых незначительно отличаются от возможностей выбранной CMS.

Создание сайта на основе CMS со значительной доработкой существующего кода созданием дополнительных программных модулей. Наилучший вариант в соотношении цена/качество. «Стандартные» функции сайта реализуются посредством CMS . Сервисы, ориентированные на решение задач конкретной компании пишутся отдельно. Данный способ позволяет максимально ориентировать сайт на решение задач компании, но не все CMS могут использоваться при выбранном методе.

Создание сайта «с нуля». При наличии первоклассных программистов у интернет-разработчика данный метод позволяет создавать наиболее качественные интернет-проекты. Основные минусы — это высокая стоимость и длительные сроки реализации. Сегодня «с нуля» создаются только крупные или «революционные» интернет-проекты, а так же сайты, тесно связанные с различными бизнес-операциями.

Итог

Качественная CMS — это отличное подспорье для интернет-разработок.

Изначально необходимо определить цели и задачи сайта, и только потом выбирать CMS исходя и детальных требований.

Очень редко, когда CMS возможно использовать «в чистом виде», без каких-либо корректировок, доработок и интеграции дополнительных программных модулей. При выборе CMS важно проанализировать её спецификацию, удостовериться в возможности легкой модернизации данной системы.

Внимательно изучайте все дополнительные условия в рамках лицензии.

<< Предыдущая Следующая >>
0 Нравится  
[ схема проезда ]

+7 (423)290-41-03

info@profeel.vl.ru
 690005, г. Владивосток, ул. Светланская, 114 – 7
Copyright © 2009 – 2011 «PRO/FEEL». Все права защищены.