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

CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Mic...
CodeFest
 
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
InTRUEdeR
 

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: интеграция с С++

Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Diana Dymolazova
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
KewpaN
 
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Михаил Гaлушко "Разработка для WinRT: практика создания качественных приложений"
Dmitry Savchenko
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
DevDay
 

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

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 и практика разработки приложений
 

Dernier

СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 

Dernier (9)

Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 

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