SlideShare a Scribd company logo
one day mobile 2014
C++ in Windows Phone Apps
Mirco Vanini
Microsoft® MVP Windows Embedded
one day mobile 2014
 The new old platform
 How & where C++ is supported
 When and why to use C++
 Introduction to the Windows (Phone) Runtime
 Sharing C++ code (demo)
Agenda
one day mobile 2014
The New Old Platform
one day mobile 2014
 Can be used in any Windows Phone App
 Visual Studio Express 2012/3 for Windows Phone
 Same C++ compiler & CRT used in Windows 8
 Subset of C++ 11 standard features
How: Windows Phone C++ Support
one day mobile 2014
Sampling of C++ 11 Standard Features
RValue references Forward declared enums Bidirectional fences
static_assert Alignment Data-dependency ordering
Auto Standard-layout and trivial types exception_ptr
Trailing return types Extended friend declarations Thread-local storage
Lambdas Local and unnamed types as template arguments __func__
Decltype Range-based for-loop C99 preprocessor
Right angle brackets override and final long long
extern templates Minimal GC support Strongly typed enums
nullptr Atomics
C++11 Features in Visual C++ 11
Announcing the Visual C++ Compiler November 2013
one day mobile 2014
 All Windows Phone 8 apps can use native code…
 XAML apps (8.1)
 XAML apps mixed with D3D and WinRT
 Pure native D3D apps/games
 C++ libraries: Dynamic Link Libraries, Static Libs
 WinRT C++ Components
 ...not all apps need to use native code
Where you can use C++
one day mobile 2014
 Reusability: You have some legacy code around that you
really don't want to rewrite but still use in your app
 Portability: You want to use the code you're about to write
on multiple platforms
 Performance: You really are in need for these last bits of
performance benefits and know what you're doing
 Personal Preference: You are a developer who really
favors C++ over e.g. C# or you have significantly better
skills in C++
Why use C++
one day mobile 2014
 Why learn about WinRT?
 WinRT is used in the application model
 C++ code called from XAML uses WinRT
 Phone Platform APIs are built using WinRT
Windows Phone Runtime
Infrastructure:
• Core plumbing
• Commontypesystem
• Standard programming model
APIs:
• Windows Phone Platform APIs
• Libraries you write and license
• Projected to C++ and C# / VB
one day mobile 2014
A Closer Look at What's Available
Direct3D with XAML" C++ application actually creates a C#
main project and a separate Windows Runtime Component in
C++.
one day mobile 2014
Sharing C++ code
one day mobile 2014
Welcome back to C++!
Recap
one day mobile 2014
Q&A
one day mobile 2014
Contact
feedback
10
Blog http://mircovanini.blogspot.com
Email info@proxsoft.it
Web www.proxsoft.it
Twitter@MircoVanini

More Related Content

What's hot

The seven pillars of aspnet
The seven pillars of aspnetThe seven pillars of aspnet
The seven pillars of aspnet
Nethaji Naidu
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
NIIT India
 
c#.Net Windows application
c#.Net Windows application c#.Net Windows application
c#.Net Windows application veera
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
Pankaj Rattan
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#rahulsahay19
 
.net CLR
.net CLR.net CLR
.net CLR
DevTalk
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
Synapseindiappsdevelopment
 
Presentation1
Presentation1Presentation1
Presentation1kpkcsc
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewCarlos Lopes
 
C# programming language
C# programming languageC# programming language
C# programming language
swarnapatil
 
Tutorial c#
Tutorial c#Tutorial c#
Tutorial c#
Mohammad Faizan
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
Pramod Rathore
 
Swift Introduction
Swift IntroductionSwift Introduction
Swift Introduction
Savvycom Savvycom
 
20 Facts about Swift programming language
20 Facts about Swift programming language20 Facts about Swift programming language
20 Facts about Swift programming language
Rohit Tirkey
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
umesh patil
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
Mohamed Saleh
 

