Ruby on Rails против ASP.NET MVC 3 для .NET Guy? [закрыто]

98

Я новичок в RoR и хочу выбирать между APS.NET MVC3 и RoR. C #, безусловно, проще для меня, поскольку я занимаюсь этим так долго, но мне интересно, есть ли какой-нибудь смысл использовать RoR поверх .MVC для разработки реального веб-сайта?

Что еще я могу получить с RoR, чего я не могу получить с ASP.NET MVC 3, что стоит потратить время на освоение RoR? Я хотя доступный плагин RoR сообщества был бы одной из причин, но он не кажется организованным и кажется, что кривая обучения правильным вещам будет настолько большой, что практически не сэкономит много времени новичку! Я могу ошибаться здесь, и я действительно ценю ваш реальный комментарий по этому поводу? Имейте в виду, что мне все еще нужно изучить ASP.NET MVC, но для .NET Guy это звучит быстро!

Что RoR может предложить парню .NET, который СТОИТ выбрать RoR вместо ASP.NET MVC 3? и радовать практическими советами! :)

iCode
источник
11
Как этот вопрос не по теме или не настоящий вопрос? В любом случае, я добавил adviceметку к вопросу.
Zabba
1
@zabba, почему? Мне кажется, что это не теги.
bzlm
1
@bzlm, что за без тегов?
Zabba
2
@zabba только 95 вопросов, нет резюме вики, неясная цель (вопросы, требующие "совета", обычно не требуют ответа и, следовательно, не приветствуются в соответствии с уставом сайта) и т. д. :)
bzlm
3
Остынь, ребята! Как "каковы значения RoR по .NET MVC для NET-разработчика?" не вопрос? !!! Совсем не заблокирован на MVC и просто хотел узнать ответ !!
iCode

Ответы:

71

Они оба фантастичны и могут очень быстро достичь одних и тех же целей. Некоторое время назад я использовал для изучения отличную книгу, и она будет вам подойдет: Rails для разработчиков .Net

Кроме того, некоторое время назад я также написал сообщение о переходе от MVC к RoR .

Что касается сравнений, у них обоих есть сильные стороны, но вот некоторые из них, которые мне больше всего нравятся:

  • Мне действительно нравится развертывание RoR и простые способы отправки на живые сайты - никаких скриптов для запуска вообще, только небольшая часть командной строки должна помочь вам начать работу после того, как код действительно написан. Если вы выберете RoR, ПОНИМАЙТЕ КОМАНДЫ КОМАНДНОЙ СТРОКИ - это сделает вашу жизнь намного проще!

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

  • Как разработчику .Net, MVC будет проще простого, я бы рекомендовал использовать Razor, так как он очень простой и менее загроможденный, чем старый рендеринг без использования бритвы 2.0.

  • EF4 .Net можно почти напрямую сравнить с ActiveRecord RoR, отличной системой ORM для работы с данными.

  • Я обнаружил, что документация .Net является более последовательной и полной.

  • Одна проблема, с которой я столкнулся с RoR, заключалась в быстрых и радикальных изменениях; не так давно они обновились до 3.0 на моем хосте, и я не блокировал свою версию - всякие вещи ломались, пока я не разобрался с новыми вещами (я должен был заморозить свою версию).

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

наспински
источник
4
Теперь, когда ASP.NET MVC является открытым исходным кодом, мне интересно, как быстро он устранит пробел в функциях с помощью RoR. Я вкладываю свои деньги в MVC3 теперь, когда сообщество разработчиков будет иметь возможность внести свой вклад в продукт, который все еще полностью поддерживается командами инженеров MS.
Скотт
1
Не уверен насчет RoR. Если вы любитель .NET с C # MVC и Razor, но считаете MS MVC, WebAPI, WCF, EF немного громоздкими и хотите более компактное решение ... вы можете попробовать SS servicestack.net ... Это бесплатно , открытый исходный код, очень активное сообщество поддерживает .net и mono, полная замена вышеупомянутых тяжелых фреймворков. Лично мне это очень нравится :)
Том
2
Управление версиями Ruby просто и предсказуемо, если вы используете Bundler, как и должно быть.
Lilith River
31

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

