#drupal #codeigniter #content-management-system #kohana #web-site-project
#drupal #codeigniter #система управления контентом #кохана #веб-сайт-проект
Вопрос:
я программист-любитель с очень небольшим опытом в веб-программировании, я посвящаю в среднем 20-30 часов в неделю, но с приближением лета у меня появляется немного свободного времени для экспериментов и обучения. не мог бы кто-нибудь, пожалуйста, сказать мне, следует ли использовать фреймворк, подобный (Kohana / CakePHP / CI), или непосредственно инструмент CMS, такой как drupal / joomla, следует использовать для создания веб-сайта, подобного stackoverflow, хотя и в меньшем масштабе.
Спасибо за вашу помощь.
Ответ №1:
Это зависит от того, что вы хотите изучить. Зависит от вашей цели.
Вы хотите научиться веб-разработке? CSS? Веб-дизайн? Программирование? Создание сайтов?
Если ваша цель — сам сайт, я бы посоветовал начать с самого высокого уровня в стеке: используйте готовую к работе CMS, такую как Drupal, которая поможет вам быстро работать. И это дает результат (готовый к производству) через несколько часов. Вашим недостатком будет свобода: конечно, Drupal может многое, так же как и WordPress. Но если вы не продвинетесь вниз по стеку (разрабатываете дополнения и тому подобное), вам придется довольствоваться тем, что вам предлагают: готовыми компонентами, которые работают в соответствии с пожеланиями авторов. Возможно, это не ваше желание.
Если ваша цель — изучить веб-разработку в более общем виде, вам следует начать с более низких уровней стека. Ruby on Rails или Django, вероятно, являются лучшими вариантами. Просто из-за их обширного ресурса по документации для новичков. По пути вы также научитесь программированию. В течение нескольких дней вы создадите сайт в точном соответствии с вашими пожеланиями (очевидно, ваш пробег может варьироваться в зависимости от пожеланий :)).
Если ваша цель — разработка программного обеспечения, Python и Ruby, скорее всего, тоже хорошее начало: оба являются кроссплатформенными, имеют хорошие ресурсы для новичков и предлагают отличную документацию. Оба действительно хороши (мнения могут отличаться по этому поводу) абстракцией и объектной ориентацией. Они сделают из вас хорошего программиста просто по своей природе.
Комментарии:
1. что ж, на данный момент у меня есть некоторый опыт работы с PHP, и я прилично разрабатываю алгоритмы и материалы на C / C . мой главный девиз — изучать веб-разработку в целом, но моим непосредственным требованием является какой-нибудь веб-сайт, как уже упоминалось, вроде stackoverflow. ну, я знаю, что задаю совершенно другой ответ, и ответ будет отличаться от человека к человеку, но как вы смотрите на RoR против Python. Ваше личное мнение, теперь, когда вы знаете мое прошлое, я надеюсь, вы сможете подсказать мне. Спасибо!
2. Я разработчик Rails, с завистью. Почти еженедельно я думаю: «Мне следовало подождать год и выучить Python / Django вместо Ruby / Rails». Причина личная: я пользователь Ubuntu и Android, а не Mac, поэтому python был бы предпочтительным языком и для разработки на настольных компьютерах. И мне больше нравятся некоторые философии в Python. Например, «существует только одна библиотека, и это лучшая»-иш. в Rails их всегда пять (и, честно говоря, у меня всегда получается худший :)). в двух словах: выбирайте Ruby (на rails), если вы работаете на Mac, у amd тоже есть мысли о разработке настольных компьютеров. Используйте Django на Python, если вы используете Ubuntu.
Ответ №2:
Существует бесплатный клон Stackoverflow под названием Qwench. (найдите в stackoverflow клоны stackoverflow с открытым исходным кодом)
и один, построенный на drupal http://drupal.org/project/arrayshift
Ответ №3:
WordPress может действовать очень похоже на Stackoverflow с соответствующим шаблоном. Смотрите здесь:http://p2theme.com / (демонстрация здесь:http://p2demo.wordpress.com /). На самом деле вы можете начать редактировать тему (файлы .php) и заставить ее вести себя все больше и больше как Stackoverflow (с системой репутации и т.д. который должен быть прост в реализации). Таким образом, вам не придется изобретать велосипед и у вас будет хороший старт.
Ответ №4:
Я лично использую CodeIgniter и мне это нравится. Я бы порекомендовал его любому новичку, желающему углубить свои знания в объектно-ориентированном программировании, и любым ветеранам, желающим быстрее запустить свои проекты с нуля. Я не собираюсь здесь вдаваться в подробности, потому что я знаю, что Kohana и CakePHP похожи, и это в основном мнение. Однако у CI есть отличная документация.
Я думаю, что изучение наиболее распространенных CMS будет для вас чрезвычайно полезным, множество сайтов и компаний используют WP / Drupal / Joomla / Etc, И их понимание действительно не помешает. Эти проекты очень большие, поэтому вам не обязательно знать их внутренние операции на 100%, но вы должны знать достаточно, чтобы иметь возможность установить, настроить и запустить сайт довольно быстро.
У каждого есть свои любимые, но я приглашаю вас попробовать их все и посмотреть, что движет вами. Никогда не помешает чему-то научиться и не использовать это, особенно с некоторым дополнительным временем.
Иногда приходится использовать пакетированную CMS и, надеюсь, вы сможете быстро оформить / настроить ее в соответствии с вашими потребностями…тогда иногда вам захочется вручную закодировать специальный случай, используя фреймворк.
Просто осознайте глубину проекта, за который вы хотите взяться, потому что начинать с нуля весело и полезно, но как только вы по уши увязнете в коде и застрянете, мотивацию легко потерять совсем.
Ответ №5:
Я бы посоветовал изучить основы HTML, прежде чем переходить к использованию системы управления контентом. Важность понимания основных строительных блоков веб-сайтов невозможно переоценить.
В Интернете есть множество ресурсов для изучения HTML — как только у вас появится некоторый опыт работы с этим, вы можете изучить CSS, Javascript и языки сценариев на стороне сервера. Знание основ поможет в использовании любой системы управления контентом.
Joomla / Drupal — хорошее место для начала работы с системами управления контентом, как и WordPress, но вам было бы гораздо лучше изучить, как это работает (по крайней мере, в самой базовой степени), прежде чем переходить к чему-либо еще.
Если вы уже программист, вам не покажется это слишком сложным, но это определенно стоит сделать.
Комментарии:
1. Не то чтобы HTML не важен, но он не имеет большого отношения к веб-программированию. Если он кодирует 20-30 часов в неделю и стремится увеличить это число, кодируя сайт подобным образом, я думаю, можно с уверенностью предположить, что он либо знает, либо может подобрать HTML.
2. что ж, ты прав, Дэвид, я в порядке с html и прочим 🙂 в любом случае, спасибо, Джейп
3. Я никогда ничего не предполагаю! Извините, это все равно не помогло.