Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
РАЗРАБОТКА ДЛЯ WINRT:
ПРАКТИКА СОЗДАНИЯ
КАЧЕСТВЕННЫХ ПРИЛОЖЕНИЙ

                  Михаил Галушко
                 DevRain Solutions
Desktop apps
Windows 8   WinRT apps
            Windows Store
WPF
              Silverlight
 Windows 8    Windows Phone
Development   Web Dev (html/css + js)
              C++
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
WinRT
Поддержка x86, ARM
Доступен DirectX
Объектно-ориентирован
Взял многое из .NET
Асинхронный
WinRT – модель работы приложения
    Activated                      Suspending
                   Running




   Not Running          Resuming   Suspended



                 Terminating
«Умная» многозадачность
Приложение работает пока его видит
пользователь.
Пользователь не должен замечать, что
приложение не работало.
Возможна работа в фоне в ограниченных
случаях.
WinRT - изолированность

  Application 1               Application 2
                  Contracts


            API                          API




                  OS Core
WinRT – работа в фоне
         Run method                  System
                                 Infrastructure

                   Register

                                           Event
Application

     Not Running                    Suspended
                      Register
                                    Triggers
WinRT – работа в фоне
BackgroundTask, BackgroundDownloader
                 Application


Интеграция с LockScreen: IM, E-mail
WinRT - контракты
Search
Share source/target
Settings
File picker
Printing
…
WinRT – хранение данных

                Application




  LocalFolder   RoamingFolder   TemporaryFolder
WinRT – хранение данных
Настройки (key-value)
                 Application
Папки и файлы
Сторонние решения: SQLite
Windows Store
Более 12 000 приложений
                 Application
ОЧЕНЬ быстрая сертификация, пока
Поддержка Trial-режима
In-App purchase
RadControls for Windows 8 (Telerik)
Лучшая библиотека для Win8 / WP7 / WP8
               Application
15+ XAML/HTML компонент

$99

http://www.telerik.com/products/windows-
8/overview.aspx
Essential Studio for WinRT (Syncfusion)
Стандартный набор компонент +
                Application
контролы для работы с Word, Excel, PDF

$99

http://www.syncfusion.com/products/winrt
Metro Elements (Mindscape)
17 видов Chart, DatePicker, TimePicker
                  Application
Скоро будет +20 компонент

$99

http://www.mindscapehq.com/products/metroele
ments
Syncfusion Metro Studio
1700+ metro-иконок (PNG/XAML)
                Application


Бесплатно

http://www.syncfusion.com/downloads/metrostud
io
OpenSource
WinRT XAML ToolkitApplication
http://winrtxamltoolkit.codeplex.com/

Callisto
https://github.com/timheuer/callisto

+множество портированных библиотек
Практики
 1. Читайте гайды Microsoft 
                Application


 2. Найдите дизайнера

 3. Забудьте про курсив
Application
Application
Application
Application
Application
Практики
 4. Учитывайте все размеры и ориентации
                 Application
 экранов при разработке дизайна (от
 1024x768)
Практики
 5. Контент располагается горизонтально
                 Application
Application
Практики
 6. Избегайте двойных скроллов
                 Application


 7. Нижняя панель приложения: контекстные
 действия, верхний – навигация (не
 обязательно)
Application
Практики
 8. Не смешивайте контент и действия
                Application


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

 10. Навигация выполняется с помощью:
 погружение через контент, меню заголовка +
 кнопка назад, панель навигации
Application
Application
Практики
 11. Используйте стандартные компоненты.
                 Application
 Иначе – повторяйте их поведение

 12. Используйте SemanticZoom для экранов с
 большим количеством контента и
 группировкой – это удобный способ
 навигации
Best practices

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

 14. Не дублируйте функции контрактов
Практики
 15. Главный тайлApplication привлекать
                  должен
 юзера, выделяться в списке других
 16. Тайлы должны быть живыми – призывать
 юзера зайти в приложение
 17. Подумайте про Lock-screen: IM, E-mail
Application

      VS
Практики
 18. Поддержка SnappedView, FilledView –
                Application
 особенно для чатов, новостей, таск
 менеджеров
Application
Application
Application
Практики
 19. Обрабатывайте состояния
                Application
 Suspended/Resumed – пользователь не
 должен догадываться, что приложение не
 работало
Практики
 20. Сохранение изменений выполняется без
                Application
 подтверждения пользователя (нет кнопки
 «Сохранить»)
Application
Практики
 21. Обязательно Application of use/Privacy policy и
                  Terms
 About в панели настроек
Application
Практики
 22. Время стартаApplication
                  приложения менее 5
 сек, уход в Suspended менее 2 сек
Application
Практики
 23. Async/await –Application
                   не забываем про
 асинхронность
 24. Выход из Suspended – проверяйте
 актуальность сессии (авторизации)
Практики
 25. ИспользуйтеApplication
                 сервисы: Bugsense для
 логирования ошибок, Localytics – для
 статистики

 26. Переиспользуйте существующий C++
 код, проверьте с помощью App Cert Kit, не
 забудьте про ARM
Вопросы и ответы

More Related Content

Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"