ASP.NET MVC - это жизнеспособно для небольших веб-нарядов? - PullRequest
11 голосов
/ 12 января 2009

Я работаю в небольшом веб-сайте компании (пара программистов, пара дизайнеров). В настоящее время мы используем проекты веб-сайтов ASP.NET - это позволяет мне легко разбирать программы на моем локальном компьютере, в то время как дизайнеры работают непосредственно на сервере разработки, а компиляция «на лету» позволяет им видеть любые изменения. сделано без необходимости компилировать и развертывать сайт (и все это связано с SVN).

Я бы хотел начать использовать ASP.NET MVC практически по всем причинам, которые отличают его от веб-форм (логические URL-адреса, отсутствие представления состояния, больший контроль над HTML, модульное тестирование и т. Д.), Но не хочу усложнить процесс разработки, поэтому:

  • Какие-либо причины, по которым вы не можете настроить веб-сайты MVC в качестве проектов веб-сайтов вместо приложений, чтобы их не нужно было явно компилировать в процессе разработки? (Все наши «живые» сайты используют проекты веб-компиляции).
  • Будет ли это по-прежнему разрешать юнит-тестирование?
  • Есть ли другой способ, позволяющий дизайнерам разрабатывать сайты MVC так же, как они это делают в настоящее время? Примечание. Они используют Dreamweaver, поэтому сервер разработки Cassini отсутствует.

Может кто-нибудь посоветовать с любым из вышеперечисленного (даже если только сказать мне, что мой процесс разработки не имеет смысла ..:)

Спасибо.

Ответы [ 3 ]

5 голосов
/ 12 января 2009

ASP.NET MVC - отличная платформа, независимо от типа проекта. Если вы уже понимаете основы HTTP и то, как на самом деле работают веб-сайты, ASP.NET MVC станет тем, чего не хватает в вашей жизни. Если вы привыкли к модели обратной передачи веб-форм ASP.NET, поначалу это будет немного сложнее понять, но ее очень легко понять. Это в основном модель без гражданства. Вашему контроллеру даны некоторые параметры, он записывает некоторый HTML ... конец истории до следующего запроса.

  • Я так не думаю, и я думаю, что причина этого состояла в том, чтобы разрешить развертывание bin-проектов ASP.NET MVC. Вы можете публиковать приложение ASP.NET MVC прямо из Visual Studio 2008 без конечного сервера, даже не имея сведений о ASP.NET MVC, если в нем есть ASP.NET 3.5 (с пакетом обновления 1, я думаю)
  • ASP.NET MVC - это все о модульном тестировании, он чрезвычайно гибок в этом вопросе, и даже некоторые конструктивные решения, лежащие в основе ASP.NET MVC, основаны на возможности модульного тестирования своего кода. Скотт Гатри специально называет модульное тестирование в последней версии ASP.NET MVC (бета) http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx#six
  • Любые элементы управления, которые работают с ASP.NET WebForms, будут работать с ASP.NET MVC, если они не зависят от обратной передачи. Если это так, то вы не можете использовать этот элемент управления / код.

MVC - это проверенный шаблон дизайна для веб-сайтов, и даже тот, на котором вы разместили свой вопрос, основан на ASP.NET MVC и был создан всего несколькими людьми и теперь поддерживается 1 (одним) человеком (скоро будет 2). Я в настоящее время использую это для 3 частных проектов, и я люблю это. Я видел свет, и я никогда не вернусь к WebForms.

Ресурсы:

НТН!

5 голосов
/ 12 января 2009

Раньше я был разработчиком ASP.NET. Недавно я начал разрабатывать с Django и делать это с другим разработчиком удаленно через SVN. Я считаю, что инфраструктуры MVC делают небольшие проекты еще проще, а крупные проекты гораздо менее болезненными, чем это делал oldschool ASP.NET.

Шаблоны гораздо проще контролировать и стилизовать, чем веб-элементы управления в ASP.NET. Разделение логики (помимо методологии выделения кода) облегчает одновременную работу над несколькими частями сайта несколькими пользователями. RESTful-дизайн, сосредоточенный вокруг действий, начинает приобретать больше смысла после того, как ему приходится достаточно долго заниматься проблемами жизненного цикла страниц ASP.NET. Кроме того, маршрутизация на основе URL-адреса и возможность обратного поиска означает меньшее количество жестко закодированных ссылок в вашем коде, проще добавлять новые разделы на ваш сайт и т. Д.

Чтобы ответить на некоторые ваши вопросы:

  • Я не уверен насчет компиляции в реальном времени, но достаточно просто написать несколько простых инструментов развертывания для автоматизации этого процесса.
  • Модульное тестирование часто проще в среде MVC благодаря действиям в контроллерах, которые намного лучше разделяют логику.
  • ASP.NET MVC позволяет использовать веб-формы в качестве языка шаблонов по умолчанию, но я бы посоветовал взглянуть на более чистые языки шаблонов, такие как NVelocity. Любая HTML-ориентированная система шаблонов будет лучше, чем веб-формы, потому что трудно укротить и стилизовать даже простые аспекты веб-элементов управления.
1 голос
/ 12 января 2009

Этот сайт использует MVC. Я думаю, что команда StackOverflow квалифицируется как небольшой магазин. Хотя у них большой опыт. Тем не менее, учитывая, сколько людей задействовано (несколько) и количество серверов, да, это мало. И это работает очень хорошо, на мой взгляд.

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