Подтвердить что ты не робот

Зачем строить собственную CMS?

В моем первом собеседовании мне спросили, почему я создал собственную CMS? Почему бы не использовать одну из существующих CMS, Wordpress, Joomla, Drupal...? Сначала я был ошеломлен. Я не мог сразу вспомнить все мои причины для создания собственной CMS, но это определенно одна из основных причин: это мой код и если я хочу что-то изменить в этой CMS (что мне часто приходится делать, потому что каждый веб-сайт Я строю потребности CMS с различными функциями), это не большая проблема. В течение некоторого времени я использую Wordpress, и одна из главных вещей, которые отвлекали меня от использования, заключалась в обнаружении ошибок в коде, который не был написан мной, и это часто случалось, особенно если я внес некоторые изменения в CMS или добавил плагин...

Здесь, я могу найти эти 8 причин, почему НЕ создавать собственную CMS:

  • Он не удовлетворяет потребности пользователей

  • Слишком много работы

  • Это не стандартное решение

  • Он не будет достаточно быстро расширяться

  • Он не будет достаточно хорошо проверен

  • Это не будет легко изменяться

  • Он не добавит никакого значения

  • Создать контент, а не функциональность


Цитата с той же страницы:

Итак, главный вопрос: спросить себя: "Почему я действительно пытаюсь повторно решить проблему, которая уже были решены раньше?


Ну, я определенно согласен с тем, что трудно изобретать CMS, которая еще не была изобретена, но, с другой стороны, я думаю, что каждая CMS (или должна быть) индивидуальна... возможно, у нее не будет миллиона функций, это будет иметь 3 функции, но их использование будет ясным (для пользователя) и сделает все, что нужно одному сайту. Я также считаю, что нехорошо давать клиенту CMS с множеством функций, которые никогда не используются, и, похоже, это более профессионально, когда сайт и CMS вместе выглядят как один продукт.

Я также хотел бы прокомментировать некоторые цитаты:
  "Слишком много работы", - согласен я, но при использовании существующей CMS и настройке ее на веб-сайт, и иногда может быть очень трудной задачей или миссией невозможно.
"Это не будет легко изменяться" - я не согласен с этим.

Каково ваше мнение об этом, почему вы разработали или не разработали свою собственную CMS?
Ile

4b9b3361

Ответ 1

Это интересный вопрос, который относится к большинству разработок, а не только при создании CMS.

В общем, я бы сказал, что это плохая идея изобретать колесо (и большинство ваших 8 аргументов в большинстве случаев верны), но есть исключения. Первое, что приходит на ум, - это Джоэл Спольский, В защиту синдрома не-изобретаемого-здесь:

Если это основная бизнес-функция - сделайте это независимо от того, что.

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

Edit:

Кроме того, не забывайте, что желание изобретать вещи (среди прочего) вытекает из фундаментального закона программирования:

Легче писать код, чем читать его

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

Ответ 2

Я бы построил CMS, потому что это может быть весело и отличное обучение.

Однако любая CMS с открытым исходным кодом может быть настроена для любой потребности клиента. Самая большая проблема заключается в том, что вы должны понимать, как работает эта CMS, чтобы иметь возможность ее хорошо изменить.

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

Ответ 3

Я нашел, что он работает, когда контекст проекта больше, чем просто "контент-сайт". Я работал на нескольких сайтах недвижимости, где основная часть контента поступает из фидов данных или уже существует в базах данных, у которых была создана их структура задолго до того, как вы были вовлечены. На самом деле, у нас было только несколько страниц контента BS, которые составляли сайт, который редко обновлялся. Им действительно нужен был простой интерфейс для ввода данных. Гораздо проще было создать некоторые компоненты, кроме того, что попробовал и запустил существующую систему поверх встроенной CMS.

Как упоминалось выше, вы должны учитывать общие требования. Есть ли рабочий процесс? Динамическая навигация? Тогда я бы начал больше наклоняться к коробке CMS, но многие люди говорят, что им нужна CMS, когда им действительно нужен интерфейс WYSIWIG для базы данных. Но иногда не...

Ответ 4

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

Существует множество вариантов CMS, которые позволят вам добавлять собственные пользовательские расширения, если ваши требования находятся за пределами того, что встроено.

Лучшей причиной (возможно, только) для создания пользовательской CMS является изучение языка. Создание CMS - отличный способ изучить веб-разработку, но это не отличный способ обслуживать ваших клиентов.

Ответ 5

Как руководитель группы, которого всегда заставляют делать больше с меньшими затратами, я также задаю вопрос: "Почему бы вам написать свой собственный?" Там больше пакетов CMS, чем есть языки программирования, и мне трудно поверить, что вы не можете найти тот, который отвечает большинству (если не всем) требованиям клиентов, бизнеса и стоимости.

Если вы обнаружите, что необходимы изменения кода, выберите решение с открытым исходным кодом, внесите изменения и разделите их по необходимости или по желанию.

Я знаю, что много раз CMS-системы НЕ нужны. Многим клиентам нужна система редактирования контента. Я имею в виду, что кто-то технический ставит сайт на место, а клиент добавляет/редактирует/удаляет страницы. Страницы уже хорошо разработаны и отформатированы. В этих случаях я могу видеть, где можно быстрее разработать и реализовать что-то с нуля, а не рубить CMS с правами доступа или удалять/скрывать функциональность.

Ответ 6

Если вы не строите один для этого опыта, существует только одна настоящая причина для создания собственного: он дешевле и/или проще, чем использовать на рынке, который соответствует вашим требованиям.