SlideShare a Scribd company logo
1 of 27
Экосистема Windows 8 и практика
разработки приложений
Михаил Галушко
DevRain Solutions
Что такое Windows 8
Что такое Windows 8
 Desktop apps
 WinRT apps
 Интеграция с сервисами
 Windows Store
Особенности Metro приложений


            ДЕМО
«Умная» многозадачность
 Приложение работает пока его видит
 пользователь.
 Пользователь не должен замечать, что
 приложение не работало.
 Возможна работа в фоне в ограниченных
 случаях.
Разработка для Windows 8

WPF
Silverlight
Windows Phone
Web Dev (html/css + js)
Windows 8
WinRT
WinRT
Поддержка x86, ARM
Доступен DirectX
Основан на COM
Взял многое из .NET
Объектно-ориентирован
Асинхронный
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
Best practices
 1. Читайте гайды Microsoft 
                Application


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


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


 6. Навигация выполняется с помощью:
 погружение через контент, меню заголовка +
 кнопка назад, панель навигации сверху
Best practices
 7. Не смешивайте контент и действия
                   Application
 8. Не дублируйте системные функции: Share,
 Settings, Search, ...
 9. Сохранение изменений выполняется ебз
 подтверждения пользователя (нет кнопки
 «Сохранить»)
Best practices
 10. Главный тайл должен привлекать юзера,
                Application
 выделяться в списке других
 11. Тайлы должны быть живыми – призывать
 юзера зайти в приложение
 12. Подумайте про Lock-screen: IM, E-mail
Best practices
 13. ИспользуйтеApplication
                    контракты: Search, Share,
 Settings, FilePicker,…
 14. Используйте SemanticZoom для экранов с
 большим количеством контента – это
 удобный способ навигации
Best practices
 15. Поддержка SnappedView – особенно для
                 Application
 чатов, новостей, таск менеджеров
 16. Обрабатывайте состояния
 Suspended/Resumed – пользователь не
 должен догадываться, что приложение не
 работало
Best practices
 17. Время стартаApplication
                  приложения менее 5 сек,
 уход в Suspended менее 2 сек
 18. Обязательно Terms of use и About в
 панели настроек
Проблемы платформы
 Мало приложений – проблема ли?
               Application
 Нет компонентов: DatePicker, TimePicker
 Мало OpenSource библиотек
 Windows 8 еще не вышла 
Вопросы и ответы
Спасибо за внимание!

More Related Content

Viewers also liked

Whale Rider устраняем шумы в коммуникациях
Whale Rider   устраняем шумы в коммуникацияхWhale Rider   устраняем шумы в коммуникациях
Whale Rider устраняем шумы в коммуникацияхWRider
 
Untitled
UntitledUntitled
Untitledboucher
 
Lomiss Delivery & Dsitribution
Lomiss Delivery & DsitributionLomiss Delivery & Dsitribution
Lomiss Delivery & DsitributionAssaf Landau
 
Mobile development for JavaScript developer
Mobile development for JavaScript developerMobile development for JavaScript developer
Mobile development for JavaScript developerIT Weekend
 
Enstoa and Primavera Unifier
Enstoa and Primavera Unifier Enstoa and Primavera Unifier
Enstoa and Primavera Unifier enstoa
 
Quality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceQuality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceIT Weekend
 

Viewers also liked (6)

Whale Rider устраняем шумы в коммуникациях
Whale Rider   устраняем шумы в коммуникацияхWhale Rider   устраняем шумы в коммуникациях
Whale Rider устраняем шумы в коммуникациях
 
Untitled
UntitledUntitled
Untitled
 
Lomiss Delivery & Dsitribution
Lomiss Delivery & DsitributionLomiss Delivery & Dsitribution
Lomiss Delivery & Dsitribution
 
Mobile development for JavaScript developer
Mobile development for JavaScript developerMobile development for JavaScript developer
Mobile development for JavaScript developer
 
Enstoa and Primavera Unifier
Enstoa and Primavera Unifier Enstoa and Primavera Unifier
Enstoa and Primavera Unifier
 
Quality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceQuality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptance
 

Similar to Экосистема Windows 8 и практика разработки приложений

Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8GetDev.NET
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений guest800050
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеMykhail Galushko
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitormekhos
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоStanfy
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...
Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...
Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...Nick Turunov
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиковOlesya Shelestova
 
MS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleMS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleДенис Резник
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 
Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...Andrew Mayorov
 
Эволюция разработки программного обеспечения
Эволюция разработки программного обеспеченияЭволюция разработки программного обеспечения
Эволюция разработки программного обеспеченияDima Dzuba
 
