Будучи веб-разработчиком PHP среднего и продвинутого уровня и молодым (15 лет), должен ли я создавать совершенно новую CMS для своего веб-сайта или полагаться на готовое программное обеспечение, такое как WordPress или Drupal?
Я не совсем чувствую, что WordPress является достаточно мощным / масштабируемым, чтобы справляться с тем, что я пытаюсь сделать, и после того, как я немного поработал с Drupal за последние несколько дней, он просто не кажется мне по вкусу и также не очень хорошо задокументировано, поэтому у меня возникли некоторые проблемы с получением определенных простых заданий. Я люблю использовать что - то , такие как Цербер, но у меня нет денег , чтобы блюдо за коммерческую лицензию , которая в настоящее время составляет около $ 300, так что не это не годно.
Изначально я начал кодировать свой сайт как временную систему, чтобы мои пользователи могли приобретать обновления и другие вещи, такие как игровая валюта, до тех пор, пока я не смогу запустить новый сайт, но после того, как я запустил его, я быстро понял, что мне нужно сделать его масштабируемым Так что с тех пор я задумался о том, чтобы сделать его полноценным веб-сайтом. Это заняло всего пару дней, но все основы есть (регистрация, вход в систему, изменение учетной записи и т. Д.), И я считаю, что это будет отличным началом для частной CMS.
Последнее, что я хочу добавить, - это если я собираюсь создать свою собственную CMS, должен ли я использовать среду PHP, такую как CodeIgniter, с которой у меня довольно много опыта?
Возможно, другие разработчики могли бы подсказать мне, во что я могу ввязаться.
Ответы:
Это полностью зависит от вашей ситуации. Там были созданы отличные сайты с CMS. Я думаю, что лучше сначала понять две концепции: CO и TCO.
CO (Стоимость владения)
Когда вы покупаете что-то, сумма, которую вы платите за это, составляет CO. В случае WordPress это ничто, потому что WordPress (или многие другие программы CMS) бесплатны.
TCO (общая стоимость владения)
Представьте, что вы покупаете компьютер за 10000 долларов. И что? Вам следует потратить время на установку программного обеспечения на нем (время является ценным ресурсом, поэтому вы все еще тратите деньги на этот компьютер), затем вы можете приобрести веб-камеру, другой DVD-привод и некоторые дополнительные кабели. Затем вам нужно научиться использовать установленное программное обеспечение. Другими словами, общая стоимость владения ПК не составляет 10000 долларов. Это намного больше, чем это.
В случае программного обеспечения CMS, их CO действительно ничто по очень низким ставкам. Но многие опыты показывают, что их совокупная стоимость владения совсем не низкая. Крупные компании тратят почти тысячи долларов на создание хорошего сайта в Joomla или WordPress.
Еще одним фактором является уровень настройки . Иногда вы хотите использовать программное обеспечение , как это без каких - либо изменений. В этом случае WordPress, Joomla, Drupal или любая другая CMS может быть очень хорошим кандидатом, и вы не должны писать свою собственную CMS. Но бывают моменты, когда вам нужен высокий уровень настройки. В этом случае вы действительно разочаровываетесь в настройке готовой к использованию CMS в соответствии с вашими требованиями.
Я действительно хотел использовать готовое программное обеспечение CMS, но потратив драгоценное время на изучение различных CMS и выявление слабых сторон каждого, я закончил тем, что создал свою собственную CMS. Thought Results - мой персональный сайт, созданный с помощью этой CMS. Я скоро опубликую его, чтобы другие тоже могли его использовать.
Еще одним фактором является расширяемость . Поверьте мне, вы устали переводить CMS из статического состояния в расширяемое. Шаблоны, модули, плагины, поставщики, база данных и хранилище, механизмы маршрутизации и почти любая часть в Good CMS должны быть расширяемыми.
Наконец, мое личное предложение состоит в том, чтобы начать создавать CMS, чтобы, по крайней мере, вы узнали некоторые из самых фундаментальных концепций, стоящих за ней. Но также попробуйте использовать существующие. Удачи.
источник
Я играю адвокат дьяволов здесь, однако это должно быть сказано. Некоторые из наиболее распространенных проблем с разработчиками программного обеспечения:
Вы уверены, что не делаете ни одной из этих ошибок, потому что даже за 15 лет 300 долларов могут быть заработаны за несколько недель, а то, что вы предлагаете, может занять месяцы. Подумайте, что произойдет, если вы получите оплачиваемую работу и купите ExpressionEngine за эти деньги. Будет ли он доставлен раньше, с еще лучшими характеристиками, чем работа «Сделай сам»?
источник
На это есть два ответа.
Одно просто: нет - не изобретай велосипед. Существует множество отличных систем CMS, и если вы научитесь использовать одну скважину, то, если вам что-то не нужно, вы сможете сосредоточиться на создании подключаемого модуля для этой цели, а не изобретать рулевое колесо.
Второе немного менее очевидно: да. Если вы хотите понять, как работает CMS и проблемы, возникающие при ее создании, то создание собственного не повредит. Вероятно, она никогда не будет обладать мощью и гибкостью одной из существующих систем CMS, и, поскольку во всем мире примерно 100000000000 систем управления контентом PHP, существует очень мало шансов, что кто-нибудь еще заинтересуется этим, но это также не будет есть вещи, которые вам не нужны, и это, вероятно, будет работать намного меньше и проще, чем любая из больших систем. Это займет много времени, результаты вряд ли будут такими же хорошими, и это не будет иметь никакого значения для остального мира, но с точки зрения вашего развития и обучения, это может быть полезным упражнением.
В любом случае, прежде чем вы начнете создавать свои собственные, я бы попробовал доступные системы, чтобы получить представление о том, как они работают, что они делают хорошо и что, по вашему мнению, они могли бы сделать лучше. Хорошее понимание этих вопросов может повлиять на ваше решение о том, есть ли какая-либо выгода в создании вашего собственного решения.
источник
Если вы никогда не пробовали программировать CMS, это может быть очень хорошей возможностью для этого. Вы многому научитесь, и независимо от того, закончите ли вы это, у вас будет очень хорошая идея, например:
Некоторые из них вы можете даже обнаружить, что вы узнали, как этого не делать. Этот опыт тоже важен.
Лично я достиг стадии, когда я узнал, что «насколько сложно это может быть» покрывает лишь несколько процентов работы, фактически необходимой для создания высококачественного продукта, и если я выберу CMS, то я искал бы популярный с доступной доступной базой кода и хорошей документацией, и хорошей архитектурой плагинов, позволяющей мне просто написать подходящие плагины, а затем обновить базовую CMS, когда выйдет новая версия.
источник
Это только небольшой ответ на ваш вопрос. Я предполагаю, что вы в php, и вы не собираетесь делать готовый путь CMS. Добро пожаловать в клуб! Многие из нас пошли по тому же пути. Несколько советов, которые могут облегчить вашу нагрузку.
Я начал создавать свою собственную CMS, реализацию MVC, обработчик интернационализации (i18n), обработчик сеансов, некоторый способ уровня абстракции базы данных, какой-то способ обработки форм и т. Д. И затем я узнал, что то, что я делал, на самом деле сделано раньше, но лучше с помощью фреймворков. Таким образом, это означает, что вам не нужно заново изобретать колесо, а только там, где оно соответствует вашим потребностям. Фреймворки делают вашу жизнь проще, но они требуют много усилий, чтобы читать и учиться. Мне потребовался год, чтобы действительно овладеть Symfony, и я не жалею об этом ни секунды.
И вам повезло, потому что сейчас существует намного больше высококачественных фреймворков, чем раньше. Назвать несколько :
CakePHP : использовал его давно, и не мог пройти через документацию. Видимо, теперь это лучше и, вероятно, стоит вашего рассмотрения.
Yii : Я этим не пользовался, но в последнее время много шума, возможно, стоит вашего внимания.
CodeIgniter : Слышали, как многие хвалят codeigniter за легкость в освоении и простоту использования. Не использовал это.
Если вы хотите попробовать Python, многие также хвалят Django и, конечно, ruby на рельсах.
Возможно, есть и другие, но это должно быть полезно для вас. Если вы не хотите их использовать, вы все равно можете многому научиться на этих платформах. Удачи!
источник
Ответ во многом зависит от того, чего вы пытаетесь достичь.
Если вы намереваетесь развивать свои навыки, изучать управление контентом и т. Д. Тогда да, конечно, развивайте свои собственные. Точно так же, если вы хотите изучить фреймворк, используйте его.
Однако, если вы сосредоточены на игре, которую вы упоминаете, и на ее игроках, то ответ почти наверняка нет. Ваше время - это конечный и, следовательно, дорогой ресурс. Время, потраченное на разработку CMS, - это не время, потраченное на разработку игры, и именно игра приносит доход. Так что задайте себе вопрос. Разве время, потраченное на разработку этой CMS, вместо того, чтобы приобретать один, улучшит мой игровой опыт, больше времени, потраченного на ее разработку? Если ответ «да», то разработайте его, в противном случае - нет.
Точно так же решение CMS с открытым исходным кодом вместо ExpressionEngine должно сводиться к ToC, как говорит Саид. Проще говоря, если Cost (Wordpress)> Cost (ExpressionEngine), потратить 300 долларов. Здесь стоимость покупки_коста + (часы_для настройки * ваша_часа_рейт).
источник
Найдите CMS, которая соответствует 90% ваших потребностей, и со временем модифицируйте ее, чтобы добавить функциональность, которую она не предоставляет.
Это позволит вам начать работу раньше времени и адаптироваться по мере изменения потребностей вашего пользователя.
источник
Я полностью призываю вас создать свою собственную CMS. На сегодняшний день это лучший способ узнать все тонкости такой системы с точки зрения настройки и безопасности. Но я должен задаться вопросом, насколько вы продвинуты в своих навыках PHP. Это не касается твоего возраста, поверь мне.
Флаг для меня был: «Я не совсем чувствую, что WordPress достаточно мощный / масштабируемый, чтобы справиться с тем, что я пытаюсь сделать, и после того, как я немного поработал с Drupal за последние несколько дней, это просто не кажется на мой взгляд, и не очень хорошо задокументировано, поэтому у меня возникли некоторые проблемы с тем, чтобы заставить его выполнять некоторые простые задачи ».
Множество книг и сайтов по настройке Worpress и Drupal, не говоря уже о громких сайтах, которые на них работают, доказывают, что вы должны знать, что вы делаете, чтобы получить такие сайты. Не говоря уже о том, что на эти сайты выделяются целые бюджеты.
Ссылки, например:
http://drupal.org/cases
http://wpmu.org/wordpress-showcase-20-high-profile-sites-running-on-wordpress
Это не должно отговаривать вас от того, что вы пытаетесь сделать, во что бы то ни стало пойти на это. Я просто хочу убедиться, что вы не тратите слишком много своего времени (заново изобретаете колесо), расстраиваетесь в какой-то момент и просто говорите «эфф», когда вы можете расширить свои таланты и показать людям, включая работодателей , что у вас есть с инструментами, доступными в настоящее время. В реальном мире и нынешней экономике время - деньги, а у предприятий и организаций нет времени и / или бюджетов, чтобы постоянно заниматься созданием проектов с нуля.
Сегодня информация движется со скоростью света, поэтому программисты, которые могут отделить шум и создавать целенаправленный контент / приложения / системы в подходящее время обработки, пользуются повышенным спросом.
источник
Только вы можете ответить, может ли Wordpress или Drupal делать то, что вам нужно для CMS, но если вы хотите попробовать их, почему бы не использовать виртуальную машину под ключ Linux , такую как Wordpress , Drupal , Joomla или любую из другие с тегом управления контентом .
Предполагая, что у вас уже установлен проигрыватель VMware или VirtualBox , в течение нескольких минут после загрузки любого из этих устройств вы можете сами попробовать программное обеспечение с минимальными затратами времени.
источник