Поиск по сайту

Короткий адрес страницы: fornit.ru/1704
Список основных тематических статей >>
Этот документ использован в разделе: "Список тематических статей"Распечатать
Добавить в личную закладку.

Стоит ли пользоваться конструкторами сайтов (cms)?

В настоящее время существуют тысячи самых различных конструкторов сайтов cms (Content Management Software). Стоит ли пользоваться ими? Каков вред? Сразу обратим внимание на определение "конструктор сайта", который - всегда является CMS(Content Management Software) или системой управления сайтом.

Относится к разделу Методология
Сразу обратим внимание на определение "конструктор сайта", который - всегда является CMS(Content Management Software) или системой управления сайтом. Но CMS далеко не всегда бывает конструктором сайта, т.е. широко специализированной для управления внешним видом и возможностями. Конструктор сайта - такое CMS, которое за счет заготовленных заранее всевозможных модулей на все предусмотренные случаи, позволяет в этих рамках создавать пользовательские сайты. Далее будем использовать просто слово "конструктор".
Т.е. конструкторы, как в детских игрушках, - наборы элементов для конструирования. Какие заготовлены наборы, такие и возможности конструирования.
Можно сделать изделие из дерева или металла или из того материала, который наиболее подходит для какой-то задачи, и этому материалу наиболее подходящим способом придать нужную форму и свойства. Дети пользуются конструкторами потому, что они пока не умеют работать с материалами. И даже если из самого крутого конструктора получится что-то, радующее ребенка, то это все равно не серьезно, а для настоящего дела сабельку (трактор, дом) конечно же, нужно будет делать не понарошку.
Это - вполне подходящая аналогия использования конструктора, буквально во всем аналогия, от кажущейся быстроты и нетребовательности к навыкам, до того, что все это придется переделывать уже не понарошку.
Другой аналогией резонно можно считать конструктор фраудаторством в программировании. Почему - разберем ниже.
 
В самом общем плане вопрос сводится к сопоставлению плюсов и минусов универсальной системы, кроме того, добавляются специфические (в первую очередь, маркетинговые) аспекты. Не составляет большого труда понять, что универсальность имеет немало принципиально не преодолимых отрицательных побочных последствий.
 
Граничные условия корректности данной статьи: для случаев создания сайтов, когда требуется не ремесленный продукт, не "ширпотреб", не видимость чего-то, а в самом деле добротный, функциональный продукт с реально эффективной возможностью поддержки и оптимальными затратами на изготовление. В конце статьи делаются сопоставление с альтернативами профессиональной работы в других областях деятельности (в музыке, дизайне, художественном творчестве и т.п.), так же использующими конструирующие средства для непрофессионалов.
 
В настоящее время существуют тысячи самых различных конструкторов сайтов.
Они создаются с целью обеспечить легкое конструирование сайтов по предусмотренным элементам (понятно, что то, что не предусмотрено не может быть собрано).
 
Главными потребителями конструкторов являются неквалифицированные web-программисты и те, кто вообще не является программистом. Понятно, что из заготовленных "кубиков" конструктора можно быстро собрать что-то, имеющее внешне привлекательный вид, и эта быстрота часто подкупает неискушенных пользователей.
Оказывается, можно не быть программистом, но делать сайты не хуже, чем программисты? Как обычно в таких случаях, чуда не получается и внешняя легкость оборачивается многими неприятностями и ограничениями.
Главное ограничение: можно делать только то, что предусмотрено в данном конструкторе. Хотя почти во всех конструкторах дается возможность делать и что-то самим кроме предоставляемых "кубиков" (у некоторых конструкторов предусмотрены т.н. "плагины"), но это выглядит нелепо: если нужно сделать то, что не предусмотрено в конструкторе, то зачем нужен конструктор? Даже если это небольшие фрагменты, но сам код конструктора трудно согласуется с такими произвольными вставками (даже найти подходящее место непросто, а уж обеспечить полную состыковку - тем более). Но если квалификация позволяет делать такие уникальные вставки, т.е. человек является хорошим web-программистом, то ему не нужен конструктор потому, что в ходе наработки своего опыта он заготовил все необходимое и способен создать минимально необходимый код, вместо огромного монстра, который всегда приходится закачивать на сайт весь целиком (да еще и требуя подчас особых настроек сервера).
Для конечного пользователя конструктор практически всегда оборачиваются необходимостью переделывать сайт с нуля как только возникает необходимость в чем-то, не предусмотренном функциональностью конструктора. Пользователь обращается к программисту, тот видит, что сайт создан на конструкторе, одном из тысяч, осваивать которые все программист в принципе не может да ему это и не нужно. Он просто отказывается что-то делать с таким сайтом. Пользователь обращается к разработчику, у которого есть квалификация - только данный конструктор. Тот, конечно же, не может сделать нужный модуль потому, что не является хорошим программистом, а хороший программист не желает вникать в какой-то конструктор. Порочный круг замыкается: нужно переделывать сайт заново.
Но вред конструкторов сайтов далеко не исчерпывается описанной проблемой.
 
