Добрый день!
Вставлю свои 5 копеек по ASP.NET MVC:
1. Скорость изучения.
Учитывая, что Вы уже знакомы с C#, то изучение основ ASP.NET и особенностей разработки на ASP.NET MVC с помощью книг "
Microsoft ASP .NET 4 с примерами на c# 2010 для профессионалов" (Мэтью МакДональд, Адам Фримен, Марио Шпушта) и "
ASP.NET MVC3 (или 4) Framework с примерами на C# для профессионалов" (Адам Фримен, Стивен Сандерсон) займет у Вас примерно месяц при условии 4-5 часов занятий в день.
Если будете разрабатывать на ASP.NET MVC и выберете ORM EntityFramework, то берите сразу последнюю (6.1.) версию.
Статья по EF6 Вам в помощь.
2. Функциональность.
Этого пункта не понял, поэтому лучше промолчу.
3. Создание api (или через что лучше организовать доступ с сайту через мобильное приложение?) для приложения андроид.
На
asp.net есть отличные статьи по
ASP.NET WebAPI.
4. Возможность найти помощь по проблемам (другими словами размер лояльного сообщества)
К Вашим услугам:
MSDNasp.netStackoverflow
Собственно, сам
Toster и
Хабр
Лично я обычно делаю так: захожу в гугл и формирую запрос по английски, потому что по личному опыту, так решить проблему можно быстрее, чем искать на русскоязычных источниках.
5. Сложность изучения
Опять-таки учитывая тот факт, что с C# Вы уже знакомы, то - примерно средняя (чисто субъективно).
6. Производительность
Боюсь, тут я ничем Вам не смогу помочь, т.к. на PHP/RoR я не программировал и производительность всех трех технологий не сравнивал. Что касательно MVC, то заметил, что на локальном ПК (localhost) при разработке веб-приложение грузится чуть медленнее, чем на реальном хостинге или выделенном сервере (Да оно, собственно говоря, и понятно, т.к. на хостинге-то стоит нормальный IIS, а в VisualStudio при build проекта он запускается под Local IIS Express)
7. Подскажите что еще важно при выборе?
Пожалуй, цена вопроса. Так, для разработки на PHP Вам достаточно (если я не ошибаюсь) любого бесплатного редактора (Eclipse, Aptana, Codelobster, ...) и бесплатного веб-сервера Apache. Что касается разработки под ASP.NET MVC (да и вообще на стеке технологий .NET), то тут у Вас есть 2 пути:
1) использование
free Express-версий продуктов (Visual Studio, MS SQL Server)
2) соответственно, использование платных версий тех же продуктов.
И еще пару моментов:
1. Узнайте, состоит ли Ваш универ в альянсе Microsoft Academy Alliance (или как-то так). Мой универ состоял, и нам в Dreamspark были доступны все платные продукты за бесплатно - VS вплоть до Ultimate, MS SQL Server, все версии Windows и др. (естесственно, "в образовательных целях"). Если состоит, то узнайте у Ваших IT-преподователей, как получить доступ. Когда учился в универе, меня регистрирова препод, а потом на мой email пришло письмо на english, что-то вроде "ура, вы зарегистрированы, ваши данные для входа такие-то...".
2. Если п.1 не сработал, то есть сайт -
ИНТУИТ. Закончив там (вроде бы достаточно только 1 курса) курс от Microsoft, вы получаете ключ для регистрации на Dreamspark, в котором Вам открываются след.возможности:
- Visual Studio all versions
professional
- MS SQL Server all versions
- Windows + Windows Server
И это, опять-таки, все бесплатно.
По поводу Вашей темы диплома.
Лично я немного
не согласен с
@SamDark в том плане, что "важна тема диплома, ее новизна и практическое значение". Новизна и практическое значение
важны больше при разработке и защите различных
диссертаций (докторских и какие там еще есть?), чем для диплома. Ваша идея, считаю, отличная, и неважно, что кто-то говорит, что "таких много". Да, много, но можно предложить свое решение задач, которое будет интереснее, красивее, удобнее, дешевле, проще, ... (нужное подчеркнуть). Если Вам эта тема интересна, и, что называется, тревожит душу, то беритесь за нее. Важна не идея, а ее реализация. К примеру: zappos.com - интернет-магазин обуви. Вроде бы чертова обувь... А если присмотреться, то их бизнес уникален (точнее, уникально предложенное ими решение проблемы - покупка обуви в интернете). Или basecamp от 37signals - вроде бы система управления проектами. А ведь Microsoft Project - тоже система управления проектами. Но на мой субъективный взгляд они и рядом не стоят. Разница в идее? Нет. Разница в реализации. А если получится действительно хороший продукт, то можно его превратить в SaaS и получать за это свои кровные.
Надеюсь, я Вам немного помог в Вашем выборе.