SlideShare une entreprise Scribd logo
1  sur  15
WinRT: интеграция с С++



                       Михаил Галушко
                      DevRain Solutions
Модели приложения: WinRT
Управляемая                            Нативная
                         Application

•   C#/ VB + XAML                      • C++ + XAML
•   JS + HTML/CSS                      • DirectX 11
•   Код из WP7
•   Нет XNA
•   Monogame (SharpDX)
Модели приложения: Windows Phone 8
 Управляемая                          Нативная
                        Application

 •   C# + XAML                        • C++ (без XAML)
 •   Весь код из WP7                  • DirectX
 •   Поддержка XNA (только)           • Встраивание DirectX
 •   HTML только через                  компонент в XAML
     обертки (PhoneGap)               • Переиспользование
                                        существующего кода
WinRT: использование C++ библиотек
•   Традиционный PInvoke (DLL Import)
                      Application
•   Ограничения на Win32 API
•   Не забывайте про ARM/x64
•   Проверяйте с помощью Windows App
    Certification Kit
Отчет из Windows App Certification Kit

              Application
Demo #1
WP8 и WinRT: использование C++
библиотек
Создание Windows Runtime компонента на
                Application

основе существующей библиотеки
Windows Runtime компоненты                         Невизуальные



                                         C#/VB приложение
               Application

 Компоненты




                             Проекция
 на                                      C++ приложение

 C++, C#, VB


                                        Javascript приложение

               Метаданные
Windows Runtime компоненты
• Библиотека классов, компилируется в dll и
                 Application
  winmd (метаданные)
