Новые возможности технологий Microsoft для разработки веб-решений


The Presentation inside:

Slide 0

Новые возможности технологий Microsoft для разработки веб-решений Гайдар Магдануров t: http://twtter.com/gaidar e: [email protected] m: +7 (905) 504 57 16


Slide 1

Серверная платформа Веб-платформа Microsoft Серверная платформа разработки Клиентская платформа разработки Портальные решения Инструменты разработки


Slide 2

Инструменты разработки WebForms MVC Framework WebMatrix Razor View Engine


Slide 3

ASP.NET MVC 3 Preview 1 выпущен 27 июля 2010 года Работает c .NET FW 4 / Visual Studio 2010 Доступен с исходным кодом на сайте CodePlex http://aspnet.codeplex.com/ Содержит порядка 50% функционала запланированного для релиза MVC 3


Slide 4

Новые возможности / Preview 1 Новый движок представления - Razor View Engine Поддержка нескольких движков представления в Visual Studio Улучшенная валидация (поддержка ASP.NET 4) Инъекция зависимостей на всех уровнях Динамические свойства ViewModel Глобальные фильтры (Action Filters) – фильтры для всех запросов к приложению Новые типы ActionResult Связывание JSON объектов


Slide 5

Движок представления Razor


Slide 6

Движок представления Razor


Slide 7

Выбор движка представления В Preview 1 только ASPX и Razor. В RTW ожидается еще несколько.


Slide 8

Улучшения валидации Поддержка новшеств .NET 4.0 Поддержка новых атрибутов, вроде DisplayAttribute ValidationAttribute поддерживает перегруженный IsValid метод, принимающий ссылку на валидируемый объект Поддержка IValidatableObject, позволяющего осуществлять валидацию на уровне модели Поддержка клиентской валидации IClientValidatable, IMetadataAware


Slide 9

Улучшения валидации IValidatableObject public class ObjectData : IValidatableObject { … public IEnumerable<ValidationResult> Validate(ValidationContext context){ … yield return new ValidationResult(…); } … }


Slide 10

Улучшения валидации IMetadataAware public class MyAttribute : Attribute, IMetadataAware { … public void OnMetadataCreated(ModelMetadata metadata){ metadata.AdditionalValues["MyString"] = myStr; } … }


Slide 11

Инъекция зависимостей Preview 1 Контроллеры (регистрация, инъекция фабрик, инъекция контроллеров) Представления (регистрация, инъекция движкой представлений, инъекция зависимостей) Фильтры (поиск и инъекция фильтров)


Slide 12

Инъекция зависимостей RTW Механизмы связывания (Model Binder) Провайдеры значений (FormValueProvider, QueryStringValueProvider и т.п.) Провайдеры валидации Провайдеры метаданных


Slide 13

Интъекция зависимостей Библиотека Common Service Locator и фреймворки, поддерживающие IServiceLocator, например Unity public interface IMyService { ... } public class MyService : IMyService { ... } public class MyController : Controller { IMyService _myService; public MyController(IMyService myService) {...} } // регистрация в Application_Start var cont = new UnityContainer(); co cont.RegisterType<IMyService, MyService>(); MvcServiceLocator.SetCurrent(new UnityMvcServiceLocator(cont));


Slide 14

Глобальные фильтры Регистрация фильтров на уровне всего приложения void Application_Start() { RegisterGlobalFilters(GlobalFilters.Filters); } void RegisterGlobalFilters(GlobalFilterCollection filters){ filters.Add(new GlobalErrorHandler()); }


Slide 15

Динамические свойства ViewModel Немного синтаксической приправы ViewModel["UserData"] = new UserData { … }; // равнозначно ViewModel.UserData = new UserData { … };


Slide 16

Новые типы ActionResult HttpNotFoundResult HttpRedirectResult (Новое свойство Permanent) HttpStatusCodeResult


Slide 17

Связывание JSON-объектов Действия контроллеров могут связывать с моделью данные JSON-объектов $('button').click(function(){ var objData = { … }; $.ajax({ url: '/Data/Update', type: "Post", data: JSON.stringify(objData), dataType: "json", … }); }); // сработает связывание с моделью void ActionResult Update(ObjectData objData){ … }


Slide 18

Планируемые возможности / RTW Улучшения Razor и интеграции инструментов с Visual Studio – UI для разных движков представлений Поддержка VBHTML Support в Razor и Visual Studio Дополнительные хэлперы – такие как CAPTCHA или Grid Расширенная поддержка кеширования – кеширование вызовов RenderAction Расширенная поддержка состояния сеанса Улучшения движка инъекции зависимостей На основании обратной связи от разработчиков Встроенные библиотеки JavaScript MVC будут переписаны на jQuery


Slide 19


Slide 20

HTML 5 Часто называют так набор HTML 5 и CSS3 Новые медиа-возможности (canvas, видео, аудио, встроенный SVG…) Поведение современных браузеров 1100 страниц черновика HTML 5


Slide 21

Поддержка стандартов Рабочая группа HTML Рабочая группа W3C Основная группа тестирования HTML 5


Slide 22

Сравнение разметки 23


Slide 23

Новый движок JavaScript “Chakra” Исходный код Парсер AST Интерпре-татор Байт-код Интерактивный процесс Фоновый процесс Компилятор Нативный код Компиляция В фоне Многопоточность


Slide 24


Slide 25


Slide 26

Основные ресурсы Сайт веб-платформы Microsoft http://www.microsoft.com/web/ ASP.NET Framework http://asp.net/mvc WebMatrix http://www.microsoft.com/web/webmatrix/ Internet Explorer 9 http://ie.microsoft.com/testdrive/


Slide 27

СПАСИБО ЗА ВНИМАНИЕ! Гайдар Магдануров t: http://twtter.com/gaidar e: [email protected] m: +7 905 504-57-16


×

HTML:





Ссылка: