Краткий обзор основных технологий разработки Web приложений
Roman Zdebskiy - Client vs. Browser
1. Вымирают ли клиентские приложения? Браузер против клиента! Роман Здебский Руководитель группы экспертов Microsoft Россия http://blogs.msdn.com/roman
3. Задачи доклада Разобрать ситуацию с технической точки зрения Упростить принятие архитектурных решений Упростить общение с заказчиками Разрушить основу для холивора Дать возможность эффективно заниматься делом
4. О чем этот доклад Анализ проблемы и её источников Развитие технологий – ретроспектива Обзор современных технологий HTML/Браузер RIA Толстые клиента Устройства Архитектурный разбор спектра Что меняет HTML 5
5. Технологический выбор 10 лет назад Богатствоклиентской библиотеки Windows приложение Win32/WinForms Web приложение DHTML
6. Технологии Windows клиента DirectX => Managed DirectX Произвольная визуализация Win 32 Native => WinForms Ориентация на элементы управления OS
11. Архитектура Web приложение = правильная многоуровневая архитектура Windows приложение Web приложение UI – ASP.NET UI – WinForms UI с перемешанной бизнес логикой и доступом к данным UI с перемешанной бизнес логикой и доступом к данным Бизнес-логика Бизнес-логика Доступ к данным Доступ к данным СУБД СУБД
14. Новый мир Растет мощность компьютеров Растет мобильность пользователей Возникают новые типы устройств «Пользоваться компьютером должно быть не сложнее, чем холодильником» Все больше веб-сервисов
15. Интерактивные интерфейсы Планшеты Surface Touch Развитие графического аппаратного обеспечения PC Gaming market worldwide in billions of $US dollars.(Source: Jon Peddie Research PC Game Market report)November 18, 2008 Новые технологии
16. % приложений Windows приложения Win32/WinForms Web приложения DHTML Время Черно-белый спектр
17. Богатствоклиентской библиотеки % приложений Расширения Office Windows приложения Win32/WinForms Устройства RIA HTML 5 AJAX Web приложения DHTML Время Полный спектр
18. Важный факт Интернет != браузер Современныеприложения вне зависимости от типа используют веб-сервисы Телефон Планшет Браузер Толстый клиент Веб-сервер
19. Что происходит на самом деле Разворачивание и обновление Сервер (сервис) Устройство (клиент) HTML AJAX HTTP Веб-сервер Браузер RIA Устройства PC SMB, copy, reinstall Windows Native (*.exe) Файл-сервер
21. Browser Любая визуализация из спектрачерез WEB! ASP.NETDynamic Data ADO.NET Data Service Entities– Бизнес логика Entity Framework - Доступ к данным СУБД Архитектурный подход
22. Технологии разработки на основе HTML / AJAX Асинхронная работа на стороне браузера Поддерживают все основные браузеры Серверная платформа - ASP.NETWebForms или ASP.NET MVC Удобная модель разработки Возможности визуализации ограниченны стандартами W3C. Кроссплатформенность и кроссбраузерность
24. Интерактивные интернет приложения – RIA Использование веб-модели распространения и обновления Но мощи и визуализации клиента Может работать в offline и запускаться вне браузера
25. Что происходит на самом деле Разворачивание и обновление Сервер (сервис) Устройство (клиент) HTML AJAX HTTP Веб-сервер Браузер Контейнер (*.xap) Браузер + HTTP Веб-сервер RIA Устройства PC SMB, copy, reinstall Windows Native (*.exe) Файл-сервер
26. Silverlightв Browser ASP.NETDynamic Data ADO.NET Data Service Entities– Бизнес логика Entity Framework - Доступ к данным СУБД Архитектура демонстрации
28. Медиа-сценарии Векторы Растр Видео 3D Текст Максимальные возможности визуализации Windows Presentation Foundation Полное абстрагирование визуализации от поведенческой модели Декларативная визуализация с инструментированием (вовлечение дизайнера) Векторная отрисовка с аппаратным ускорением через DirectX Бесшовная интеграция с DirectX WinFormsinerop Интеграция с XNA (будущее) Работа через Browser IE и FireFox Гибкая визуализация Аппаратное ускорение Различные форм-факторы
29. WPF-приложение ASP.NETDynamic Data ADO.NET Data Service Entities– Бизнес логика Entity Framework - Доступ к данным СУБД Архитектура демонстрации
31. В корпоративной среде Active Directory Software Distribution Policies System Center Configuration Manager В web и корпоративной среде ClickOnce На машинах без .NET Framework 3.0 – Windows XP Client Profile Установка и обновление
33. Что происходит на самом деле Разворачивание и обновление Сервер (сервис) Устройство (клиент) HTML AJAX HTTP Веб-сервер Браузер Контейнер (*.xap) Браузер + HTTP Веб-сервер RIA Устройства Вебили файл сервер .NET executable Click Once, HTTP PC SMB, copy, reinstall Windows Native (*.exe) Файл-сервер
34. Microsoft Office как готовый компонент для ваших приложений Расширение функционала приложений Microsoft Office Использование очень богатого готового функционала Знакомая среда - снижение затрат на обучение пользователей Широкое распространение офисных приложений как готовой платформы для ваших приложений Существенное упрощение разработки с каждой версией Visual Studio
35. -приложение ASP.NETDynamic Data ADO.NET Data Service Entities– Бизнес логика Entity Framework - Доступ к данным СУБД Архитектура демонстрации
37. Устройства – максимальное использование возможностей железа Интерфейс адаптированные под размер экрана Запуск локально Скорость и интерактивность Взаимодействие с облачными сервисами Silverlight for Windows Phone
39. Что происходит на самом деле Разворачивание и обновление Сервер (сервис) Устройство (клиент) HTML AJAX HTTP Веб-сервер Браузер Контейнер (*.xap) Браузер + HTTP Веб-сервер RIA Контейнер (*.xap) Marketplace, HTTP Веб-сервер Устройства Вебили файл сервер .NET executable Click Once, HTTP PC SMB, copy, reinstall Windows Native (*.exe) Файл-сервер
40. Богатствоклиентской библиотеки % приложений Расширения Office Windows приложения Win32/WinForms Устройства RIA XAML HTML 5 AJAX Web приложения DHTML Время Полный спектр
41. Роль HTML 5 Увеличение пространства стандартизованной визуализации Полная поддержка со стороны технологий Microsoft Должен быть стабильным и соблюдаемым стандартом
42. Богатство клиентского runtime Windows Browser HTML 5 OBA WPF Silver-light offline Silver-light AJAX + DHTML HTML WPFBrowser apps XNA Windows PC Browser Windows Phone/Communicator MAC OS, LINUX XBOX/ Zune Mobile Phone Платформы и технологии
43. Вопрос «Клиент или браузер»больше так не ставится, это слишком ограниченно Технология реализации пользовательского интерфейса – оптимальный выбор для каждого сценария Правильная архитектура и инструменты = залог доступности всех платформ Выводы
44. Что будет с традиционными клиентскими приложения и операционными системами, которые мы сейчас знаем? Развитие программного обеспечения, максимально использующего возможности современных устройств
45.
46. Холиворам – нет! Нам нужен браузер для легких приложений Нам нужны RIA для более мощных приложений с моделью распространения через web Нам нужны мобильные клиенты для устройств (смартфоны/планшеты) Нам нужны Windows/Office клиенты для максимальной продуктивности при создании контента HTML5 – растет зона стандартизации, но и растет зона инноваций