roman zdebskiy - client vs. browser

47
Вымирают ли клиентские приложения? Браузер против клиента! Роман Здебский Руководитель группы экспертов Microsoft Россия http://blogs.msdn.com/roman

Upload: andrew-mayorov

Post on 15-Jun-2015

994 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Roman Zdebskiy - Client vs. Browser

Вымирают ли клиентские приложения? Браузер против клиента! Роман Здебский

Руководитель группы экспертовMicrosoft Россия

http://blogs.msdn.com/roman

Page 2: Roman Zdebskiy - Client vs. Browser

Не холивор!

Page 3: Roman Zdebskiy - Client vs. Browser

Задачи доклада

Разобрать ситуацию с технической точки зренияУпростить принятие архитектурных решенийУпростить общение с заказчикамиРазрушить основу для холивораДать возможность эффективно заниматься делом

Page 4: Roman Zdebskiy - Client vs. Browser

О чем этот доклад

Анализ проблемы и её источниковРазвитие технологий – ретроспективаОбзор современных технологий

HTML/БраузерRIAТолстые клиентаУстройства

Архитектурный разбор спектраЧто меняет HTML 5

Page 5: Roman Zdebskiy - Client vs. Browser

Технологический выбор 10 лет назад

Windows приложение

Win32/WinForms

Web приложение

DHTML

Богатствоклиентской библиотеки

Page 6: Roman Zdebskiy - Client vs. Browser

Технологии Windows клиента

DirectX => Managed DirectXПроизвольная визуализация

Win 32 Native => WinFormsОриентация на элементы управления OS

Page 7: Roman Zdebskiy - Client vs. Browser

DHTML

Page 8: Roman Zdebskiy - Client vs. Browser

Веб-клиент

Десктоп-клиент

Offline

Интерактив-ность

Функцио-нальность

Установка и

обновление

Кросс-платфор-менность

Выбор меньшего из зол

Page 9: Roman Zdebskiy - Client vs. Browser

Windows приложения

Win32/WinForms

Web приложенияDHTML

% приложений

Время

Черно-белый спектр

Page 10: Roman Zdebskiy - Client vs. Browser

Возникли стереотипы

Page 11: Roman Zdebskiy - Client vs. Browser

Windows приложение Web приложение

СУБДСУБД

UI – ASP.NETUI – WinForms

Бизнес-логика Бизнес-логика

Доступ к данным Доступ к данным

UI с перемешанной бизнес логикой

и доступом к данным

UI с перемешанной бизнес логикой

и доступом к данным

Архитектура

Web приложение = правильная многоуровневая архитектура

Page 12: Roman Zdebskiy - Client vs. Browser

Источник: http://www-mit.w3.org/2007/Talks/webinar-de/mobilecrazy.png

Эффективность работы

User Experience = Дизайн

Page 13: Roman Zdebskiy - Client vs. Browser

Новые технологические реалии

Page 14: Roman Zdebskiy - Client vs. Browser

Новый мир

Растет мощность компьютеровРастет мобильность пользователейВозникают новые типы устройств«Пользоваться компьютером должно быть не сложнее, чем холодильником»Все больше веб-сервисов

Page 15: Roman Zdebskiy - Client vs. Browser

Интерактивные интерфейсыПланшетыSurfaceTouchРазвитие графического аппаратного обеспечения

PC Gaming market worldwide in billions of $US dollars.(Source: Jon Peddie Research PC Game Market report) November 18, 2008

Новые технологии

Page 16: Roman Zdebskiy - Client vs. Browser

Windows приложения

Win32/WinForms

Web приложенияDHTML

% приложений

Время

Черно-белый спектр

Page 17: Roman Zdebskiy - Client vs. Browser

RIA

Время

Устройства

Расширения OfficeWindows

приложения Win32/WinForm

s

Web приложенияDHTML

Богатствоклиентско

й библиотек

и

AJAX

% приложений

Полный спектр

HTML 5