Если вы считаете себя «сторонником .NET», то вам следует выучить язык, который работает совсем не так, как C #, и динамический язык, такой как Ruby, неплохое место для начала. (Другой вариант - функциональный язык, такой как Haskell, Scala и т. Д.)

После этого вы станете лучшим программистом, и вам больше не придется называть себя «.NET-парень»!

Крэйг Стунц
источник
3
Я согласен, но моя цель - создать и запустить настоящий веб-сайт как можно быстрее, а расширение кругозора не является моей главной целью прямо сейчас. Я действительно ценю изучение новых замечательных вещей, таких как Ruby, но сейчас моя цель - выбрать правильный вариант в течение ограниченного времени, которое у меня есть. И почему именно яблоки и апельсины должны стать фреймворком для веб-разработки?
iCode
3
С Rails не будет проблем с быстрым запуском реального сайта. Сделайте себе одолжение: потратьте неделю на изучение этого руководства, прежде чем вы решите, что это повредит вашему времени выхода на рынок. Риск только в том, что ты чему-нибудь научишься! Причина, по которой они «яблоки и апельсины», заключается в том, что они работают по-разному, работают на разных платформах и т. Д. У них общая архитектура MVC, и явно существует большое влияние - в основном в одном направлении - но они очень разные миры. Это может быть огромная разница.
Craig Stuntz
Отлично, спасибо. Я так и сделаю. Не могли бы вы еще прокомментировать, что можно получить с помощью Rails, доступного в .MVC, с практической точки зрения, учитывая, что вы использовали оба?
iCode
6

Не разработчик RoR, но я использую Django и думаю, что тот же вопрос можно задать и для Django. Что мне больше всего нравится в Django по сравнению с ASP.NET MVC, так это то, что Django уже поставляется с ORM. Это означает, что большинство примеров кода, которые вы найдете в Интернете, будут следовать аналогичному шаблону. С ASP.NET MVC вы можете выбирать из множества различных ORM, что может быть хорошо, но также может вызвать путаницу.

Как сказал @Craig, это действительно яблоки против апельсинов. Я бы выбрал ASP.NET MVC, если мне нужно было развернуть его в стеке MS, и использовал бы Django для «личных» проектов или проектов, которые требовали его развертывания в Linux.

Al W
источник
3
Никогда раньше не использовал Django. Я парень Rails и .NET MVC. Почти в каждом учебнике .NET MVC, который я видел, предполагается, что вы используете Entity Framework, а документация и учебные пособия на сайте ASP.NET очень хороши. Чтобы включить EF в проект MVC, вы просто набираете команду в консоли диспетчера пакетов NuGet - точно так же, как при получении гема с Rails, за исключением того, что вы получаете ссылку на сборку .net. IMHO .NET MVC с EF и Code First вместе с AppHarbor для развертывания - это самое близкое к среде Rails, которое вы можете получить.
PhillipKregg
6

Вы упоминаете в своем ответе Крейгу Стунцу, что вам нужен «правильный вариант на то ограниченное время, которое у вас есть».

Используйте mvc3 и сосредоточьтесь на изучении именно этого, а не нового языка и фреймворка одновременно. RoR великолепен, но это новый язык, фреймворк и IDE одновременно, и есть вероятность, что вы не поймете это правильно с первого раза. Я этого не сделал.

На сайте asp.net есть несколько действительно хороших руководств, которые помогут вам быстро начать работу.

Лысый
источник
2
Я тоже так думал, но я слышал, что люди говорят о том, как легко делать что-то в RoR даже для новичков, но мне интересно, это для веб-сайта Hello World или для реального производственного веб-сайта. Я знаю, что мой вопрос сложный, но что-то мне подсказывает, что RoR - это новый язык, фреймворк и IDE одновременно, как вы упомянули, и он не может быть таким быстрым при создании производственного продукта с .MVC, но я хотел знать, что такое .net опыт сообщества с этим? Я в основном хочу знать, помимо развлечения, какой смысл выбирать RoR вместо .MVC3? Спасибо
iCode