What's hot (20)

The seven pillars of aspnet
The seven pillars of aspnetThe seven pillars of aspnet
The seven pillars of aspnet
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
 
c#.Net Windows application
c#.Net Windows application c#.Net Windows application
c#.Net Windows application
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
.net CLR
.net CLR.net CLR
.net CLR
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
 
Programming in c#
Programming in c#Programming in c#
Programming in c#
 
Presentation1
Presentation1Presentation1
Presentation1
 
Part i
Part iPart i
Part i
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief Overview
 
C# programming language
C# programming languageC# programming language
C# programming language
 
Tutorial c#
Tutorial c#Tutorial c#
Tutorial c#
 
Csharp
CsharpCsharp
Csharp
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
 
1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
Swift Introduction
Swift IntroductionSwift Introduction
Swift Introduction
 
20 Facts about Swift programming language
20 Facts about Swift programming language20 Facts about Swift programming language
20 Facts about Swift programming language
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
 

Viewers also liked

Advanced SEO Technoiques-2014
Advanced SEO Technoiques-2014Advanced SEO Technoiques-2014
Advanced SEO Technoiques-2014
VIJAYAKRISHNAN K
 
.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work
Mirco Vanini
 
Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...
Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...
Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...
5heikh95
 
.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work
Mirco Vanini
 
Title sequence to thrillers
Title sequence to thrillersTitle sequence to thrillers
Title sequence to thrillersamycoker
 
Mec 2015 - Windows developer program for IoT
Mec 2015 - Windows developer program for IoTMec 2015 - Windows developer program for IoT
Mec 2015 - Windows developer program for IoT
Mirco Vanini
 
mood boards
mood boardsmood boards
mood boardsamycoker
 
50 things To do in Tamil nadu
50 things To do in Tamil nadu50 things To do in Tamil nadu
50 things To do in Tamil naduGP SRIRAM
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
Mirco Vanini
 
Threading model in windows store apps
Threading model in windows store appsThreading model in windows store apps
Threading model in windows store apps
Mirco Vanini
 
Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...
Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...
Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...
molga-ru
 
Windows developer program for IoT
Windows developer program for IoTWindows developer program for IoT
Windows developer program for IoT
Mirco Vanini
 
Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP molga-ru
 
Cutomize and Control Connected Devices
Cutomize and Control Connected DevicesCutomize and Control Connected Devices
Cutomize and Control Connected Devices
Mirco Vanini
 
Why should you use Slideshare - Getting Started
Why should you use Slideshare  - Getting StartedWhy should you use Slideshare  - Getting Started
Why should you use Slideshare - Getting Started
GP SRIRAM
 
Windows 10 on Raspberry PI 2
Windows 10 on Raspberry PI 2Windows 10 on Raspberry PI 2
Windows 10 on Raspberry PI 2
Mirco Vanini
 

Viewers also liked (17)

Advanced SEO Technoiques-2014
Advanced SEO Technoiques-2014Advanced SEO Technoiques-2014
Advanced SEO Technoiques-2014
 
.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work
 
Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...
Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...
Q7. LOOKING BACK AT THE PRELIMINARY TASK, WHAT DO YOU FEEL YOU HAVE LEARNT IN...
 
.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work.NET MF & Gadgeteer - Real Cases - NetMF@Work
.NET MF & Gadgeteer - Real Cases - NetMF@Work
 
Title sequence to thrillers
Title sequence to thrillersTitle sequence to thrillers
Title sequence to thrillers
 
Mec 2015 - Windows developer program for IoT
Mec 2015 - Windows developer program for IoTMec 2015 - Windows developer program for IoT
Mec 2015 - Windows developer program for IoT
 
mood boards
mood boardsmood boards
mood boards
 
2014 ahir thn
2014 ahir thn2014 ahir thn
2014 ahir thn
 
50 things To do in Tamil nadu
50 things To do in Tamil nadu50 things To do in Tamil nadu
50 things To do in Tamil nadu
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
 