Page 18: Roman Zdebskiy - Client vs. Browser

Важный фактИнтернет != браузерСовременные приложения вне зависимости от типа используют веб-сервисы

Веб-сервер

Толстый клиент

ПланшетТелефон

Браузер

Page 19: Roman Zdebskiy - Client vs. Browser

Что происходит на самом деле Сервер (сервис)Устройство (клиент)

Веб-серверБраузер

Windows Native (*.exe)

HTMLAJAX

Файл-сервер

PC

HTTP

SMB, copy, reinstall

Разворачивание и обновление

Устройства

RIA

Page 20: Roman Zdebskiy - Client vs. Browser

стройная архитектура +

современная платформа

= доступность всего

спектра

Page 21: Roman Zdebskiy - Client vs. Browser

СУБД

ASP.NET Dynamic Data

Entities– Бизнес логика

Entity Framework - Доступ к данным

ADO.NET Data Service

Архитектурный подход

Browser Любая визуализация из спектра через

WEB!

Page 22: Roman Zdebskiy - Client vs. Browser

Асинхронная работа на стороне браузераПоддерживают все основные браузерыСерверная платформа - ASP.NET WebForms

или ASP.NET MVCУдобная модель разработкиВозможности визуализации ограниченны стандартами W3C.Кроссплатформенность и кроссбраузерность

Технологии разработки на основе HTML / AJAX

Page 23: Roman Zdebskiy - Client vs. Browser

Демонстрация

Page 24: Roman Zdebskiy - Client vs. Browser

Использование веб-модели распространения и обновления

Но мощи и визуализации клиента

Может работать в offline изапускаться вне браузера

Интерактивные интернет приложения – RIA

Page 25: Roman Zdebskiy - Client vs. Browser

Что происходит на самом деле Сервер (сервис)Устройство (клиент)

Веб-серверБраузер

Windows Native (*.exe)

HTMLAJAX

Файл-сервер

PC

HTTP

SMB, copy, reinstall

Разворачивание и обновление

Устройства

Веб-серверRIA

Браузер + HTTP

Контейнер(*.xap)

Page 26: Roman Zdebskiy - Client vs. Browser

СУБД

ASP.NET Dynamic Data

Entities– Бизнес логика

Entity Framework - Доступ к данным

ADO.NET Data Service

Архитектура демонстрации

Silverlight в Browser

Page 27: Roman Zdebskiy - Client vs. Browser

Демонстрация

Page 28: Roman Zdebskiy - Client vs. Browser

Максимальные возможности визуализации

Windows Presentation FoundationПолное абстрагирование визуализации отповеденческой моделиДекларативная визуализация с инструментированием (вовлечение дизайнера)Векторная отрисовка с аппаратным ускорением через DirectXБесшовная интеграция с DirectXWinForms ineropИнтеграция с XNA (будущее)Работа через Browser IE и FireFox

Аппаратное ускорение

Медиа-сценарии

Векторы Растр

Текст

3D

Видео

Гибкая визуализация

Различные форм-факторы

Page 29: Roman Zdebskiy - Client vs. Browser

СУБД

ASP.NET Dynamic Data

Entities– Бизнес логика

Entity Framework - Доступ к данным

ADO.NET Data Service

Архитектура демонстрации

WPF-приложение

Page 30: Roman Zdebskiy - Client vs. Browser

Демонстрация

Page 31: Roman Zdebskiy - Client vs. Browser

В корпоративной средеActive Directory Software Distribution PoliciesSystem Center Configuration Manager

В web и корпоративной среде

ClickOnceНа машинах без .NET Framework 3.0 – Windows XP

Client Profile

Установка и обновление

Page 32: Roman Zdebskiy - Client vs. Browser

ClickOnce

Демонстрация

Page 33: Roman Zdebskiy - Client vs. Browser

Что происходит на самом деле Сервер (сервис)Устройство (клиент)

Веб-серверБраузер

Windows Native (*.exe)