Dell Foglight сегодня и завтра. Планы развития
Dell Foglight сегодня и завтра. Планы развитияDell Foglight сегодня и завтра. Планы развития
Dell Foglight сегодня и завтра. Планы развитияBAKOTECH
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHivePavel Lipanov
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийPositive Hack Days
 
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
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)Ontico
 

Similar to Экосистема Windows 8 и практика разработки приложений (20)

Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
 
Hivext 04.2010
Hivext 04.2010Hivext 04.2010
Hivext 04.2010
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложение
 
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
 
Лекция 4
Лекция 4Лекция 4
Лекция 4
 
Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...
Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...
Бакотек - Файлы регистрации событий как основной элемент обеспечения ит безоп...
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиков
 
MS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleMS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application Lifecycle
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...Производительность и энергопотребление мобильных приложений на примере Window...
Производительность и энергопотребление мобильных приложений на примере Window...
 
Эволюция разработки программного обеспечения
Эволюция разработки программного обеспеченияЭволюция разработки программного обеспечения
Эволюция разработки программного обеспечения
 
Dell Foglight сегодня и завтра. Планы развития
Dell Foglight сегодня и завтра. Планы развитияDell Foglight сегодня и завтра. Планы развития
Dell Foglight сегодня и завтра. Планы развития
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHive
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложенийАнтон Сапожников. Еще один недостаток современных клиент-серверных приложений
Антон Сапожников. Еще один недостаток современных клиент-серверных приложений
 
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
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
 

More from IT Weekend

Building an Innovation & Strategy Process
Building an Innovation & Strategy ProcessBuilding an Innovation & Strategy Process
Building an Innovation & Strategy ProcessIT Weekend
 
IT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right PlaceIT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right PlaceIT Weekend
 
Building a Data Driven Organization
Building a Data Driven OrganizationBuilding a Data Driven Organization
Building a Data Driven OrganizationIT Weekend
 
7 Tools for the Product Owner
7 Tools for the Product Owner 7 Tools for the Product Owner
7 Tools for the Product Owner IT Weekend
 
Hacking your Doorbell
Hacking your DoorbellHacking your Doorbell
Hacking your DoorbellIT Weekend
 
An era of possibilities, a window in time
An era of possibilities, a window in timeAn era of possibilities, a window in time
An era of possibilities, a window in timeIT Weekend
 
Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketchIT Weekend
 
REST that won't make you cry
REST that won't make you cryREST that won't make you cry
REST that won't make you cryIT Weekend
 
Как договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общенияКак договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общенияIT Weekend
 
Обзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup FocusОбзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup FocusIT Weekend
 
World of Agile: Kanban
World of Agile: KanbanWorld of Agile: Kanban
World of Agile: KanbanIT Weekend
 
Risk Management
Risk ManagementRisk Management
Risk ManagementIT Weekend
 
«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»IT Weekend
 
Cutting edge of Machine Learning
Cutting edge of Machine LearningCutting edge of Machine Learning
Cutting edge of Machine LearningIT Weekend
 
Parallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET TechnicsParallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET TechnicsIT Weekend
 
Parallel programming in modern world .net technics shared
Parallel programming in modern world .net technics   sharedParallel programming in modern world .net technics   shared
Parallel programming in modern world .net technics sharedIT Weekend
 
Maximize Effectiveness of Human Capital
Maximize Effectiveness of Human CapitalMaximize Effectiveness of Human Capital
Maximize Effectiveness of Human CapitalIT Weekend
 
“Using C#/.NET – “Controversial Topics & Common Mistakes”
“Using C#/.NET – “Controversial Topics & Common Mistakes”“Using C#/.NET – “Controversial Topics & Common Mistakes”
“Using C#/.NET – “Controversial Topics & Common Mistakes”IT Weekend
 
“The anatomy of outsourced automation developer”
“The anatomy of outsourced automation developer”“The anatomy of outsourced automation developer”
“The anatomy of outsourced automation developer”IT Weekend
 

More from IT Weekend (20)

Building an Innovation & Strategy Process
Building an Innovation & Strategy ProcessBuilding an Innovation & Strategy Process
Building an Innovation & Strategy Process
 
IT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right PlaceIT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right Place
 
Building a Data Driven Organization
Building a Data Driven OrganizationBuilding a Data Driven Organization
Building a Data Driven Organization
 
7 Tools for the Product Owner
7 Tools for the Product Owner 7 Tools for the Product Owner
7 Tools for the Product Owner
 
Hacking your Doorbell
Hacking your DoorbellHacking your Doorbell
Hacking your Doorbell
 
An era of possibilities, a window in time
An era of possibilities, a window in timeAn era of possibilities, a window in time
An era of possibilities, a window in time
 
Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketch
 
