31
РАЗРАБОТКА WINRT ПРИЛОЖЕНИЙ ДЛЯ WINDOWS 8: РЕАЛЬНЫЙ ОПЫТ Михаил Галушко DevRain Solutions

Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт

Embed Size (px)

Citation preview

Page 1: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

РАЗРАБОТКА WINRT ПРИЛОЖЕНИЙ

ДЛЯ WINDOWS 8: РЕАЛЬНЫЙ ОПЫТ

Михаил Галушко

DevRain Solutions

Page 2: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт
Page 3: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Что такое Windows 8

Desktop apps

WinRT apps

Windows Store

Page 4: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Разработка для Windows 8

WPF

Silverlight

Windows Phone

Web Dev (html/css + js)

C++

Page 5: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Windows 8

Page 6: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT

Поддержка x86, ARM

Доступен DirectX

Объектно-ориентирован

Взял многое из .NET

Асинхронный

Page 7: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT

Page 8: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT – модель работы приложения

Running

Not Running Suspended

Activated Suspending

Resuming

Terminating

Page 9: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

«Умная» многозадачность

Приложение работает пока его видит

пользователь.

Пользователь не должен замечать, что

приложение не работало.

Возможна работа в фоне в ограниченных

случаях.

Page 10: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT - изолированность

Application 1

OS Core

Application 2

Contracts

API API

Page 11: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT - контракты

Search

Share source/target

Settings

File picker

Printing

Page 12: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT – работа в фоне

Not Running Suspended

Application

System

Infrastructure

Triggers

Event

Register

Register

Run method

Page 13: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT – работа в фоне

Application BackgroundTask, BackgroundDownloader

Интеграция с LockScreen: IM, E-mail

Page 14: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT – хранение данных

Application

LocalFolder RoamingFolder TemporaryFolder

Page 15: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

WinRT – хранение данных

Application Настройки (key-value)

Папки и файлы

Сторонние решения: SQLite

Page 16: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Windows Store

Application Около 7к приложений

ОЧЕНЬ быстрая сертификация, пока

Поддержка Trial-режима

In-App purchase

Page 17: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

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: реальный опыт

Essential Studio for WinRT (Syncfusion)

Application Стандартный набор компонент +

контролы для работы с Word, Excel, PDF

$99

http://www.syncfusion.com/products/winrt

Page 19: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Metro Elements (Mindscape)

Application 17 видов Chart, DatePicker, TimePicker

Скоро будет +20 компонент

$99

http://www.mindscapehq.com/products/metroele

ments

Page 20: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Syncfusion Metro Studio

Application 1700+ metro-иконок (PNG/XAML)

Бесплатно

http://www.syncfusion.com/downloads/metrostud

io

Page 21: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

OpenSource

Application WinRT XAML Toolkit

http://winrtxamltoolkit.codeplex.com/

Callisto

https://github.com/timheuer/callisto

+множество портированных библиотек

Page 22: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 1. Читайте гайды Microsoft

2. Учитывайте все размеры и ориентации

экранов при разработке дизайна

Page 23: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 3. Контент располагается горизонтально

4. Нижняя панель приложения: контекстные

действия, верхний – навигация (не

обязательно)

Page 24: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 5. Хорошая практика: меню заголовка

6. Навигация выполняется с помощью:

погружение через контент, меню заголовка +

кнопка назад, панель навигации

Page 25: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 7.Не смешивайте контент и действия

8.Используйте контракты: Search, Share,

Settings, FilePicker,…

9. Не дублируйте системные функции: Search

,Share, Settings, ...

Page 26: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 10. Сохранение изменений выполняется без

подтверждения пользователя (нет кнопки

«Сохранить»)

11. Используйте SemanticZoom для экранов с

большим количеством контента и

группировкой – это удобный способ

навигации

Page 27: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 12. Главный тайл должен привлекать юзера,

выделяться в списке других

13. Тайлы должны быть живыми – призывать

юзера зайти в приложение

14. Подумайте про Lock-screen: IM, E-mail

Page 28: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 15. Поддержка SnappedView – особенно для

чатов, новостей, таск менеджеров

16. Обрабатывайте состояния

Suspended/Resumed – пользователь не

должен догадываться, что приложение не

работало

Page 29: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Best practices

Application 17. Время старта приложения менее 5 сек,

уход в Suspended менее 2 сек

18. Обязательно Terms of use/Privacy policy и

About в панели настроек

19. Async/await – не забываем про

асинхронность

Page 30: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Вопросы и ответы

Page 31: Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт

Спасибо за внимание!