Краткий список вреда от конструкторов сайтов.
1. Может только то, что предусмотрено конструктором, а эксклюзивные вставки требуют понимания кода всего конструктора и могут порождать конфликты с этим кодом (не важно, "плагин" ли это - коннфликт может оказаться самым разнообразным, например на уровне перехватчика сообщений), проявляющиеся в каких-то случаях или в каких-то просмотрщиках (интернет-браузеров).
 
2. Коды конструкторов открыты для всех и злоумышленник может подобрать способ навредить сайту так, что это будет сложно или вообще невозможно исправить (внедрение модуля, который будет постоянно портить сайт). конструктор принципиально не защищен от атак хакеров, особенно специализированных к коду данного конструктора. Уязвимости есть всегда, и заплатки нейтрализуют только замеченные, а открытость кода всегда дает возможность найти уязвимость. Это означает, что конкурент легко может навредить сайту когда он этого захочет, даже не проплачивая дорогостоящую спамовую атаку.
К примеру, можно в яндексе сделать запрос: "уязвимости php-Nuke" и результат покажет сам за себя.
Неиспользуемый код конструктора превышает в 10-100 раз полезный на данном сайте, захламляя сервер баластом. Это пропорционально увеличивает количество ошибок, нестыковок, которые начнут проявляться при модификациях стандартов браузеров, а, учитывая открытость всего этого кода, делает его легкой добычей хакеров.
 
3. Поисковые системы понижают рейтинг выдачи страниц конструкторов. Это напрямую опубликовано в их алгоритмов, которые как Яндекс так и Гугл выложили в открытый доступ. Это означает, что страницы конструкторов будут находится хуже, чем такие же страницы, написанные на низкоуровневом языке web-программирования. Дизайн будет мало отличаться от тысяч таких же сайтов... хотя внешнее разнообразие как бы есть, но поисковики видят одну и ту же структуру, что, в частности, и снижает рейтинг.
 
4. Попытка пользователя что-то поменять на сайте часто вызывает затруднения потому, что огромное разнообразие возможного форматирования принципиально не может быть учтено конструктором. В таких случаях необходим эксклюзивный код, который невозможно так просто вписать в конструктор. Сделать же что-то, не предусмотренное данным конструктором, вообще можно только написав это на языке программирования сайтов и как-то внедрив в систему конструктора. Обычный итог - переделка сайта без использования конструктора.
 
5. Огромный избыточный код конструктора, в котором предусмотрено как можно больше всякий функций, даже если они не используются на сайте. Это - как покупать всю энциклопедию, вместо нескольких нужных статей по теме. Кроме того, часто конструкторы требуют особых конфигураций сервера. Потом при отказе от конструктара в связи с этим возникают проблемы на площадке интернет-провайдера.
 
6. Иллюзия простоты: практически невозможно без массы "глюков" и уязвимостей сделать за пару-тройку недель готовую систему на конструкторе, тем более, что ошибки самого конструктора исправить невозможно. Ждать очередного апгрейда? Но стандарты интренета постоянно меняются. То, что работало вчера вдруг начинает давать ошибки. Значит нужно менять весь конструктор да так, чтобы быть уверенным, что он это учитывает. А если конструктор больше не поддерживается его разработчиками, то сайт неминуемо придется переделывать. В то же время адаптация сайта на языке web-программирования требует лишь небольших изменений в определенных местах, которые может сделать любой программист.
 
7. Если конструктор позволяет пользователю очень широко и гибко изменять содержимое, то обязательно его портят секретарши и другие допущенные до модификации персоналии. Как говорится в одной статье об этом:
Допустим, некая веб-студия создала чуть ли не идеальный сайт некого предприятия. В этом проекте и придраться-то не к чему: он полностью соответсвует всем стандартам, код вылизан до такой степени, что нет ни одного лишнего тега, картинки оптимизированы, прекрасный дизайн и функциональность. Ну и чтобы подзаработать разработчик добавляет к нему еще и суперсовеременную и меганавороченную систему управления контентом с максимальным набором функций. Проект сдается - заказчик в восторге. И вот нынешний хозяин сайта вменяет в обязанности управлять им некому "специалисту" из офиса, так сказать "за премию". Ждем полгодика и заглядываем на свой "идеальный" сайт, например, для того, чтобы показать его в качестве одного из портфолио... А там что? Могу поспорить, что сайт уже полон типичных ошибок: стандарты уже не соблюдаются, стрктура сайта поменялась, что заметно испортило внешний вид ресурса, поиск работает плохо, появились битые ссылки, в новостях гуляющее шрифты и изображения... Шок? Да вряд ли, скорее всего уже сложившаяся реальность - такое встречается сплошь и рядом, и как это не грустно, входит в привычку. Некоторые студии уже и не размещают ссылки в портфолио, только скриншоты, и происходит это именно по той причине, что сайтами после полугода использования какой-нибудь секретаршей уже сложно хвастаться... Никакой конструктор не может, в принципе, создать замену дизайнеру или верстальщику. Любой редактор будет совершать ошибки (недаром же выпускаются все время новые версии систем с устранением выявленных багов), которые накапливаясь могут до неузнаваемости изменить ресурс.
 
