Является ли ASP.NET MVC 3 готовым для бизнес-приложений

17

Мне нужно принять решение о новом крупном бизнес-приложении, которое мы разработаем в ближайшие годы, вопрос в том, следует ли нам начинать использовать MVC 3 или веб-формы.

Это уже обсуждалось здесь в SO, но я видел вопрос:

задан Davide Piras 25.05.2011 в 14:41
источник

3 ответа

8

Я использовал каждую версию WebForms с 1.0 beta и MVC 1, 2 и 3 и считаю, что MVC определенно готов к использованию.

Вы должны принять во внимание, что подход к развитию 2 существенно отличается:

MVC требует, чтобы вы узнали более подробные сведения о базовых веб-технологиях: HTML, CSS, JS, HTTP (которые, как я полагаю, вам все равно, если они еще не установлены в ваших навыках).

WebForms пытается абстрагировать большую часть его и может считаться более продуктивным для сбрасывания нескольких простых страниц. Но это нечеткая абстракция, и отсутствие контроля может сорвать вас, когда вы становитесь более опытными - проще в начале, если вы новичок в веб-разработке; с трудом изгибаться, когда вы приобретаете опыт. Повышение производительности начинает исчезать, когда страницы становятся более сложными. Абстракция, скорее всего, вызовет проблемы с производительностью и подорвет способность автоматизировать тестирование ваших страниц (тестирование уровня единицы и UI с помощью Selenium или эквивалентных инструментов).

Пример 1: в MVC вам, скорее всего, нужно будет понять, как обрабатываются поля формы для составления POST через HTTP с применением / form-url-encoded, иначе вы можете столкнуться с привязкой к модели. В WebForms вы можете создавать большие приложения, не беспокоясь об этом.

Пример 2: В MVC вам нужно управлять большинством состояний вашей страницы по запросам. В WebForms легко сделать фреймворк для вас.

Приложения MVC, как правило, больше полагаются на компоненты javascript на стороне клиента для повторного использования виджетов, например, привязки данных JSON. WebForms поощряет использование элементов управления на стороне сервера, так как они прекрасно интегрируются в инфраструктурные системы управления государственным оборудованием.

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

ответ дан miguelv 02.05.2012 в 00:28
источник
26
  

Готовый ASP.NET MVC 3 для бизнес-приложений

     

все абсолютно возможно также в MVC

По моему скромному мнению; Абсолютно 100% да. На самом деле, я утверждаю, что структура MVC намного светлее впереди WebForms как по функциональности, так и по производительности.

    
ответ дан Jamiec 25.05.2011 в 15:00
источник
6

Да, ASP.NET MVC 3 Razor определенно готов для бизнес-приложений. Я создаю большое веб-приложение корпоративного класса в MVC 3 Razor C #, и чем больше сложностей я бросаю в MVC и Entity Framewor, тем лучше они обрабатывают его. Позвольте мне привести пример кода. Допустим, мы хотим создать динамическую таблицу, которая смешивает HTML с кодом и данными Razor C #. Это небольшая задача, использующая веб-формы и веб-элементы управления ASP.NET.

<table>          
    <thead>
        <tr>
            <td>Date</td>
            <td>Name</td>
            <td>Price</td>
            <td>Quantity</td>
            <td>Shipper</td>
        </tr>
    </thead>
    @foreach (eStore.Models.Product p in Model.Products)
    {
        <tr>
            <td>@Html.Hidden("Date", p.Date.ToString())
                @Html.Hidden("productId", p.ProductId)
            <td><input type="submit" name="submitButton" value="@p.Name"/></td>
            <td>@Html.Label("Price", p.Price)</td>
            <td>@Html.Label("Quantity", p.Quantity)</td>
            <td>@Html.Label("Shipper", p.Shipper)</td>
        </tr>
    }
</table>

Я создал динамическую таблицу, содержащую список продуктов с кнопкой, которая может получить больше информации о каждом продукте в списке по продукту. Это потребовало минимального количества кода и усилий. Код понятен, понятен и прост в редактировании. Теперь представьте, что потребуется с обычными веб-формами и веб-элементами управления для выполнения одной и той же задачи.

Существует кривая обучения с MVC 3, но, на мой взгляд, это того стоит.

    
ответ дан wayne.blackmon 16.12.2011 в 17:17
источник