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