Threading model in windows store apps
Threading model in windows store appsThreading model in windows store apps
Threading model in windows store apps
 
Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...
Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...
Внедрение ERP-систем в компаниях среднего бизнеса: практика, ошибки и возврат...
 
Windows developer program for IoT
Windows developer program for IoTWindows developer program for IoT
Windows developer program for IoT
 
Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP
 
Cutomize and Control Connected Devices
Cutomize and Control Connected DevicesCutomize and Control Connected Devices
Cutomize and Control Connected Devices
 
Why should you use Slideshare - Getting Started
Why should you use Slideshare  - Getting StartedWhy should you use Slideshare  - Getting Started
Why should you use Slideshare - Getting Started
 
Windows 10 on Raspberry PI 2
Windows 10 on Raspberry PI 2Windows 10 on Raspberry PI 2
Windows 10 on Raspberry PI 2
 

Similar to C++ in Windows Phone Apps - Overview

App windows phone in c++
App windows phone in c++App windows phone in c++
App windows phone in c++
Mirco Vanini
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
DotNetCampus
 
Compilation Of C/C++ program in Android
Compilation Of C/C++ program in AndroidCompilation Of C/C++ program in Android
Compilation Of C/C++ program in Android
rahulverma1080
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Jason Conger
 
Xamarin - Beyond the Basics
Xamarin - Beyond the BasicsXamarin - Beyond the Basics
Xamarin - Beyond the Basics
Prabha Kularathna
 
Programming with c#
Programming with c#Programming with c#
Programming with c#
Luis Goldster
 
C#
C#C#
DotNet Fundamentals
DotNet FundamentalsDotNet Fundamentals
DotNet Fundamentals
Majdi SAIBI
 
Event Driven Programming in C#.docx
Event Driven Programming in C#.docxEvent Driven Programming in C#.docx
Event Driven Programming in C#.docx
LenchoMamudeBaro
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Nick Landry
 
Porting business apps to Windows Phone
Porting business apps to Windows PhonePorting business apps to Windows Phone
Porting business apps to Windows Phone
Michele Capra
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applications
mailalamin
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
Marco Tabor
 
C++ language basic
C++ language basicC++ language basic
C++ language basic
Waqar Younis
 
programming in c#.ppt
programming in c#.pptprogramming in c#.ppt
programming in c#.ppt
NalinaKumari2
 
20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx
KNANTHINIMCA
 
Windows Phone Apps Development overview
Windows Phone Apps Development overviewWindows Phone Apps Development overview
Windows Phone Apps Development overview
Pruthvi Reddy
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
The NineHertz
 

Similar to C++ in Windows Phone Apps - Overview (20)

App windows phone in c++
App windows phone in c++App windows phone in c++
App windows phone in c++
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
 
Compilation Of C/C++ program in Android
Compilation Of C/C++ program in AndroidCompilation Of C/C++ program in Android
Compilation Of C/C++ program in Android
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
 
Xamarin - Beyond the Basics
Xamarin - Beyond the BasicsXamarin - Beyond the Basics
Xamarin - Beyond the Basics
 
Programming with c#
Programming with c#Programming with c#
Programming with c#
 
C#
C#C#
C#
 
C#.NET
C#.NETC#.NET
C#.NET
 
DotNet Fundamentals
DotNet FundamentalsDotNet Fundamentals
DotNet Fundamentals
 
Event Driven Programming in C#.docx
Event Driven Programming in C#.docxEvent Driven Programming in C#.docx
Event Driven Programming in C#.docx
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
Porting business apps to Windows Phone
Porting business apps to Windows PhonePorting business apps to Windows Phone
Porting business apps to Windows Phone
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applications
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 
C++ language basic
C++ language basicC++ language basic
C++ language basic
 
programming in c#.ppt
programming in c#.pptprogramming in c#.ppt
programming in c#.ppt
 
20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx
 
