SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
РАЗРАБОТКА WINRT ПРИЛОЖЕНИЙ
ДЛЯ WINDOWS 8: РЕАЛЬНЫЙ ОПЫТ

Михаил Галушко
DevRain Solutions
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Что такое Windows 8
 Desktop apps
 WinRT apps
 Windows Store
Разработка для Windows 8

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




   Not Running          Resuming   Suspended



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

  Application 1               Application 2
                  Contracts


            API                          API




                  OS Core
WinRT - контракты
Search
Share source/target
Settings
File picker
Printing
…
WinRT – работа в фоне
         Run method                  System
                                 Infrastructure

                   Register

                                           Event
Application

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

 Интеграция с LockScreen: IM, E-mail
WinRT – хранение данных

                Application




  LocalFolder   RoamingFolder   TemporaryFolder
WinRT – хранение данных
 Настройки (key-value)
                Application
 Папки и файлы
 Сторонние решения: SQLite
Windows Store
Около 7к приложений
                 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

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


 2. Учитывайте все размеры и ориентации
    экранов при разработке дизайна
Best practices
 3. Контент располагается горизонтально
                 Application


 4. Избегайте двойных скроллов

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


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

 8. Навигация выполняется с помощью:
 погружение через контент, меню заголовка +
 кнопка назад, панель навигации
Best practices

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

 11. Не дублируйте функции контрактов
Best practices
 12. Главный тайлApplication привлекать
                  должен
 юзера, выделяться в списке других
 13. Тайлы должны быть живыми – призывать
 юзера зайти в приложение
 14. Подумайте про Lock-screen: IM, E-mail
Best practices
 15. Поддержка SnappedView, FilledView –
                Application
 особенно для чатов, новостей, таск
 менеджеров
 16. Обрабатывайте состояния
 Suspended/Resumed – пользователь не
 должен догадываться, что приложение не
 работало
Best practices
 17. Сохранение изменений выполняется без
                Application
 подтверждения пользователя (нет кнопки
 «Сохранить»)
 18. Обязательно Terms of use/Privacy policy и
 About в панели настроек
Best practices
 19. Время стартаApplication
                  приложения менее 5 сек,
 уход в Suspended менее 2 сек
 20. Async/await – не забываем про
 асинхронность
 21. Выход из Suspended – проверяйте
 актуальность сессии
Best practices
 22. Bugsense дляApplication
                  ошибок

 23. Используйте существующий C++ код (но
 пересоберите), проверьте с помощью App
 Cert Kit, не забудьте про ARM
Вопросы и ответы
Спасибо за внимание!

Contenu connexe

En vedette

I Vi Z Profile
I Vi Z ProfileI Vi Z Profile
I Vi Z Profilekhushboo
 
Izaskun navidad
Izaskun navidadIzaskun navidad
Izaskun navidadpinaeta
 
Trabajo SeguridadInformática.
Trabajo SeguridadInformática.Trabajo SeguridadInformática.
Trabajo SeguridadInformática.b1csilviabartolome
 
Frictionless promotion
Frictionless promotionFrictionless promotion
Frictionless promotionMark Tillison
 
How to promote your brand on LinkedIn
How to promote your brand on LinkedInHow to promote your brand on LinkedIn
How to promote your brand on LinkedInBrainstorm Digital
 
Green Exhibiting
Green ExhibitingGreen Exhibiting
Green Exhibitingrickkraut
 
Azionariato Popolare per la Roma
Azionariato Popolare per la RomaAzionariato Popolare per la Roma
Azionariato Popolare per la RomaAngelo Veroli
 
Winston Churchill Memorial Trust Australia
Winston Churchill Memorial Trust AustraliaWinston Churchill Memorial Trust Australia
Winston Churchill Memorial Trust AustraliaAustralian Steamtrains
 
Us Department Of Labor Mass Layoffs June 2009
Us Department Of Labor Mass Layoffs June 2009Us Department Of Labor Mass Layoffs June 2009
Us Department Of Labor Mass Layoffs June 2009Breaking news
 
Construction Photos vs. Design Concept
Construction Photos vs. Design ConceptConstruction Photos vs. Design Concept
Construction Photos vs. Design ConceptAllen Angle
 
Izada de bandera: La literatura
Izada de bandera: La literaturaIzada de bandera: La literatura
Izada de bandera: La literaturaespemora
 
Evropské Montessori setkání v Holandsku 2012
Evropské Montessori setkání v Holandsku 2012Evropské Montessori setkání v Holandsku 2012
Evropské Montessori setkání v Holandsku 2012Jirka Pelc
 
Outing with crocs
Outing with crocsOuting with crocs
Outing with crocsrameshha
 
Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010
Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010
Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010nurieta_85
 

En vedette (16)

I Vi Z Profile
I Vi Z ProfileI Vi Z Profile
I Vi Z Profile
 
Izaskun navidad
Izaskun navidadIzaskun navidad
Izaskun navidad
 
Trabajo SeguridadInformática.
Trabajo SeguridadInformática.Trabajo SeguridadInformática.
Trabajo SeguridadInformática.
 
Frictionless promotion
Frictionless promotionFrictionless promotion
Frictionless promotion
 
How to promote your brand on LinkedIn
How to promote your brand on LinkedInHow to promote your brand on LinkedIn
How to promote your brand on LinkedIn
 
Green Exhibiting
Green ExhibitingGreen Exhibiting
Green Exhibiting
 
