Мне нужен совет относительно платформ и фреймворков для разработки сайтов - PullRequest
2 голосов
/ 20 февраля 2011

Я занимаюсь разработкой своего рода веб-сайта социальной сети.

Мне нужно решить, на какой платформе (ASP.NET MVC, PHP, Ruby ...).

Я также рассматриваю вопрос оиспользование готовых решений, таких как DotNetNuke, Drupal, Joomla и т. д.

Мой естественный путь - использовать ASP.NET MVC 3 (с движком Razor View), поскольку у меня есть опыт.NET разработчик (не веб), и это кажется забавным для изучения.

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

Конечно, есть вопрос скорости, а не накопленного опыта и веселья (что мне нужно выяснить самому).

Я буду очень рад получить любой совет по этому вопросу.

Приветствия

Дорон

Ответы [ 7 ]

2 голосов
/ 20 февраля 2011

Есть некоторые недостающие сведения о том, что именно вы пытаетесь достичь.

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

Будет ли это сервер Unix (linux, bsd, macos, solaris ...) или сервер Windows.

Вы можете использовать базу данных SQL или базу данных NoSQL для данных.В случае социальных сетей имеет смысл использовать базу данных NoSQL (документно-ориентированная база данных).

Что касается языка, вы должны выбрать тот, который подходит вам, но также подходит для вашей базы данных.

Полные решения

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

Фреймворки

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

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

Вот список вещей, на которые вы должны взглянуть:

Базы данных SQL: Mysql, Postgresql

Базы данных NoSQL: MongoDB, CouchDB

Платформы Python: Pylons, TurboGears2, Tornado, Flask

Ruby-фреймворки: Rails

PHP-фреймворки: Symfony, CakePHP

2 голосов
/ 20 февраля 2011

Как вы указали в вопросе, что у вас уже есть опыт работы с .net, что ASP.NET MVC лучше для вас.

ASP.NET - это здорово, но его недостаточно для создания веб-сайта, поэтому другое деловам нужен

jQuery для разработки javascript [opensource] MySQL для управления базами данных [opensource]

1 голос
/ 21 февраля 2011

Вы обязательно должны взглянуть на ActiveSocial .Это очень хорошо построенное и расширяемое решение для социальных сетей для DotNetNuke.Он построен одной из лучших компаний по разработке модулей DNN, ActiveModules.(Я не связан с ActiveModules.)

1 голос
/ 21 февраля 2011

Я лично не использовал все ваши варианты, кроме Joomla, поэтому я не могу сказать, лучше это или нет.

Joomla!

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

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

Социальные сети

В вашем случае в качестве сайта для социальной сети я считаю Joomla отличным выбором. Пользователи сразу могут создавать свои учетные записи и управлять ими. Это включает в себя подтверждение по электронной почте и тому подобное. Они могут даже создавать статьи, чтобы другие могли их увидеть. Вы и ваши пользователи можете создавать и редактировать информацию с помощью текстового редактора на основе javascript, вы можете использовать тот, который поставляется с Joomla, или вы можете установить другой. Вы также можете отдельно отключить и включить функции редактора для интерфейса сайта и администратора. Также я считаю, что в социальных сетях важны уровни доступа и группы. В Joomla для этого тоже есть встроенная система. Если вам нужен ваш сайт на нескольких языках, то Joomla предоставит вам покрытие, но мой также может проверить компонент JoomFish .

Социальные сети и JomSocial

Если вы действительно хотите заняться модным делом (и я уверен, что вы это делаете), для Joomla есть компонент с именем JomSocial . Этот компонент представляет собой систему, созданную для социальных сетей. Он имеет такие функции, как список друзей, новых пользователей, популярных пользователей, а также возможность установки плагинов и модулей для него. Удивительно, но и с системой видеочата на основе флеш-памяти. Я даже использовал плагин для JomSocial, который предоставляет систему чата типа Facebook.

JomSocial также имеет интерфейс администратора.

Программирование

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

Он в основном работает на:

PHP, MySql и Mootools

1 голос
/ 21 февраля 2011

Я собираюсь указать вам на Drupal Commons от Acquia, это дистрибутив Drupal 6, который является готовым инструментом для совместной работы.Это был бы отличный способ оценить гибкость / возможности / модули-вклады Drupal для ваших целей (которые сейчас немного расплывчаты):

http://acquia.com/products-services/drupal-commons

0 голосов
/ 23 февраля 2011

Рассмотрено использование Ning? Это хостинг, но это хорошее место, чтобы начать собирать аудиторию и проверить свою идею, прежде чем тратить кучу времени на разработку под заказ. http://www.ning.com

0 голосов
/ 20 февраля 2011

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

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

Вы видели ДИАСПОРА *?

...