C# chap 1
C# chap 1C# chap 1
C# chap 1
 
Windows Phone Apps Development overview
Windows Phone Apps Development overviewWindows Phone Apps Development overview
Windows Phone Apps Development overview
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
 

More from Mirco Vanini

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf
Mirco Vanini
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)
Mirco Vanini
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to Azure
Mirco Vanini
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to Azure
Mirco Vanini
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
Mirco Vanini
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
Mirco Vanini
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
Mirco Vanini
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !
Mirco Vanini
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)
Mirco Vanini
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !
Mirco Vanini
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET Core
Mirco Vanini
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020
Mirco Vanini
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development
Mirco Vanini
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?
Mirco Vanini
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure Shpere
Mirco Vanini
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019
Mirco Vanini
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
Mirco Vanini
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
Mirco Vanini
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
Mirco Vanini
 
Xe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsXe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise Apps
Mirco Vanini
 

More from Mirco Vanini (20)

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to Azure
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to Azure
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET Core
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure Shpere
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Xe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsXe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise Apps
 

Recently uploaded

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 

Recently uploaded (20)

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 

C++ in Windows Phone Apps - Overview

  • 1. one day mobile 2014 C++ in Windows Phone Apps Mirco Vanini Microsoft® MVP Windows Embedded
  • 2. one day mobile 2014  The new old platform  How & where C++ is supported  When and why to use C++  Introduction to the Windows (Phone) Runtime  Sharing C++ code (demo) Agenda
  • 3. one day mobile 2014 The New Old Platform
  • 4. one day mobile 2014  Can be used in any Windows Phone App  Visual Studio Express 2012/3 for Windows Phone  Same C++ compiler & CRT used in Windows 8  Subset of C++ 11 standard features How: Windows Phone C++ Support
  • 5. one day mobile 2014 Sampling of C++ 11 Standard Features RValue references Forward declared enums Bidirectional fences static_assert Alignment Data-dependency ordering Auto Standard-layout and trivial types exception_ptr Trailing return types Extended friend declarations Thread-local storage Lambdas Local and unnamed types as template arguments __func__ Decltype Range-based for-loop C99 preprocessor Right angle brackets override and final long long extern templates Minimal GC support Strongly typed enums nullptr Atomics C++11 Features in Visual C++ 11 Announcing the Visual C++ Compiler November 2013
  • 6. one day mobile 2014  All Windows Phone 8 apps can use native code…  XAML apps (8.1)  XAML apps mixed with D3D and WinRT  Pure native D3D apps/games  C++ libraries: Dynamic Link Libraries, Static Libs  WinRT C++ Components  ...not all apps need to use native code Where you can use C++
  • 7. one day mobile 2014  Reusability: You have some legacy code around that you really don't want to rewrite but still use in your app  Portability: You want to use the code you're about to write on multiple platforms  Performance: You really are in need for these last bits of performance benefits and know what you're doing  Personal Preference: You are a developer who really favors C++ over e.g. C# or you have significantly better skills in C++ Why use C++
  • 8. one day mobile 2014  Why learn about WinRT?  WinRT is used in the application model  C++ code called from XAML uses WinRT  Phone Platform APIs are built using WinRT Windows Phone Runtime Infrastructure: • Core plumbing • Commontypesystem • Standard programming model APIs: • Windows Phone Platform APIs • Libraries you write and license • Projected to C++ and C# / VB
  • 9. one day mobile 2014 A Closer Look at What's Available Direct3D with XAML" C++ application actually creates a C# main project and a separate Windows Runtime Component in C++.
  • 10. one day mobile 2014 Sharing C++ code
  • 11. one day mobile 2014 Welcome back to C++! Recap
  • 12. one day mobile 2014 Q&A
  • 13. one day mobile 2014 Contact feedback 10 Blog http://mircovanini.blogspot.com Email info@proxsoft.it Web www.proxsoft.it Twitter@MircoVanini