Михаил Галушко - Разработка WinRT приложений для Windows 8:...
Transcript of Михаил Галушко - Разработка WinRT приложений для Windows 8:...
![Page 1: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/1.jpg)
РАЗРАБОТКА WINRT ПРИЛОЖЕНИЙ
ДЛЯ WINDOWS 8: РЕАЛЬНЫЙ ОПЫТ
Михаил Галушко
DevRain Solutions
![Page 2: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/2.jpg)
![Page 3: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/3.jpg)
Что такое Windows 8
Desktop apps
WinRT apps
Windows Store
![Page 4: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/4.jpg)
Разработка для Windows 8
WPF
Silverlight
Windows Phone
Web Dev (html/css + js)
C++
![Page 5: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/5.jpg)
Windows 8
![Page 6: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/6.jpg)
WinRT
Поддержка x86, ARM
Доступен DirectX
Объектно-ориентирован
Взял многое из .NET
Асинхронный
![Page 7: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/7.jpg)
WinRT
![Page 8: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/8.jpg)
WinRT – модель работы приложения
Running
Not Running Suspended
Activated Suspending
Resuming
Terminating
![Page 9: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/9.jpg)
«Умная» многозадачность
Приложение работает пока его видит
пользователь.
Пользователь не должен замечать, что
приложение не работало.
Возможна работа в фоне в ограниченных
случаях.
![Page 10: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/10.jpg)
WinRT - изолированность
Application 1
OS Core
Application 2
Contracts
API API
![Page 11: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/11.jpg)
WinRT - контракты
Search
Share source/target
Settings
File picker
Printing
…
![Page 12: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/12.jpg)
WinRT – работа в фоне
Not Running Suspended
Application
System
Infrastructure
Triggers
Event
Register
Register
Run method
![Page 13: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/13.jpg)
WinRT – работа в фоне
Application BackgroundTask, BackgroundDownloader
Интеграция с LockScreen: IM, E-mail
![Page 14: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/14.jpg)
WinRT – хранение данных
Application
LocalFolder RoamingFolder TemporaryFolder
![Page 15: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/15.jpg)
WinRT – хранение данных
Application Настройки (key-value)
Папки и файлы
Сторонние решения: SQLite
![Page 16: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/16.jpg)
Windows Store
Application Около 7к приложений
ОЧЕНЬ быстрая сертификация, пока
Поддержка Trial-режима
In-App purchase
![Page 17: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/17.jpg)
RadControls for Windows 8 (Telerik)
Application Лучшая библиотека для Win8 / WP7 / WP8
15+ XAML/HTML компонент
$99
http://www.telerik.com/products/windows-
8/overview.aspx
![Page 18: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/18.jpg)
Essential Studio for WinRT (Syncfusion)
Application Стандартный набор компонент +
контролы для работы с Word, Excel, PDF
$99
http://www.syncfusion.com/products/winrt
![Page 19: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/19.jpg)
Metro Elements (Mindscape)
Application 17 видов Chart, DatePicker, TimePicker
Скоро будет +20 компонент
$99
http://www.mindscapehq.com/products/metroele
ments
![Page 20: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/20.jpg)
Syncfusion Metro Studio
Application 1700+ metro-иконок (PNG/XAML)
Бесплатно
http://www.syncfusion.com/downloads/metrostud
io
![Page 21: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/21.jpg)
OpenSource
Application WinRT XAML Toolkit
http://winrtxamltoolkit.codeplex.com/
Callisto
https://github.com/timheuer/callisto
+множество портированных библиотек
![Page 22: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/22.jpg)
Best practices
Application 1. Читайте гайды Microsoft
2. Учитывайте все размеры и ориентации
экранов при разработке дизайна
![Page 23: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/23.jpg)
Best practices
Application 3. Контент располагается горизонтально
4. Нижняя панель приложения: контекстные
действия, верхний – навигация (не
обязательно)
![Page 24: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/24.jpg)
Best practices
Application 5. Хорошая практика: меню заголовка
6. Навигация выполняется с помощью:
погружение через контент, меню заголовка +
кнопка назад, панель навигации
![Page 25: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/25.jpg)
Best practices
Application 7.Не смешивайте контент и действия
8.Используйте контракты: Search, Share,
Settings, FilePicker,…
9. Не дублируйте системные функции: Search
,Share, Settings, ...
![Page 26: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/26.jpg)
Best practices
Application 10. Сохранение изменений выполняется без
подтверждения пользователя (нет кнопки
«Сохранить»)
11. Используйте SemanticZoom для экранов с
большим количеством контента и
группировкой – это удобный способ
навигации
![Page 27: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/27.jpg)
Best practices
Application 12. Главный тайл должен привлекать юзера,
выделяться в списке других
13. Тайлы должны быть живыми – призывать
юзера зайти в приложение
14. Подумайте про Lock-screen: IM, E-mail
![Page 28: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/28.jpg)
Best practices
Application 15. Поддержка SnappedView – особенно для
чатов, новостей, таск менеджеров
16. Обрабатывайте состояния
Suspended/Resumed – пользователь не
должен догадываться, что приложение не
работало
![Page 29: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/29.jpg)
Best practices
Application 17. Время старта приложения менее 5 сек,
уход в Suspended менее 2 сек
18. Обязательно Terms of use/Privacy policy и
About в панели настроек
19. Async/await – не забываем про
асинхронность
![Page 30: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/30.jpg)
Вопросы и ответы
![Page 31: Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт](https://reader034.fdocument.pub/reader034/viewer/2022052523/5555be7cd8b42a52568b5339/html5/thumbnails/31.jpg)
Спасибо за внимание!