• Использование из WinRT (C#/C++/JS) и
  WP8
Windows Runtime компоненты
•   Ограничения на public классы и методы
•   Интерфейсы          Application
•   Свойства
•   Делегаты, события
•   Исключения
•   Обобщенные типы
•   Частичные типы
Demo #2,3
Полезные ссылки
•   Использование технологии Direct2D для создания WinRT
    компонентов: http://habrahabr.ru/company/devexpress/blog/150618/
                             Application
•   Win32 and COM for Windows Store apps:
    http://msdn.microsoft.com/en-
    us/library/windows/apps/br205762.aspx#dlls
•   Creating Windows Runtime Components in C++:
    http://msdn.microsoft.com/en-us/library/windows/apps/hh441569.aspx
•   Creating a WinRT component using C++/CX: DeForm, a Direct2D effect
    toolkit:
    http://blogs.msdn.com/b/eternalcoding/archive/2012/08/13/creating-a-
    winrt-component-using-c-cx-deform-a-direct2d-effect-toolkit.aspx
Полезные ссылки
Сергей Байдачный, WP8 и С++:
(подробное описание Windows Runtime компонент)
                             Application
Видео: http://sbadstorage.blob.core.windows.net/wp8camp/20121203-
161940f01.wmv

Слайды: http://baydachnyy.files.wordpress.com/2012/12/windows-phone-8-
camp.pptx
Вопросы и ответы

Contenu connexe

Tendances

Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаDotNetConf
 
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаDenis Tsvettsih
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012Mykhail Galushko
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest
 
UniversalApp "убийца" WPF или же это WPF+ ?
UniversalApp "убийца" WPF или же это WPF+ ?UniversalApp "убийца" WPF или же это WPF+ ?
UniversalApp "убийца" WPF или же это WPF+ ?GoSharp
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 

Tendances (6)

Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
 
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программистаРазработка Windows 8 приложений глазами WPF/Silverlight программиста
Разработка Windows 8 приложений глазами WPF/Silverlight программиста
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
 
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
 
UniversalApp "убийца" WPF или же это WPF+ ?
UniversalApp "убийца" WPF или же это WPF+ ?UniversalApp "убийца" WPF или же это WPF+ ?
UniversalApp "убийца" WPF или же это WPF+ ?
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 

Similaire à WinRT: интеграция с С++

Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8DevGAMM Conference
 
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Diana Dymolazova
 
Автоматизация отладки в windbg
Автоматизация отладки в windbgАвтоматизация отладки в windbg
Автоматизация отладки в windbgPositive Hack Days
 
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиковСергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиковGeeksLab Odessa
 
Валентин Симонов, Unity
Валентин Симонов, UnityВалентин Симонов, Unity
Валентин Симонов, UnityDiana Dymolazova
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных системKewpaN
 
01 - Android 6. Android
01 - Android 6. Android01 - Android 6. Android
01 - Android 6. AndroidRoman Brovko
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Dmitry Savchenko
 
UI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеGoSharp
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложенийОлег Винников
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Storesandy97
 
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...DataArt
 
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...Denis Vasilyev
 
О разработке десктопных приложений / About desktop development
О разработке десктопных приложений / About desktop developmentО разработке десктопных приложений / About desktop development
О разработке десктопных приложений / About desktop developmentAlexander Granin
 
Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015Tatiana Smetanina
 
Обзор платформы Tizen
Обзор платформы TizenОбзор платформы Tizen
Обзор платформы TizenElena Voynova
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5DevDay
 

Similaire à WinRT: интеграция с С++ (20)

WinRT
WinRTWinRT
WinRT
 
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8 Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
Microsoft: Создание игр на DirectX для Windows 8 и Windows Phone 8
 
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
 
Автоматизация отладки в windbg
Автоматизация отладки в windbgАвтоматизация отладки в windbg
Автоматизация отладки в windbg
 
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиковСергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
Сергей Байдачный_Что нового в Windows Phone 8.1 для разработчиков
 
Валентин Симонов, Unity
Валентин Симонов, UnityВалентин Симонов, Unity
Валентин Симонов, Unity
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
 
01 - Android 6. Android
01 - Android 6. Android01 - Android 6. Android
01 - Android 6. Android
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
 
UI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче Банке
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложений
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
 
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
Seminar: Установка и настройка рабочего стенда разработчика Android-приложени...
 
О разработке десктопных приложений / About desktop development
О разработке десктопных приложений / About desktop developmentО разработке десктопных приложений / About desktop development
О разработке десктопных приложений / About desktop development
 
Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015
 
Обзор платформы Tizen
Обзор платформы TizenОбзор платформы Tizen
Обзор платформы Tizen
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
 

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
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложение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
 
Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Mykhail Galushko
 

Plus de Mykhail Galushko (7)

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
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложение
 
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
 
Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений
 

WinRT: интеграция с С++

  • 1. WinRT: интеграция с С++ Михаил Галушко DevRain Solutions
  • 2.
  • 3. Модели приложения: WinRT Управляемая Нативная Application • C#/ VB + XAML • C++ + XAML • JS + HTML/CSS • DirectX 11 • Код из WP7 • Нет XNA • Monogame (SharpDX)
  • 4. Модели приложения: Windows Phone 8 Управляемая Нативная Application • C# + XAML • C++ (без XAML) • Весь код из WP7 • DirectX • Поддержка XNA (только) • Встраивание DirectX • HTML только через компонент в XAML обертки (PhoneGap) • Переиспользование существующего кода
  • 5. WinRT: использование C++ библиотек • Традиционный PInvoke (DLL Import) Application • Ограничения на Win32 API • Не забывайте про ARM/x64 • Проверяйте с помощью Windows App Certification Kit
  • 6. Отчет из Windows App Certification Kit Application
  • 8. WP8 и WinRT: использование C++ библиотек Создание Windows Runtime компонента на Application основе существующей библиотеки
  • 9. Windows Runtime компоненты Невизуальные C#/VB приложение Application Компоненты Проекция на C++ приложение C++, C#, VB Javascript приложение Метаданные
  • 10. Windows Runtime компоненты • Библиотека классов, компилируется в dll и Application winmd (метаданные) • Использование из WinRT (C#/C++/JS) и WP8
  • 11. Windows Runtime компоненты • Ограничения на public классы и методы • Интерфейсы Application • Свойства • Делегаты, события • Исключения • Обобщенные типы • Частичные типы
  • 13. Полезные ссылки • Использование технологии Direct2D для создания WinRT компонентов: http://habrahabr.ru/company/devexpress/blog/150618/ Application • Win32 and COM for Windows Store apps: http://msdn.microsoft.com/en- us/library/windows/apps/br205762.aspx#dlls • Creating Windows Runtime Components in C++: http://msdn.microsoft.com/en-us/library/windows/apps/hh441569.aspx • Creating a WinRT component using C++/CX: DeForm, a Direct2D effect toolkit: http://blogs.msdn.com/b/eternalcoding/archive/2012/08/13/creating-a- winrt-component-using-c-cx-deform-a-direct2d-effect-toolkit.aspx
  • 14. Полезные ссылки Сергей Байдачный, WP8 и С++: (подробное описание Windows Runtime компонент) Application Видео: http://sbadstorage.blob.core.windows.net/wp8camp/20121203- 161940f01.wmv Слайды: http://baydachnyy.files.wordpress.com/2012/12/windows-phone-8- camp.pptx