8. Значительно более долгая генерация и загрузка страниц, создаваемых конструкторами. Это означает неоправданную нагрузку на сервер и большую уязвимость при повышенных количествах обращений к сайту. А ограничения на ресурсы бывают довольно жесткими.
 
9. Заказчик сайта платит "разработчикам" сайта непомерно большую цену за составление сайта из "кубиков" в то время как конструкторы достаются этим "разработчикам" бесплатно (они в широком и свободном доступе в инете).
 
10. Трудности по установки различных сторонних счетчиков и служб. Требуются детализованные описания для данного конструктора. Так, яндекс-метрика, для Joomla, яндес-карты для Joomla  ограничена только предусматривающими такое версиями (нужно озабочиваться сменой версий, слежением за версиями). Т.е. вопросы и трудности появляются там, где при обычном программировании вообще нет никаких проблем.
 
Вообще стремление сделать профессионалами неучей, создать иллюзию профессионализма - характерно далеко не только для программирования. Буквально везде есть свои конструкторы.
Чтобы стать крутым дизайнером достаточно воспользоваться дизайнерскими конструктором (например: "Image cms", "Impera CMS" и т.п.). Неискушенный пользователь (заказчик продукта) не способен распознать позорный уровень такого дизайна, а восторженные новообразовавшиеся "дизайнеры" хором кричат как это хорошо, создавая общественное мнение.
Чтобы стать музыкантом так же не нужно им быть :) ведь есть множество музыкальных конструкторов, собирающих что хочешь из музыкальных "кубиков". А поэтам вообще повезло с автоматическими рифмоплетами :)
И все это - легко поддерживается "специалистами" этих редакторов! Ничего сложного :)
Да, в говносайтах (официальное определение плохих сайтов Яндекса) нет ничего сложного. Они - иллюзия хорошего, устраивающая неискушенных пользователей.
Конечно, это не значит, что все сайты, созданные на конструкторе - говносайты. Упорный и честный ремесленник может добиться желаемых результатов (так же как и музыкант-профессионал может на музыкальном конструкторе слабать в самом деле неплохую мелодию, хотя без него он бы это сделал куда лучше, свободнее и быстрее). Но перечисленный вред от конструкторов (в том числе опасность) при этом не исчезает а постоянно присутствует.
 
 
Дополнительно:
Яндекс назвал самые уязвимые CMS
чем популярнее конструктор, тем больше вероятности, что слабые места будут искать именно в нем. Не стоит забывать и о том, что современные конструкторы преимущественно состоят из множества модулей, которые не так хорошо тестируются на безопасность, как основной код системы.
Факторы ранжирования в ПС Яндекс
Использование бесплатных общедоступных CMS-25% 
 Использование стандартных шаблонов -38%

Подбрка материалов против конструкторов: cms_reason.zip
Позиции сайта scorcher.ru, снятые в http://www.setlinks.ru/ 26-01-2015г: Позиции
 



Обсуждение Сообщений: 15. Последнее - 04.07.2013г. 0:02:51
Дата публикации: 2013-07-01

Оценить статью >> пока еще нет оценок, ваша может стать первой :)

Об авторе: Статьи на сайте Форнит активно защищаются от безусловной веры в их истинность, и авторитетность автора не должна оказывать влияния на понимание сути. Если читатель затрудняется сам с определением корректности приводимых доводов, то у него есть возможность задать вопросы в обсуждении или в теме на форуме. Про авторство статей >>.

Тест: А не зомбируют ли меня?     Тест: Определение веса ненаучности

В предметном указателе: Использование Википедии для мошенничества | Использование стволовых клеток | Кредо использования выбранного формата публикаций на этом сайте | Пользователям интернета предложили поставить на бозон Хиггса | Использование динамических информационных технологий в транспортной логистике | Использование орудий животными не всегда говорит о большом уме | Кто-нибудь использовал чугунный мангал или сталкивался? | Необычное использование вещей | Использование чужих высказываний
Последняя из новостей: Статистика, сопоставления, обобщение: Почему нарастает неравенство.

Может ли нейробиолог понять микропроцессор?
Нейробиологи, вооружившись методами, обычно применяемыми для изучения живых нейроструктур, попытались использовать их чтобы понять, как функционирует простейшая микропроцессорная система — «Мозгом» был процессор MOS 6502.
 посетителейзаходов
сегодня:77
вчера:55
Всего:63887273

Авторские права сайта Fornit
Яндекс.Метрика