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

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

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

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

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

Ответы [ 16 ]

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

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

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

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

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

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

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

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

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

Я думаю, вы найдете похожие ответы на Хорошие ресурсы для разработки инструмента отслеживания ошибок?

Как я уже сказал, это действительно зависит от вашей конечной цели.

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

Точка № 1:
Если [вы | ваша компания] просто нуждаетесь в CMS, существует множество инструментов, бесплатных и других, высококачественных и других, зачем программировать свои собственные?

Точка № 2:
Если вы ищете учебный опыт, ищете что-то, с чем можно научиться [ChoiceLanguage], и ​​/ или просто хотите узнать больше о колесах , есть ряд статей, и есть ряд открытых Исходные проекты вы можете посмотреть в коде, чтобы увидеть, как они работают (или нет в зависимости от обстоятельств).

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

В конце концов:
Если последнее является вашей конечной целью, то непременно прочитайте статьи, проведите исследование и закодируйте.

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

В конечном счете, ответ, который вы получите, будет зависеть от вопроса, который вы задаете. Быть чистым с самого начала будет иметь большое значение. ;)

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

Если вы хотите пойти на это для обучения, то я думаю, что вы должны. Фил Хаак написал хороший пост в блоге под названием Rolling Your Own Blog Engine с хорошим списком проблем, с которыми вы столкнетесь.

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

Просто убедитесь, что у вас достаточно времени, чтобы выручить и использовать План B (WordPress + MediaWiki + некоторое программное обеспечение для форумов), если вам нужно.

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

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

Что касается сроков? Я не умею оценивать свои собственные навыки, поэтому у меня нет шансов оценить ваши:)

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

Чтобы создать что-то такого же качества, как WordPress + MediaWiki +, некоторое программное обеспечение для форума заняло бы много тысяч часов.

Но если вы просто создаете его для себя, есть много «достаточно хороших», с которыми вы столкнетесь, что сэкономит ваше время. Так что я бы сказал ... до 1000 часов. Это звучит немного расплывчато, не так ли? Я программирую 14 лет, и я все еще ужасно оцениваю время для проектов, смеется. Конечно, определение проекта тоже довольно расплывчато.

Чтобы ответить на вопрос, стоит ли это, это действительно вопрос для вас. Если вы чем-то увлечены, это может стать отличной возможностью для обучения. Около 7 лет назад (до появления Google Analytics) я написал довольно мощный механизм отслеживания и статистики веб-трафика. Это был большой опыт для меня, и я не жалею об этом. Конечно, с другой стороны, так же, как и я, вы будете вкладывать много работы в то, что у вас будет мало шансов заработать деньги.

...