Ruby on Rails против ASP.NET MVC 3 для .NET Guy?

98

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

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

Что может предложить RoR для .NET-парня, который WORTH выбирает RoR поверх ASP.NET MVC 3? и, пожалуйста, практические советы!:)

  • 11
    Как этот вопрос не по теме или не реальный вопрос? В любом случае, я добавил тег advice на вопрос.
  • 1
    @zabba, почему? Похоже, не тег для меня.
Показать ещё 8 комментариев
Теги:
asp.net-mvc-3

4 ответа

68
Лучший ответ

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

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

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

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

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

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

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

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

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

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

  • 3
    Большие очки Спасибо.
  • 4
    Теперь, когда ASP.NET MVC с открытым исходным кодом, мне интересно, как быстро он закроет пробел в функциональности с помощью RoR. Я вкладываю свои деньги в MVC3 теперь, когда сообщество разработчиков сможет внести свой вклад в продукт, который все еще полностью поддерживается командами разработчиков MS.
Показать ещё 2 комментария
30

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

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

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

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

В своем ответе на Craig Stuntz вы указываете, что хотите "правильный вариант в течение ограниченного времени"

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

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

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню