ASP.NET MVC для разработчиков Ruby on Rails?

Долгое время люркер, первый раз плакат. Я - самоучитель, который научился Ruby on Rails. На работе мне разрешили работать с веб-приложением - единственный улов, который я должен использовать ASP.NET. Этот выбор технологии задан, насколько я бы предпочел использовать Rails.

Есть десятки книг "Rails для .NET/PHP/Java Developers" и сообщений в блогах, но я не нашел движения в обратном направлении, от Rails до .NET.

Может кто-нибудь, пожалуйста, дайте мне обзор того, как типичное приложение Rails переведет на ASP.NET MVC? Я буду исследовать детали IDE, С#/VBscript и т.д. Но каковы возможные эквиваленты:

  • Генераторы
  • Драгоценные камни /Plugins
  • Базы данных
  • Миграция
  • Маршруты
  • Модели (ORM)
  • Контроллеры (InheritedResources)
  • Виды (макеты, шаблоны, частичные)
  • Консоль Rails
  • Контрольные единицы/характеристики
  • и т.д.. все, что я забываю

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

Большое вам спасибо!

Ответ 1

Я думаю, что вы найдете в мире .Net, что у вас есть много вариантов. Rails хорош, потому что он предоставляет все эти вещи в одном месте, но, развиваясь для .Net, вам придется объединить свое решение.

  • Генераторы. Существуют различные средства генерации кода, но каждый из них предназначен для другой части. Например, вы можете получить MyGeneration, который будет генерировать код на основе базы данных.
  • Драгоценные камни/Плагины - для этого нет единой системы; Компоненты можно найти в Интернете, и вы загрузите источник или DLL, затем добавьте ссылку в свой проект в сборку (DLL).
  • Базы данных - вы можете подключиться практически ко всему; Вероятно, вы найдете руководство для MS SQL Server.
  • Миграции - я не знаю прямого метода для этого в мире .net; Обычно я пишу SQL-код в SQL и запускаю скрипты на сервере вручную как часть развертывания.
  • Маршруты - ASP.Net MVC включает маршруты, посмотрите в файле global.asax.cs, который генерируется при создании проекта, например.
  • Модели (ORM) - ORM для .Net не повсеместны. В составе .Net есть такие вещи, как Linq-to-sql и Entity Framework. Вне MS вы можете найти много, но я бы, вероятно, рекомендовал NHibernate.
  • Контроллеры - встроены в .Net MVC; Вы можете написать код.
  • Просмотры - встроен в .Net MVC; Еще раз вы их напишете. MasterPages позволяет получить один и тот же общий макет на всех ваших страницах (включая общий заголовок/нижний колонтитул и т.д.), Веб-элементы управления (файлы .ascx) позволяют сделать частичное представление.
  • Консоль Rails - я не знаю точно, что это обеспечивает (я разработчик .net, заинтересованный в изучении Rails, но еще не потратил много времени); Visual Studio позволяет отлаживать приложения, проходить через код и т.д. Я не думаю, что есть какие-либо консоли, доступные для проверки кода за пределами просто написания кода, компиляции и запуска его.
  • Тестирование единиц/спецификаций. Существует несколько тестовых фреймворков для .Net(в MS включена инфраструктура, NUnit - одна из альтернатив). Для спецификаций и т.д., Вероятно, для Google Behavior Driven Design и просмотра того, что существует.

Ответ 2

Существует несколько портов .NET для миграции RoR. Я использовал migratordotnet и FluentMigrator. Обе работают как ожидалось, но я предпочитаю FluentMigrator. Он более полнофункциональный (например, может создавать индексы), и мне нравится свободный стиль.

Ответ 4

Вы должны скачать Visual Studio 2008 Express и загрузить ASP.NET MVC 1.0 (я бы не загружал ASP.NET MVC 2.0 еще, потому что он только в RC. Подождите, пока он не достигнет финала 2.0).

Вы также можете проверить прохождение Nerddinner. Это очень полезно при изучении ASP.NET MVC.

  • Генераторы

Вы имеете в виду генераторы кода? Ео.

  • Драгоценные камни /Plugins

Если вам нужна функциональность, вы можете либо построить ее, либо посмотреть, существует ли для нее плагин JQuery.

  • Базы данных

Доступ к базе данных осуществляется через вашу модель.

  • Миграция

?

  • Маршруты

Маршрутизация выполняется каркасом, и вы можете добавлять маршруты в файл Global.asax.cs.

  • Модели (ORM)

Модели действительно по-прежнему называются "Модели", а в ASP.NET MVC, если вы используете LINQ-To-SQL, модель создается для вас при перетаскивании таблиц базы данных. Вы можете использовать шаблон репозитория для доступа модель базы данных.

  • Контроллеры (InheritedResources)

Контроллеры все еще называются контроллерами.

  • Виды (макеты, шаблоны, частичные)

Существуют разные типы движков просмотра, но тот, который поставляется с ASP.NET MVC, должен хорошо работать.

  • Консоль Rails

Я предполагаю, что вы имеете в виду IDE/Debugger? Вы можете создавать и отлаживать приложение ASP.NET MVC внутри Visual Studio.

  • Контрольные единицы/характеристики

Вы можете использовать NUnit, или вы можете использовать MSUnit. MSUnit уже интегрирован с Visual Studio, но NUnit может быть.