Azionariato Popolare per la Roma
Azionariato Popolare per la RomaAzionariato Popolare per la Roma
Azionariato Popolare per la Roma
 
Winston Churchill Memorial Trust Australia
Winston Churchill Memorial Trust AustraliaWinston Churchill Memorial Trust Australia
Winston Churchill Memorial Trust Australia
 
Us Department Of Labor Mass Layoffs June 2009
Us Department Of Labor Mass Layoffs June 2009Us Department Of Labor Mass Layoffs June 2009
Us Department Of Labor Mass Layoffs June 2009
 
Construction Photos vs. Design Concept
Construction Photos vs. Design ConceptConstruction Photos vs. Design Concept
Construction Photos vs. Design Concept
 
Npc force weekly 3 7 september 2012
Npc force weekly 3 7 september 2012Npc force weekly 3 7 september 2012
Npc force weekly 3 7 september 2012
 
Izada de bandera: La literatura
Izada de bandera: La literaturaIzada de bandera: La literatura
Izada de bandera: La literatura
 
Evropské Montessori setkání v Holandsku 2012
Evropské Montessori setkání v Holandsku 2012Evropské Montessori setkání v Holandsku 2012
Evropské Montessori setkání v Holandsku 2012
 
1-1-12-INTERGALACTIC GOLF POWER POINT
1-1-12-INTERGALACTIC GOLF POWER POINT1-1-12-INTERGALACTIC GOLF POWER POINT
1-1-12-INTERGALACTIC GOLF POWER POINT
 
Outing with crocs
Outing with crocsOuting with crocs
Outing with crocs
 
Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010
Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010
Examenes Selectividad Economía Comunidad Valenciana Septiembre 2010
 

Similaire à Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012

Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Mykhail Galushko
 
Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложенийЭкосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложенийIT Weekend
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8GetDev.NET
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений guest800050
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Эльвина Сакаева
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Mobile device management and security with Intune and System Ceneter Ru Rus
Mobile device management and security with Intune and System Ceneter Ru RusMobile device management and security with Intune and System Ceneter Ru Rus
Mobile device management and security with Intune and System Ceneter Ru RusVitaliy Gram
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5DevDay
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиковOlesya Shelestova
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitormekhos
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийPositive Hack Days
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
Обзор программных продуктов для управления коммерческой недвижимостью
Обзор программных продуктов для управления коммерческой недвижимостьюОбзор программных продуктов для управления коммерческой недвижимостью
Обзор программных продуктов для управления коммерческой недвижимостьюITIUS
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Ontico
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 

Similaire à Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012 (20)

Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений
 
Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложенийЭкосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Hivext 04.2010
Hivext 04.2010Hivext 04.2010
Hivext 04.2010
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
[Add 4] crossplatform .net
[Add 4] crossplatform .net[Add 4] crossplatform .net
[Add 4] crossplatform .net
 
Mobile device management and security with Intune and System Ceneter Ru Rus
Mobile device management and security with Intune and System Ceneter Ru RusMobile device management and security with Intune and System Ceneter Ru Rus
Mobile device management and security with Intune and System Ceneter Ru Rus
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиков
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
WinRT
WinRTWinRT
WinRT
 
Обзор программных продуктов для управления коммерческой недвижимостью
Обзор программных продуктов для управления коммерческой недвижимостьюОбзор программных продуктов для управления коммерческой недвижимостью
Обзор программных продуктов для управления коммерческой недвижимостью
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 

Plus de Mykhail Galushko

Software development process for outsourcing team
Software development process for outsourcing teamSoftware development process for outsourcing team
Software development process for outsourcing teamMykhail Galushko
 
Фоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows PhoneФоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows PhoneMykhail Galushko
 
Локализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложенийЛокализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложенийMykhail Galushko
 
Creating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 applicationCreating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 applicationMykhail Galushko
 
WinRT: интеграция с С++
WinRT: интеграция с С++WinRT: интеграция с С++
WinRT: интеграция с С++Mykhail Galushko
 
ASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideMykhail Galushko
 

Plus de Mykhail Galushko (6)

Software development process for outsourcing team
Software development process for outsourcing teamSoftware development process for outsourcing team
Software development process for outsourcing team
 
Фоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows PhoneФоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows Phone
 
Локализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложенийЛокализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложений
 
Creating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 applicationCreating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 application
 
WinRT: интеграция с С++
WinRT: интеграция с С++WinRT: интеграция с С++
WinRT: интеграция с С++
 
ASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guide
 

Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012

  • 1. РАЗРАБОТКА WINRT ПРИЛОЖЕНИЙ ДЛЯ WINDOWS 8: РЕАЛЬНЫЙ ОПЫТ Михаил Галушко DevRain Solutions
  • 3. Что такое Windows 8 Desktop apps WinRT apps Windows Store
  • 4. Разработка для Windows 8 WPF Silverlight Windows Phone Web Dev (html/css + js) C++
  • 6. WinRT Поддержка x86, ARM Доступен DirectX Объектно-ориентирован Взял многое из .NET Асинхронный
  • 8. WinRT – модель работы приложения Activated Suspending Running Not Running Resuming Suspended Terminating
  • 9. «Умная» многозадачность Приложение работает пока его видит пользователь. Пользователь не должен замечать, что приложение не работало. Возможна работа в фоне в ограниченных случаях.
  • 10. WinRT - изолированность Application 1 Application 2 Contracts API API OS Core
  • 11. WinRT - контракты Search Share source/target Settings File picker Printing …
  • 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