Чтобы создать новую социальную сеть в масштабе, о котором вы, вероятно, думаете, является огромным, огромным начинанием. В целом это не было бы «знакомство с веб-разработкой», это было бы «мастер-класс в совместном опыте веб-разработки», чтобы реализовать его правильно.
Кажется, что, чтобы продвигаться вперед и думать о языках, не хватает нескольких очень важных шагов, необходимых для разработки программного обеспечения, особенно учитывая количество допустимых вариантов для языков и платформ. Было бы лучше начать с размышления о каком-то дизайне системы: пользователи, прецеденты, возможно, целый ряд сущностей/ERM-дизайна; после некоторого момента вы можете рассмотреть бэкэнд-хранилище. Размышляя о загрузке пользователя, опыте пользователя, расширяемости и наборе функций, вы можете начать взвешивать языки и платформы.
Говоря всякий раз, когда у меня есть идея, я думаю, что это круто, я обычно просто делаю быстрые циклы прототипирования; но для чего-то такого огромного, как сайт социальной сети, рефактору становится все труднее, особенно если это только вы в команде.
Очевидно, я все это откладываю, чтобы попытаться предположить, что нужно много думать. Моим фактическим советом было бы - захватить груз бумаги, набросать как можно больше, начиная с высокого уровня (скажем, с разными пользователями, с которыми пользователи будут взаимодействовать) - решать проблемы (например, наброски состояний объектов) на бумаге и начните с малого/начинайте с нуля. Лучше иметь простую систему обмена сообщениями с текстом и фотографиями (честно говоря, чтобы этот отполированный законченный и хорошо работающий, это сам подвиг), что работает, чем случайная сломанная расширенная система пропусков с сообщениями, фотогалереи, стены, группы и т. д.
Существует много вкусных технологий, например, RoR, но с таким глубоким проектом, как все еще будет много исследований и моментов, связанных с головой. Таким образом, наличие некоторого уровня общего объема проекта поможет сохранить контроль и управление, равно как и любое планирование до кодирования.
Просто немного пищи для размышлений.!
Вот ваш первый урок в веб-разработке. То, что вы набрали, и то, что вы видите сейчас, не то же самое, не так ли? Измените свой вопрос. Посмотрите на правую сторону страницы для синтаксиса уценки. Измените свой вопрос, чтобы он выглядел хорошо. –
Вот ваш второй урок в веб-разработке. «Я не против изучать новые)». Какие? Вы имеете в виду «новое», как в «новых языках, которые никогда раньше не использовались»? Или вы имеете в виду «новое», как в «новом для меня»? Если вы имеете в виду «новое для меня», как мы должны знать, что нового вам? Угадай? Что такое «ДИ»? –
* Непрерывная интеграция * была бы моей догадкой. – bakkal