Говоря как защитник монорельсовой дороги, я должен сказать, что необходимо, вероятно, пойти для ASP.NET MVC. Честно говоря, очевидный факт, что ASP.NET MVC собирается стать архитектурой по умолчанию в течение трех лет, должен, вероятно, качать его. Это уравнение было отличающееся год назад, просто потому что архитектура по умолчанию имела серьезные проблемы производительности по сравнению с MonoRail.
, Если Вы хотите говорить технические преимущества и недостатки:
кроме того, не отклоняйте стандартный механизм представления без обсуждения. Вы не должны бросать средства управления в него как Вы, сделал с ASP.NET, можно кодировать его довольно подобным способом, чтобы Брать на гитовы, только с помощью C# вместо Шиканья.
существуют вещи, которые являются просто ужасны * количество методов, которые берут объект для параметра. Удача, находящая документацию, на какой точно, они ожидают. * Нежность Microsoft к абстрактным классам по интерфейсам. У них есть свои причины, но мне все еще не нравится он.
кроме того, во многих отношениях, MonoRail остается большим количеством комплексной платформы. Нет никакой абстракции для проверки или подкачки страниц в ASP.NET, например. Кроме того, нет действительно никакой справки для привязки к модели. У помощников есть очень мало функциональности по сравнению с их эквивалентами Монорельсовой дороги.
В целом, хотя, я думаю ASP.NET, MVC является победителем.
MonoRail и ASP.NET, MVC существенно очень похожи, необходимо быть хорошо от использования любого из них. MonoRail существовал намного дольше и имеет поэтому больше высокоуровневых функций.
основная сила ASP.NET, который MVC, это - routeing механизм, чтобы быть справедливым, что MonoRail имеет в значительной степени эквивалентный механизм маршрутизации, и с некоторой модификацией можно использовать MVC ASP.NET маршрутизация механизма с MonoRail, поскольку механизм маршрутизации не находится действительно в ASP.NET MVC, но в Системе. Сеть. Маршрутизация (Выпущенный в.NET 3,5 SP1). ASP.NET MVC и интеграция с Visual Studio также плюс и вероятно поправятся, поскольку мы приближаемся к RTM v1.
проект MvcContrib содержит некоторые механизмы прекрасного вида, как Spark, NHaml и Гитов. Никого нельзя было считать "Лучшим", любимый является Spark. Для больше на искре: http://dev.dejardin.org/documentation/syntax
механизм WebForms имеет intellisense, который является большим преимуществом, что к моему знанию всем альтернативным механизмам представления недостает.
я думаю, что MVC без труда побеждает. Его набор функций очень похож, но будет более "популярными" из двух (и таким образом обычно более широко поддерживаемый, зарегистрированный и расширенный всюду по сообществу разработчиков). Кроме того, новый ViewEngine (Бритва).. и фактор улучшений IDE в для меня и повышения значение предпочитания MVC по монорельсовой дороге, по-моему.
я использовал в значительной степени весь общий ViewEngines, но закончился, прокрутка моего собственного ( создал Проект OpenSource для него), использование потрясающего движка шаблонов StringTemplate. ST является истинным разделением проблем, IMO. Я пишу лучшие приложения в результате с НАМНОГО меньшим количеством супа тега. Я также вывел быстрый вводный и справочник , если Вы принимаете решение ударить шины на механизме. У меня была потрясающая удача на проектах, я развернул к настоящему времени использование ее. Однако Бритва (MVC 3) выглядит довольно впечатляющей.
Помимо предполагаемой популярности и поддержки со стороны Microsoft, ASP.NET MVC по-прежнему не имеет некоторых основных функций, которые уже давно имеет Monorail, таких как организация контроллера (области), собственные компоненты просмотра и фильтры, которые могут использовать Назову наиболее важные из них - IoC.
У меня есть несколько больших приложений, которые используют все эти функции, и мне было трудно перенести их на ASP.NET MVC.
Я работаю с Monorail уже несколько лет. и хотя MVC выглядит многообещающе и его гибкость потрясающая, мне все еще неприятно, что для всех остальных вещей, которые я пытаюсь сделать, оказывается, что этого нет, и мне нужно либо подключить небольшой кусочек MvcContrib, еще один фрагмент SharpArchitecture, построил сам, вы поняли. С монорельсом намного проще работать (то есть прямо сейчас).
Я ожидаю, что в ближайшие несколько месяцев ситуация улучшится, поскольку некоторые предлагаемые решения начнут восстать против других и станут более популярными. Эй, разнообразие вариантов - это хорошо, но поверьте мне, вы не хотите оказаться в стране Java 3 года назад, где было так много веб-фреймворков, что вы могли создать свой сайт, используя по одному для каждой страницы!
А пока я буду постепенно портировать свои MR-приложения в MVC, на всякий случай.