8. WinRT – модель работы приложения
Activated Suspending
Running
Not Running Resuming Suspended
Terminating
9. «Умная» многозадачность
Приложение работает пока его видит
пользователь.
Пользователь не должен замечать, что
приложение не работало.
Возможна работа в фоне в ограниченных
случаях.
12. WinRT – работа в фоне
Run method System
Infrastructure
Register
Event
Application
Not Running Suspended
Register
Triggers
13. WinRT – работа в фоне
BackgroundTask, Application
BackgroundDownloader
Интеграция с LockScreen: IM, E-mail
14. WinRT – хранение данных
Application
LocalFolder RoamingFolder TemporaryFolder
15. WinRT – хранение данных
Настройки (key-value)
Application
Папки и файлы
Сторонние решения: SQLite
16. Windows Store
Около 7к приложений
Application
ОЧЕНЬ быстрая сертификация, пока
Поддержка Trial-режима
In-App purchase
17. RadControls for Windows 8 (Telerik)
Лучшая библиотека для Win8 / WP7 / WP8
Application
15+ XAML/HTML компонент
$99
http://www.telerik.com/products/windows-
8/overview.aspx
18. Essential Studio for WinRT (Syncfusion)
Стандартный набор компонент +
Application
контролы для работы с Word, Excel, PDF
$99
http://www.syncfusion.com/products/winrt
19. Metro Elements (Mindscape)
17 видов Chart, DatePicker, TimePicker
Application
Скоро будет +20 компонент
$99
http://www.mindscapehq.com/products/metroele
ments
20. Syncfusion Metro Studio
1700+ metro-иконок (PNG/XAML)
Application
Бесплатно
http://www.syncfusion.com/downloads/metrostud
io
22. Best practices
1. Читайте гайды Microsoft
Application
2. Учитывайте все размеры и ориентации
экранов при разработке дизайна
23. Best practices
3. Контент располагается горизонтально
Application
4. Избегайте двойных скроллов
5. Нижняя панель приложения: контекстные
действия, верхний – навигация (не
обязательно)
24. Best practices
6. Не смешивайте контент и действия
Application
7. Хорошая практика: меню заголовка
8. Навигация выполняется с помощью:
погружение через контент, меню заголовка +
кнопка назад, панель навигации
25. Best practices
Application
9. Используйте SemanticZoom для экранов с
большим количеством контента и
группировкой – это удобный способ
навигации
26. Best practices
10. Используйте Application
контракты: Search, Share
11. Не дублируйте функции контрактов
27. Best practices
12. Главный тайлApplication привлекать
должен
юзера, выделяться в списке других
13. Тайлы должны быть живыми – призывать
юзера зайти в приложение
14. Подумайте про Lock-screen: IM, E-mail
28. Best practices
15. Поддержка SnappedView, FilledView –
Application
особенно для чатов, новостей, таск
менеджеров
16. Обрабатывайте состояния
Suspended/Resumed – пользователь не
должен догадываться, что приложение не
работало
29. Best practices
17. Сохранение изменений выполняется без
Application
подтверждения пользователя (нет кнопки
«Сохранить»)
18. Обязательно Terms of use/Privacy policy и
About в панели настроек
30. Best practices
19. Время стартаApplication
приложения менее 5 сек,
уход в Suspended менее 2 сек
20. Async/await – не забываем про
асинхронность
21. Выход из Suspended – проверяйте
актуальность сессии
31. Best practices
22. Bugsense дляApplication
ошибок
23. Используйте существующий C++ код (но
пересоберите), проверьте с помощью App
Cert Kit, не забудьте про ARM