ASP.NET MVC для разработчиков на Ruby on Rails? - PullRequest
10 голосов
/ 17 февраля 2010

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

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

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

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

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

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

Ответы [ 4 ]

8 голосов
/ 17 февраля 2010

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

  • Генераторы - Существуют различные средства генерации кода, но каждый предназначен для отдельной части. Например, вы можете получить MyGeneration, который будет генерировать код на основе базы данных.
  • Gems / Plugins - Нет объединяющей системы для этого; Компоненты можно найти в Интернете, и вы должны загрузить исходный код или 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; Еще раз вы можете написать их. Мастер-страницы позволяют получить одинаковую общую компоновку на всех ваших страницах (включая общий колонтитул и т. Д.), А веб-элементы управления (файлы .ascx) - частичное представление.
  • Rails Console - я не знаю точно, что это дает (я - разработчик .net, заинтересованный в изучении Rails, но пока не потратил много времени); Visual Studio позволяет отлаживать приложения, проходить через код и т. Д. Я не думаю, что есть какие-либо консоли, доступные для тестирования кода, кроме написания, компиляции и запуска кода.
  • Тестовые единицы / спецификации - Есть несколько тестовых сред для .Net (MS включает в себя платформу, NUnit является одной из альтернатив). Спецификации и тому подобное, возможно, поищите в Google Behavior Driven Design и посмотрите, что существует.
5 голосов
/ 22 июня 2010

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

2 голосов
/ 23 февраля 2012

LINQPad - это ваш эквивалент Rails Console .. смотрите здесь: https://stackoverflow.com/a/9403457/1029644

0 голосов
/ 17 февраля 2010

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

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

  • Генераторы

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

  • Gems / Plugins

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

  • Базы данных

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

  • Миграции

  • Маршруты

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

  • Модели (ORM)

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

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

Контроллеры по-прежнему называются контроллерами.

  • Представления (макеты, шаблоны, частичные)

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

  • Rails Console

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

  • Тестовые единицы / характеристики

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...