Роман Здебский Руководитель группы экспертов Microsoft Россия
Не холивор!
Разобрать ситуацию с технической точки зрения Упростить принятие архитектурных решений Упростить общение с заказчиками Разрушить основу для холивора Дать возможность эффективно заниматься делом
Анализ проблемы и её источников Развитие технологий – ретроспектива Обзор современных технологий HTML/Браузер RIA Толстые клиента Устройства Архитектурный разбор спектра Что меняет HTML 5
Windows приложение Win32/WinForms Win32/WinForms Web приложение DHTML DHTML Богатство клиентской библиотеки
DirectX => Managed DirectX Произвольная визуализация Win 32 Native => WinForms Ориентация на элементы управления OS
Веб- клиент Десктоп- клиент Offline Интерактив- ность Функцио- нальность Установка и обновление Кросс- платфор- менность
Windows приложения Win32/WinForms Web приложения DHTML % приложений Время
Windows приложение Web приложение СУБД UI – ASP.NETUI – WinForms Бизнес-логика Доступ к данным UI с перемешанной бизнес логикой и доступом к данным UI с перемешанной бизнес логикой и доступом к данным UI с перемешанной бизнес логикой и доступом к данным UI с перемешанной бизнес логикой и доступом к данным Web приложение = правильная многоуровневая архитектура
Источник: User Experience = Дизайн
Растет мощность компьютеров Растет мобильность пользователей Возникают новые типы устройств «Пользоваться компьютером должно быть не сложнее, чем холодильником» Все больше веб-сервисов
Интерактивные интерфейсы Планшеты Surface Touch Развитие графического аппаратного обеспечения PC Gaming market worldwide in billions of $US dollars. (Source: Jon Peddie Research PC Game Market report) November 18, 2008report
Windows приложения Win32/WinForms Web приложения DHTML % приложений Время
RIA Время Устройства Расширения Office Windows приложения Win32/WinForms Web приложения DHTML Богатство клиентской библиотеки AJAX % приложений HTML 5
Интернет != браузер Современные приложения вне зависимости от типа используют веб- сервисы Веб-сервер Толстый клиент Планшет Телефон Браузер
Сервер (сервис)Устройство (клиент) Веб-сервер Браузер Windows Native (*.exe) HTML AJAX Файл-сервер PC HTTP SMB, copy, reinstall Разворачивание и обновление Устройства RIA
СУБД ASP.NET Dynamic Data Entities– Бизнес логика Entity Framework - Доступ к данным ADO.NET Data Service Browser Любая визуализация из спектра через WEB!
Асинхронная работа на стороне браузера Поддерживают все основные браузеры Серверная платформа - ASP.NET WebForms или ASP.NET MVC Удобная модель разработки Возможности визуализации ограниченны стандартами W3C. Кроссплатформенность и кроссбраузерность
Использование веб-модели распространения и обновления Но мощи и визуализации клиента Может работать в offline и запускаться вне браузера
Сервер (сервис)Устройство (клиент) Веб-сервер Браузер Windows Native (*.exe) HTML AJAX Файл-сервер PC HTTP SMB, copy, reinstall Разворачивание и обновление Устройства Веб-сервер RIA Браузер + HTTP Контейнер (*.xap)
СУБД ASP.NET Dynamic Data Entities– Бизнес логика Entity Framework - Доступ к данным ADO.NET Data Service Silverlight в Browser
Windows Presentation Foundation Полное абстрагирование визуализации от поведенческой модели Декларативная визуализация с инструментированием (вовлечение дизайнера) Векторная отрисовка с аппаратным ускорением через DirectX Бесшовная интеграция с DirectX WinForms inerop Интеграция с XNA (будущее) Работа через Browser IE и FireFox Аппаратное ускорение Медиа-сценарии ВекторыРастр Текст 3D Видео Гибкая визуализация Различные форм-факторы
СУБД ASP.NET Dynamic Data Entities– Бизнес логика Entity Framework - Доступ к данным ADO.NET Data Service WPF-приложение
В корпоративной среде Active Directory Software Distribution Policies System Center Configuration Manager В web и корпоративной среде ClickOnce На машинах без.NET Framework 3.0 – Windows XP Client Profile
ClickOnce
Сервер (сервис)Устройство (клиент) Веб-сервер Браузер Windows Native (*.exe) HTML AJAX Файл-сервер PC HTTP SMB, copy, reinstall Разворачивание и обновление Веб или файл сервер Click Once, HTTP Устройства.NET executable Веб-сервер RIA Браузер + HTTP Контейнер (*.xap)
Расширение функционала приложений Microsoft Office Использование очень богатого готового функционала Знакомая среда - снижение затрат на обучение пользователей Широкое распространение офисных приложений как готовой платформы для ваших приложений Существенное упрощение разработки с каждой версией Visual Studio
СУБД ASP.NET Dynamic Data Entities– Бизнес логика Entity Framework - Доступ к данным ADO.NET Data Service -приложение
Интерфейс адаптированные под размер экрана Запуск локально Скорость и интерактивность Взаимодействие с облачными сервисами Silverlight for Windows Phone
Сервер (сервис)Устройство (клиент) Веб-сервер Браузер Windows Native (*.exe) HTML AJAX Файл-сервер PC HTTP SMB, copy, reinstall Разворачивание и обновление Веб или файл сервер Click Once, HTTP Веб-сервер Устройства Marketplace, HTTP Контейнер (*.xap).NET executable Веб-сервер RIA Браузер + HTTP Контейнер (*.xap)
RIA Время Устройства Windows приложения Win32/WinForms Web приложения DHTML Богатство клиентской библиотеки AJAX % приложений HTML 5 XAML Расширения Office
Увеличение пространства стандартизованной визуализации Полная поддержка со стороны технологий Microsoft Должен быть стабильным и соблюдаемым стандартом
Windows Browser OBA WPF Silver- light offline Silver- light AJAX + DHTML HTML Богатство клиентского runtime Windows PC WPF Browser apps Browser Mobile Phone Windows Phone/Communicator XBOX/ Zune XBOX/ Zune XNA MAC OS, LINUX HTML 5
Вопрос «Клиент или браузер» больше так не ставится, это слишком ограниченно Технология реализации пользовательского интерфейса – оптимальный выбор для каждого сценария Правильная архитектура и инструменты = залог доступности всех платформ
Развитие программного обеспечения, максимально использующего возможности современных устройств
Нам нужен браузер для легких приложений Нам нужны RIA для более мощных приложений с моделью распространения через web Нам нужны мобильные клиенты для устройств (смартфоны/планшеты) Нам нужны Windows/Office клиенты для максимальной продуктивности при создании контента HTML5 – растет зона стандартизации, но и растет зона инноваций