Будущее ASP.NET и Visual Studio для веб-разработчиков Владимир Юнев Microsoft Содержание • ASP.NET Web Forms 4.5 – ответ на ваши запросы • ASP.NET MVC 4 и тренды мобильного веба • Visual Studio 11 – что нового удобного для работы с веб-проектами? Ответ на ваши запросы ASP.NET WEB FORMS 4.5 Разработчики голосовали, мы услышали! • 23 из TOP 25 запросов ASP.NET User Voice были реализованы http://aspnet.uservoice.com/ Ваши запросы: • Web Forms: – – – – Поддержка возможностей Async (С#5) Улучшить привязку данных в представлении (как в MVC) Ненавязчивый JavaScript (как в MVC) Поддержка шаблонов jQuery • Среда разработки: – Поддержка Intellisense внутри <% %> – Поддержка тегов HTML5 – Поддержка работы с цветами • Производительность: – – – – Потребление памяти в ASP.NET Старт ASP.NET-проекта Среды разработки Компиляции Ваши запросы (продолжение): • Редактор: – – – – – – Поддержка инкрементальной публикации баз данных Совместимость проектов между VS2010 и VS11 Targeting для разных версий Web Forms Шаблоны мобильных веб-приложений Публикация в Azure IIS Express по умолчанию • Улучшить провайдеры: – Улучшить Membership Providers – Поддержка Azure • JavaScript и CSS: – Intellisense в рамках всего проекта – Автоматическая минификация и упаковка – Фокус на jQuery Строгая типизация в элементах управления • Вместо Eval и Bind => ModelType и элемент Item • Для двусторонней связи используется BindItem • Поддерживается экранирование значений Отложенная валидация запросов • Отложенная валидация - новое поведение – Валидация происходит только в момент доступа к значению параметра запроса (формы) • Поддержка запросов без валидации – новая коллекция Unvalidated Интеграция с Anti-XSS • • • • • System.Web.Security.AntiXss Защита от XSS-атак промышленного уровня Продвинутое экранирование Черные и белые списки, учет локализации и т.д. Открытый исходный код (Ms-PL) – http://wpl.codeplex.com/ Ненавязчивый JavaScript при валидации • Значительно снижает количество JS-кода на странице – Управлять глобально можно через параметр в web.config и новое статическое свойство ValidationSettings.UnobtrusiveValidationMode – Локально для страницы управляется через новое свойство UnobtrusiveValidationMode HTML5 • Элемент TextBox теперь поддерживает HTML5-значения TextMode: email, datetime, … • FileUpload поддерживает HTML5-возможности браузеров для загрузки нескольих файлов • Элементы валидации и UpdatePanel поддерживают HTML5-элементы ввода • Подноценная поддержка runat=“server” для новых тегов (<video runat="server" src="~/myVideo.wmv" />) Упаковка и минификация JavaScript и CSS • Минифицирует файлы JavaScript и CSS – уменьшется размер необходимый для загрузки • Комбинирует несколько файлов в один – уменьшается число запросов к серверу • API для расширения сторонними минификаторами • Автоматическая упаковка: • Вы можете управлять процессом через методы класса Bundle Новые асинхронные возможности • Асинхронное чтение и запись HTTP-запросов и ответов: – длительные HTTP-ответы (клиент с узким каналом) не будут занимать системные потоки • Поддержка async/await для написания асинхронных модулей и обработчиков – HttpTaskAsyncHandler вместо явной реализации IHttpAsyncHandler Поддержка Websockets • Новый стандарт коммуникаций (W3C & IETF) – Низкая латентность – Низкая нагрузка на сеть • Клиент: IE10, .NET • Сервер: ASP.NET, WCF, IIS (vNext) • ASP.NET endpoint: – Любой модуль или обработчик – Поддержка async в модулях и обработчиках позволяет работать с вебсокетами полностью асинхронно • Примеры приложений: – Индексы акций, чаты, интерактивные игры Быстрый старт ASP.NET • Холодный старт на 35% быстрее – Поддержка многоядерности в JIT • Использование функции pre-fetch в Windows Server 8 • Улучшена работа сборщика мусора, оптимизации использования памяти • Другие улучшения производительности Разделение сборок через симлинки • Цель: одна сборка для всех веб-проектов на сервере (хостинг-сценарии) • Результат: – использование одной dll для всех проектов – увеличение скорости загрузки – уменьшение используемой памяти • Использование механизма симлинков ФС (Symbolic links) через новый инструмент aspnet_intern ASP.NET Web Forms 4.5 ДЕМО Тренды мобильного веба ASP.NET MVC 4 Современные тренды Вчера и сегодня: мобильные браузеры • 1000% рост использования мобильных браузеров • 7% посещений совершено с мобильных устройств (с) http://blog.kissmetrics.com/mobile-mania Завтра: мобильный интернет • Мобильный интернет обойдет десктопный уже в 2014 году (с)http://tag.microsoft.com/community/blog/t/the_growth_of_mobile_marketing_and_tagging.aspx Мобильный интернет и коммерция • на 85% больше посещений при наличии мобильной версии • 51% посетителей предпочтут магазин с мобильной версией (с) http://blog.kissmetrics.com/mobile-mania Мобильный интернет сегодня • только 21.9% сайтов из TOP 500 оптимизировано • только 4.8% онлайнмагазинов оптимизировано (с) http://blog.kissmetrics.com/mobile-mania Мобильный веб: два подхода Подход: один сайт для всех устройств плохо хорошо Решение в стандартах HTML5/CSS3 • Использование CSS3 Media Queries в Visual Studio и ASP.NET Подход: отдельная мобильная версия десктоп-версия мобильная версия Создание мобильной версии • Использование специальных шаблонов Visual Studio и встроенных UI-библиотек (jQuery UI) ASP.NET MVC 4 ДЕМО Нововведения для веб-разработчиков VISUAL STUDIO 2011 Smart tasks в редакторе Сниппеты HTML5 • Автодополнение тегов HTML5 • Автореализация кроссбраузерного представления: Extract to user control Intellisense в <% %> Автоперименование закрывающегося тега Генерация обработчиков событий Работа с JavaScript • Выделение регионов • • • • Подсветка завершающей кавычки Go to Definition Поддержка ECMAScript5 DOM IntelliSense с поддержкой элементов HTML5 (например, canvas) Редактор CSS • Автодополнение по начальным буквам • Автоотступы при иерархии (отключется) Редактор CSS • Поддержка хаков CSS • Поддержка вендор-префиксов Редактор CSS • Color picker Снипетты в CSS-редакторе • С поддержкой автогенерации вендор-префиксов • С поддержкой параметров: Регионы в редакторе CSS Рецепты • Расширение функций GUI Visual Studio при работе с проектами MVC 4 Page Inspector • Новый функционал Visual Studio 2011 Улучшение Visual Studio 11, рецепты и Page Inspector ДЕМО ИТОГИ Итоги • Microsoft внимательно слушает ваше мнение, ваш голос решает • Мобильный веб – современный тренд веб-разработки • ASP.NET отвечает на ваши запросы и следует самым важным современным трендам • Visual Studio 11 станет еще удобнее и функциональнее для веб-разработчика Анонс! • Апрель 2012, город Самара: – – – – – – Крупнейшее региональное мероприятие Microsoft Целиком для веб-разработчиков 2 потока, 14 докладов, 500+ участников Эксперты компании и представители сообщества IIS, ASP.NET, CMS, Visual Studio, Windows Azure Вход бесплатный • Официальный анонс и детали уже скоро Анонс! • Скотт Хансельман будет ключевым спикером конференции DevCon’12 • Конференция DevCon: – Летом, два дня загородом в доме отдыха, природа, полный пансион и море информации – Регистрация уже открыта, до 13 февраля самая низкая цена на билеты – http://msdevcon.ru/ • Будет круто! Всем спасибо! Ваши вопросы • Владимир Юнев – Microsoft, эксперт по технологиям веб-разработки • Давайте общаться: – – – – – vyunev@microsoft.com Blog: blogs.msdn.com/b/vyunev @XaocCPS facebook.com/yunev Skype: vladimir.yunev