Я знаю, что это не вопрос программирования как таковой, но я хотел получить как можно больше информации от сообщества SO о новом проекте, который я надеюсь начать. Проект начался с нуля, и поэтому каждое решение по языкам программирования, базам данных, фреймворкам, платформам и тому, что не выходит в эфир. Я надеюсь получить ваше мнение по этому вопросу, что вы чувствуете сильные и слабые стороны каждого варианта.
База данных:
В настоящее время у меня есть возможность использовать MSSQL или MySQL. Хотя я склоняюсь к использованию MySQL, потому что он бесплатный и, скорее всего, обладает всеми необходимыми мне функциями. Однако существует возможность иметь много иерархических данных, и новый иерархический тип данных в MSSQL довольно привлекателен. Это действительно так сильно упрощает? Также MSSQL поддерживает множество более сложных функций SQL, которые могут или не могут быть полезны в долгосрочной перспективе. В то время как для разработки я могу получить доступ к Server 2008, несколько лицензий по мере роста команды разработчиков и для производства, оправданы ли затраты?
Языки программирования:
Проект будет иметь интерфейс на основе веб-интерфейса и серверный компонент, который будет выполнять некоторые тяжелые работы.
Для веб-интерфейса я подумывал о том, чтобы, возможно, использовать Apache / IIS с PHP или IIS с ASP.Net на C #. Я хотел бы использовать хорошую среду для правильного использования хороших шаблонов проектирования, которые должны структурировать код и разработку приложения. А также внести изменения в долгосрочной перспективе легко реализовать. Я также хочу, чтобы графический интерфейс выглядел хорошо, и мне не нравится идея покупать элементы управления .Net у поставщиков компонентов. Вместо этого я предпочитаю использовать хороший CSS и открытые исходники, такие как YUI и javascript, чтобы сделать пользовательский интерфейс более гладким.
Для серверного компонента я думал об использовании C #. У меня нет никакого реального опыта разработки на C ++, и я хотел бы иметь хорошие библиотеки и достаточно хорошую скорость. Тем не менее, в то время как веб-интерфейс и серверный компонент слабо связаны, могут быть случаи, когда пользовательский интерфейс должен обмениваться данными (с помощью методов вызова и чего-либо другого) с серверным компонентом, и я хочу выбрать языки / платформы, которые будут хорошо работать друг друга.
Приветствуются все предложения по созданию рамок.
Контроль версий:
У меня был хороший опыт работы с SVN и довольно плохой опыт работы с TFS. Я никогда не работал с GIT. Как вы думаете, что лучше с точки зрения возможностей, а также общего знакомства разработчиков. Я хочу выбрать что-то, что другие разработчики будут знать и не будут иметь проблем.
Я прошу прощения, если вопросы немного излишни, или я не предоставляю достаточно информации или использую неверную терминологию. Я планирую редактировать и улучшать вопрос по мере получения обратной связи. Спасибо!
EDIT:
Кто: Скорее всего, это будет стартап, образованный студентами или младшими разработчиками. Я хочу, чтобы в проекте использовались технологии, с которыми большинство людей знакомо или которые легко освоить.
Что: мне понадобятся часы и дни, чтобы объяснить решение. Но, в конце концов, когда вы ломаете его, это веб-интерфейс (например, стандартное веб-приложение для управления данными базы данных), который будет использоваться для хорошо осведомленных клиентов. Серверный компонент будет очень отдельным, за исключением того факта, что он сможет взаимодействовать с веб-приложением.
Я могу предоставить больше информации по мере необходимости, но я был бы признателен за возможность пользователям ответить и высказать свои идеи, прежде чем вы поспешно закроете вопрос.