Why Ruby?
Why Ruby? Why Ruby?
Why Ruby?
 
REST that won't make you cry
REST that won't make you cryREST that won't make you cry
REST that won't make you cry
 
Как договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общенияКак договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общения
 
Обзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup FocusОбзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup Focus
 
World of Agile: Kanban
World of Agile: KanbanWorld of Agile: Kanban
World of Agile: Kanban
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»
 
Cutting edge of Machine Learning
Cutting edge of Machine LearningCutting edge of Machine Learning
Cutting edge of Machine Learning
 
Parallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET TechnicsParallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET Technics
 
Parallel programming in modern world .net technics shared
Parallel programming in modern world .net technics   sharedParallel programming in modern world .net technics   shared
Parallel programming in modern world .net technics shared
 
Maximize Effectiveness of Human Capital
Maximize Effectiveness of Human CapitalMaximize Effectiveness of Human Capital
Maximize Effectiveness of Human Capital
 
“Using C#/.NET – “Controversial Topics & Common Mistakes”
“Using C#/.NET – “Controversial Topics & Common Mistakes”“Using C#/.NET – “Controversial Topics & Common Mistakes”
“Using C#/.NET – “Controversial Topics & Common Mistakes”
 
“The anatomy of outsourced automation developer”
“The anatomy of outsourced automation developer”“The anatomy of outsourced automation developer”
“The anatomy of outsourced automation developer”
 

Экосистема Windows 8 и практика разработки приложений

  • 1. Экосистема Windows 8 и практика разработки приложений Михаил Галушко DevRain Solutions
  • 3. Что такое Windows 8 Desktop apps WinRT apps Интеграция с сервисами Windows Store
  • 5. «Умная» многозадачность Приложение работает пока его видит пользователь. Пользователь не должен замечать, что приложение не работало. Возможна работа в фоне в ограниченных случаях.
  • 6. Разработка для Windows 8 WPF Silverlight Windows Phone Web Dev (html/css + js)
  • 9. WinRT Поддержка x86, ARM Доступен DirectX Основан на COM Взял многое из .NET Объектно-ориентирован Асинхронный
  • 10. WinRT – модель работы приложения Activated Suspending Running Not Running Resuming Suspended Terminating
  • 11. WinRT - изолированность Application 1 Application 2 Contracts API API OS Core
  • 12. WinRT - контракты Search Share source/target Settings File picker Printing …
  • 13. WinRT – работа в фоне Run method System Infrastructure Register Event Application Not Running Suspended Register Triggers
  • 14. WinRT – работа в фоне BackgroundTask, Application BackgroundDownloader Интеграция с LockScreen: IM, E-mail
  • 15. WinRT – хранение данных Application LocalFolder RoamingFolder TemporaryFolder
  • 16. WinRT – хранение данных Настройки (key-value) Application Папки и файлы Сторонние решения: SQLite
  • 17. Best practices 1. Читайте гайды Microsoft  Application 2. Учитывайте все размеры и ориентации экранов при разработке дизайна
  • 18. Best practices 3. Контент располагается горизонтально Application 4. Нижняя панель приложения: контекстные действия, верхний – навигация (не обязательно)
  • 19. Best practices 5. Хорошая практика: меню заголовка Application 6. Навигация выполняется с помощью: погружение через контент, меню заголовка + кнопка назад, панель навигации сверху
  • 20. Best practices 7. Не смешивайте контент и действия Application 8. Не дублируйте системные функции: Share, Settings, Search, ... 9. Сохранение изменений выполняется ебз подтверждения пользователя (нет кнопки «Сохранить»)
  • 21. Best practices 10. Главный тайл должен привлекать юзера, Application выделяться в списке других 11. Тайлы должны быть живыми – призывать юзера зайти в приложение 12. Подумайте про Lock-screen: IM, E-mail
  • 22. Best practices 13. ИспользуйтеApplication контракты: Search, Share, Settings, FilePicker,… 14. Используйте SemanticZoom для экранов с большим количеством контента – это удобный способ навигации
  • 23. Best practices 15. Поддержка SnappedView – особенно для Application чатов, новостей, таск менеджеров 16. Обрабатывайте состояния Suspended/Resumed – пользователь не должен догадываться, что приложение не работало
  • 24. Best practices 17. Время стартаApplication приложения менее 5 сек, уход в Suspended менее 2 сек 18. Обязательно Terms of use и About в панели настроек
  • 25. Проблемы платформы Мало приложений – проблема ли? Application Нет компонентов: DatePicker, TimePicker Мало OpenSource библиотек Windows 8 еще не вышла 