HTMLAJAX

Файл-сервер

PC

HTTP

SMB, copy, reinstall

Разворачивание и обновление

Веб или файл сервер

Click Once, HTTP

Устройства

.NET executable

Веб-серверRIA

Браузер + HTTP

Контейнер(*.xap)

Page 34: Roman Zdebskiy - Client vs. Browser

Расширение функционала приложений Microsoft Office

Использование очень богатого готового функционалаЗнакомая среда - снижение затрат на обучение пользователейШирокое распространение офисных приложений как готовой платформы для ваших приложенийСущественное упрощение разработки с каждой версией Visual Studio

Microsoft Office как готовый компонент для ваших приложений

Page 35: Roman Zdebskiy - Client vs. Browser

СУБД

ASP.NET Dynamic Data

Entities– Бизнес логика

Entity Framework - Доступ к данным

ADO.NET Data Service

Архитектура демонстрации

-приложение

Page 36: Roman Zdebskiy - Client vs. Browser

Демонстрация

Page 37: Roman Zdebskiy - Client vs. Browser

Устройства – максимальное использование возможностей железаИнтерфейс адаптированные под

размер экранаЗапуск локальноСкорость и интерактивностьВзаимодействие с облачными сервисамиSilverlight for Windows Phone

Page 38: Roman Zdebskiy - Client vs. Browser

Демонстрация

Page 39: Roman Zdebskiy - Client vs. Browser

Что происходит на самом деле Сервер (сервис)Устройство (клиент)

Веб-серверБраузер

Windows Native (*.exe)

HTMLAJAX

Файл-сервер

PC

HTTP

SMB, copy, reinstall

Разворачивание и обновление

Веб или файл сервер

Click Once, HTTP

Веб-серверУстройст

ва

Marketplace, HTTP

Контейнер(*.xap)

.NET executable

Веб-серверRIA

Браузер + HTTP

Контейнер(*.xap)

Page 40: Roman Zdebskiy - Client vs. Browser

RIA

Время

Устройства

Windows приложения

Win32/WinForms

Web приложенияDHTML

Богатствоклиентско

й библиотек

и

AJAX

% приложений

Полный спектр

HTML 5

XAML

Расширения Office

Page 41: Roman Zdebskiy - Client vs. Browser

Роль HTML 5

Увеличение пространства стандартизованной визуализацииПолная поддержка со стороны технологий MicrosoftДолжен быть стабильным и соблюдаемым стандартом

Page 42: Roman Zdebskiy - Client vs. Browser

Windows Browser

OBA WPFSilver-light

offline

Silver-light

AJAX +

DHTML

HTML

Богатство клиентского runtime

Windows PC

WPF Browser apps

Browser

Mobile Phone

Windows Phone/Communicator

XBOX/

Zune

XNA

MAC OS, LINUX

Платформы и технологии

HTML 5

Page 43: Roman Zdebskiy - Client vs. Browser

Вопрос «Клиент или браузер» больше так не ставится, это слишком ограниченноТехнология реализации пользовательского интерфейса – оптимальный выбор для каждого сценарияПравильная архитектура и инструменты = залог доступности всех платформ

Выводы

Page 44: Roman Zdebskiy - Client vs. Browser

Что будет с традиционными клиентскими приложения и операционными системами, которые мы сейчас знаем?Развитие программного

обеспечения, максимально использующего возможности современных устройств

Page 45: Roman Zdebskiy - Client vs. Browser
Page 46: Roman Zdebskiy - Client vs. Browser

Холиворам – нет!

Нам нужен браузер для легких приложенийНам нужны RIA для более мощных приложений с моделью распространения через webНам нужны мобильные клиенты для устройств (смартфоны/планшеты)Нам нужны Windows/Office клиенты для максимальной продуктивности при создании контентаHTML5 – растет зона стандартизации, но и растет зона инноваций

Page 47: Roman Zdebskiy - Client vs. Browser

Вопросы?