Есть ли смысл использовать рельсы вместо mvc3?
ДА.Если ничего, это даст вам другую точку зрения и расширит ваши представления о проблемах программирования.В краткости рубина, полезности блоков и динамическом поведении языка есть что-то, что позволяет вам действительно мыслить по-разному.
Как выбрать между двумя?
Если проект короткий, придерживайтесь того, что вы знаете.Но если это окажется более длительный проект, возможно, стоит потратить усилия, чтобы начать изучать кривую обучения рельсов.Большинство людей скажут вам, что рельсы развиваются быстрее, чем .net mvc.Если проект достаточно длинный, вы, возможно, в конечном итоге сможете быстрее развиваться на рельсах, когда освоитесь с ним.
Тем не менее, кривая обучения для программиста Microsoft может быть STEEP!Если вы парень из Unix, тогда все будет не так плохо, но если нет, то будьте готовы узнать много разных тем.Командная строка и ваша оболочка, TDD, homebrew или macports, git вместо subversion, gems, bundler, rvm, rspec или какой-либо другой инфраструктурой тестирования и т. Д.
Кроме того, если у вас нет Mac илине на какой-то вкус * nix, то вы можете придерживаться .net.Из того, что я слышал, это болезненный опыт разработки рельсов на окнах.
Если TDD важен для вас, то рельсы - это путь.Кроме того, развертывание на рельсах намного проще.
Экосистема - это то, что может быть фактором, если вы хотите использовать инструменты, созданные другими.Rails имеет огромную базу разработчиков с открытым исходным кодом, которые вносят большой вклад в сообщество.Если вы хотите сравнить, взгляните на github.com (для рельсов) и codeplex (для Microsoft).Однако с системой Microsoft NuGet, возможно, сторона Microsoft начнет создавать лучшую экосистему.Но сейчас это даже не близко.
Другие варианты, на которые стоит обратить внимание?
Если вам нужно разработать довольно динамичный веб-сайт, поддерживаемый базой данных, тогда rails или .net mvcхорошие варианты.Если это что-то намного проще / меньше, то некоторые более простые / меньшие фреймворки - это sinatra (для ruby) или webmatrix для .net.Вы сможете гораздо быстрее освоиться с этими платформами.
Чем отличаются две платформы?
Самое большое отличие, которое я заметил, от базовогоlangues, ruby для рельсов и c # для .net mvc.Ruby динамичен, а c # статичен.Rails не компилируется, в то время как .net mvc есть.Вы получите более чистую производительность от .net mvc.
Rails действительно построен с учетом TDD и BDD.В последний раз, когда я использовал .net mvc 1.0, было очень сложно сделать TDD.
При разработке почти все пользователи .net mvc будут использовать Visual Studio, но я бы сказал, что большинство разработчиков rails не используют IDE.Они просто используют простой текстовый редактор (textmate, vim, emacs) и отлаживают с помощью консоли.
РЕДАКТИРОВАТЬ: * Бонусные советы *
Если вы хотите начать работу с рельсами (что я очень рекомендую), то самый простой и тщательный способ - пройти урок rails от Michael Hartl.В нем вы узнаете о ruby / rails вместе со следующим
- git - source control
- rvm - для запуска разных версий ruby на одном компьютере
- rspec - для TDD
- heroku - бесплатный веб-хостинг с простым развертыванием
Как только вы получите хорошее представление о рельсах, вы захотите улучшить свои навыки в рубине, чтобы действительно стать хорошимРазработчик рельсов.