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. Он более полнофункциональный (например, может создавать индексы), и мне нравится свободный стиль.
Ответ 3
LINQPad - это ваш эквивалент консоли Rails.. см. здесь:
fooobar.com/questions/401498/...
Ответ 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
.
Модели действительно по-прежнему называются "Модели", а в ASP.NET MVC, если вы используете LINQ-To-SQL, модель создается для вас при перетаскивании таблиц базы данных. Вы можете использовать шаблон репозитория для доступа модель базы данных.
- Контроллеры (InheritedResources)
Контроллеры все еще называются контроллерами.
- Виды (макеты, шаблоны, частичные)
Существуют разные типы движков просмотра, но тот, который поставляется с ASP.NET MVC, должен хорошо работать.
Я предполагаю, что вы имеете в виду IDE/Debugger? Вы можете создавать и отлаживать приложение ASP.NET MVC внутри Visual Studio.
- Контрольные единицы/характеристики
Вы можете использовать NUnit, или вы можете использовать MSUnit. MSUnit уже интегрирован с Visual Studio, но NUnit может быть.