![image](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg11.imageshack.us%2Fimg11%2F1086%2Faspnetmvc3.png%22)
В этом документе представлено общее представление о наполнении функциями следующей версии ASP.NET MVC 3. Мы будем постоянно обновлять эту статью по мере каждого нового выпуска тестовой версии ASP.NET MVC 3.
ASP.NET MVC 3
Сейчас, после того как выпущен финальный релиз ASP.NET MVC 2, самое время планировать следующий выпуск ASP.NET MVC 3. Этот документ будет пополняться дополнительной информацией по мере нашего продвижения в процессе планирования.
Ниже представлен список некоторых высокоприоритетных областей на которых мы хотим сфокусироваться:
- продуктивность – ASP.NET MVC 3 должен предлагать разработчикам приложений больше возможностей быть продуктивными при построении web-приложений:
- вспомогательные методы основанные на задачах (Tasked based helpers) – эти вспомогательные методы будут сфокусированы на задача, которые часто встают перед разработчиком при разработке web-приложений, например, добавление CAPTCHA на сайт или использование таблиц с пагинацией и сортировкой данных;
- улучшения в валидации – поддержка по возможности большего количества атрибутов валидации, таких, например, как представленные в ASP.NET 4 и других, таких как атрибут валидации email;
- опции движка представлений (View Engine Options) – мы экспериментируем с новым изящным синтаксисом движка представлений, кроме того, работаем над тем, чтобы сделать внедрение сторонних движков в проекты, вроде Spark, более простым;
- утилиты командной строки – так как мы добавили ряд инструментов в Visual Studio для работы с ASP.NET MVC, мы хотим предложить альтернативные инструменты с той же функциональностью для командной строки.
- Ajax – современные приложения используют Ajax для создания богатого функционала для своих пользователей. ASP.NET MVC 3 должен позволяет строить такие приложения более просто:
- больше вспомогательных Ajax-методов – новые вспомогательные Ajax-методы позволят использовать вспомогательные библиотеки, таким как jQuery UI для предоставления виджетов таких как: календарь, выбор даты, автозаполнение и т.д.;
- обновление нескольких частей страницы (Multiple Partial Updates) – текущие вспомогательные Ajax-методы, такие как Ajax.BeginForm и Ajax.ActionLink позволяют обновлять только один элемент на странице после получения куска разметки с ответом на запрос. Поддержка обновлений нескольких частей страницы позволит Ajax-методам получать в ответ на запрос несколько кусков разметки и обновлять несколько частей страницы за раз;
- поддержка шаблонов на стороне клиента (Client Templates Support) – шаблоны на стороне клиента позволят вам форматировать и отображать одиночные данные или набор элементов данных с использованием фрагмента HTML. ASP.NET MVC 3 позволит подключать шаблоны на стороне клиента к JSON-данным, которые возвращаются при вызове методов действий.
- архитектура – ASP.NET MVC 3 будет содержать архитектурные улучшения, которые позволят разработчикам получить новые преимущества, например, улучшенную расширяемость, которая позволит подстраивать фреймворк под себя:
- dependency injection на всех уровнях – мы рассматриваем возможность предложить применение dependency injection во время инстанцирования компонентов фреймворка. Это позволит разработчикам перехватывать события вроде: создания моделей во время связывания модели, фильтров действий и т.д.;
- фабрика контроллеров на базе MEF – MEF – это новая библиотека в .NET предназначенная для построения инкрементально-расширяемых приложений, которые расширяются без необходимости собственной модификации. Использование MEF внутри фабрики контроллеров по умолчанию позволит осуществлять сценарии расширяемости из коробки, сохраняя возможность использования сторонних DI-фреймворков;
- скафолдинг в приложениях – скафолдинг позволяет быстро добавлять в приложения сценарии для Создания, Чтения, Обновления и Удаления данных на основе моделей, что является точкой быстрого старта для получения данных в приложении во время разработки.
- производительность – как и обычно, мы ищем способы сделать ASP.NET MVC 3 очень быстрым:
- улучшенная поддержка кэширования – позволит кэшировать результаты вызовов RenderAction. Кроме того, мы рассматриваем возможность реализации типа кэширования “кэширование бублика” (donut caching — кэшируется все кроме какой-то части страницы – прим. перев.) и “кэширование дырки от бублика” (donut hole caching — кэшируется только какая-то часть страницы – прим. перев.);
- больше контроля над сессией – поддержка состояний сессии, а так же включение или выключения состояния сессий для отдельных действий или целых контроллеров.
Runtime
ASP.NET MVC 3 получит зависимость от среды исполнения ASP.NET 4 и будет поставляться с шаблонами к Visual Studio 2010.