Должен ли я написать свою собственную CMS? - PullRequest
7 голосов
/ 09 мая 2009

Я планирую начать работу над своим первым личным проектом в июне этого года: сообществом студентов. То, что я хочу, - это вики, полная информации об университетах, форум, где люди могут обсуждать, и блог с новостями, статьями и т. Д., Все три из которых объединены друг с другом.

Теперь путь выглядит как WordPress + MediaWiki + некоторое программное обеспечение для форумов, но у меня были мысли о том, чтобы попробовать и написать свою собственную CMS. У меня есть некоторые знания в области RoR и PHP, но, конечно, я не могу написать свою собственную CMS, особенно с нуля.

Как вы думаете, сколько времени мне понадобится, чтобы достичь этого? Я думаю / оцениваю, что я могу тратить от 3 до 5 часов в день, работая над этим, и я хочу, чтобы весь сайт заработал к концу августа (что дает мне около 300 часов работы, так как я также планирую потратить некоторое время просто). .. ничего не делает!: P).

Вопрос в том, стоит ли это того? Это поможет мне улучшить мои навыки программирования?

Ответы [ 16 ]

7 голосов
/ 09 мая 2009

раскатай свой :))

вы получите опыт (который бесценен), и, в дополнение к этому, вы получите что-то, что не раздуто ...

7 голосов
/ 09 мая 2009

Судя по вашим целям, кажется, что это было бы легко достичь в Drupal с минимальной работой.

www.drupal.org

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

Однако, если вы собираетесь получить опыт обучения - делать это самостоятельно будет довольно опыт обучения. Независимо от того, добьетесь ли вы этого на самом деле или нет, к тому времени как вы закончите, вы лучше поймете RoR и / или PHP.

6 голосов
/ 09 мая 2009

То, что вы должны сделать, зависит от вашего усмотрения, но то, что вы должны сделать, это реализовать нечто вроде Drupal.

Drupal - это CMS, предназначенная для использования на сайтах сообщества. Это не самая простая для понимания и использования система, но она очень настраиваема.

Вот несколько ссылок, которые вы могли бы использовать, чтобы начать изучать Drupal: http://www.packtpub.com/drupal/book http://drupal.org/node/367131

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

  1. Насколько это будет сложно?
  2. Насколько близко существующая система соответствует моим потребностям?
  3. Сколько будет стоить внедрение существующей системы против написания вашей собственной
  4. Как скоро мне это нужно?

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

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

5 голосов
/ 09 мая 2009

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

  1. Не пытайтесь делать копии 1: 1 чего-либо. Роллинг по своему усмотрению дает вам возможность реализовать только то, что вам нужно, и упустить все остальное.
  2. Начните с малого. Wordpress и Mediawiki имеют многолетний опыт программирования. Попытка дублировать это самостоятельно не сработает.
  3. Поначалу блоги и форумы невероятно просты, но становятся невероятно сложными, когда вы сталкиваетесь с такими вещами, как редакторы WYSIWYG, методы защиты от спама, проблемы совместимости браузеров и т.
  4. Это отличный способ получить серьезный опыт работы с вашим языком и «корпоративными» технологиями, но если вы неопытны и находитесь в сжатые сроки, вам действительно следует сначала взглянуть на то, что уже есть на рынке.

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

4 голосов
/ 09 мая 2009

Нет.

«Не изобретай велосипед, если только ты не планируешь больше узнать о колесах».

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

3 голосов
/ 30 июня 2009

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

Если честно, у меня был свой блог в WordPress, я переписал свой собственный на PHP, и с тех пор я дважды переписывал его в Django.

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

Переписывание было ценным опытом, и я бы никогда не взял аргумент "Не изобретай велосипед". Мне кажется, что я могу посмотреть на колесо и сказать, что с ним не так, учитывая, что я его лично изобрел = P

2 голосов
/ 09 мая 2009

Это возможно в тот период времени, в зависимости от того, насколько вы хороши с ruby ​​на рельсах и php.

Однако я бы просто использовал то, что там есть. Неужели стоит потратить все это время на то, чтобы сделать свой собственный?

0 голосов
/ 14 мая 2009

Вам не нужно заново изобретать weel, чтобы получить опыт.

Я бы пошел на Wordpress. Я использую его для своего сайта (www.norwegianfashion.no) и считаю, что у меня довольно продвинутый сайт. Я определенно улучшил свои навыки программирования на PHP.

Я тоже пытался разобраться с Друпалом. Это очень хорошая CMS, но боль в заднице учиться.

Даже после 5 лет разработки на других системах CMS (.NET) я не смог освоить Drupal после 1 месяца попыток.

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

Итак, я выбрал Wordpress. У него есть свои ограничения, но вы можете создать свои собственные плагины, чтобы компенсировать это.

0 голосов
/ 10 мая 2009

Я бы пошел с WordPress сам для объема проекта, который вы определили. Simple Press Forum - это мощный, полнофункциональный форумный плагин для WordPress, в который довольно легко интегрировать MediaWiki. Есть также проект вики-плагина WordPress , который может использовать часы, которые, как кажется, вы готовы совершить. WordPress может делать все, что вы описали в выходные дни.

0 голосов
/ 09 мая 2009

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

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

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

Тем не менее, я лично рекомендую вам взглянуть на Магнолия . Он имеет поддержку сообщества, это Open Source, и это система качества.

G'luck

...