SlideShare a Scribd company logo
www.italiancpp.org
C++ in Windows Phone
Apps
Mirco Vanini – Microsoft MVP Windows Embedded
Italian C++ Community
Agenda
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)
i=2
Italian C++ Community
The New Old Platform
i=3
Italian C++ Community
How: Windows Phone C++ Support
Can be used in any Windows Phone App
Visual Studio Express 2012/3/(5) for Windows Phone
Same C++ compiler & CRT used in Windows 8
Subset of C++ 11 standard features
i=4
Italian C++ Community
Sampling of C++ 11 Standard Features
i=5
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
Italian C++ Community
Why use C++
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++
i=6
Italian C++ Community
Where you can use C++
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
i=7
WP 7.0
Silverlight
WP 7.5
Silverlight
WP 8.0
Silverlight
WP 8.1
Silverlight
WP 8.1
WinRT
Italian C++ Community
Why stay on Windows Phone Silverlight?
Existing Code Investment
Existing Install Base
Not yet converged
◦ Camera Lenses
◦ VoIP
◦ Lock Screen Wallpaper.
◦ Clipboard API
◦ Simple Sound Effects (XNA)
◦ Run Under Lock Screen
i=8
Italian C++ Community
Why Retarget to Windows Phone Silverlight 8.1?
Access to SD Cards
Geofencing
App to App SSO (Single Sign-On)
App to App sharing
And much more…
i=9
Italian C++ Community
Windows Phone Runtime
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
◦ More Convergence
◦ Latest Tooling
◦ New Controls
◦ Future Investment
◦ Same ECMA-335 standard as .NET
◦ Type-System Projections
◦ CLR Projection
◦ Framework Projection
i=10
Italian C++ Community
A Closer Look at What's Available
i=11
Direct3D with XAML" C++ application actually creates a C# main
project and a separate Windows Runtime Component in C++.
Italian C++ Community
Sharing C++ code
i=12
Italian C++ Community
Recap / Q&A
Welcome back to C++!
i=13
Italian C++ Community
Contact
i=14
Blog http://mircovanini.blogspot.com
Email info@proxsoft.it
Web www.proxsoft.it
Twitter@MircoVanini

More Related Content

What's hot

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
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
Synapseindiappsdevelopment
 
.net CLR
.net CLR.net CLR
.net CLR
DevTalk
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewCarlos Lopes
 
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
 
C# programming language
C# programming languageC# programming language
C# programming language
swarnapatil
 
Presentation1
Presentation1Presentation1
Presentation1kpkcsc
 
.Net
.Net.Net
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
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
umesh patil
 

What's hot (20)

Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
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#
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
 
.net CLR
.net CLR.net CLR
.net CLR
 
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
 
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
 
C# programming language
C# programming languageC# programming language
C# programming language
 
Programming in c#
Programming in c#Programming in c#
Programming in c#
 
Presentation1
Presentation1Presentation1
Presentation1
 
.Net
.Net.Net
.Net
 
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
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
 

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
 
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
 
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
 
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
 
Cutomize and Control Connected Devices
Cutomize and Control Connected DevicesCutomize and Control Connected Devices
Cutomize and Control Connected Devices
Mirco Vanini
 
Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP molga-ru
 
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...
 
2014 ahir thn
2014 ahir thn2014 ahir thn
2014 ahir thn
 
.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
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
 
mood boards
mood boardsmood boards
mood boards
 
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
 
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
 
Cutomize and Control Connected Devices
Cutomize and Control Connected DevicesCutomize and Control Connected Devices
Cutomize and Control Connected Devices
 
Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP Автоматизация смешанного обучения на платформе SAP
Автоматизация смешанного обучения на платформе SAP
 
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

WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
DotNetCampus
 
App windows phone in c++
App windows phone in c++App windows phone in c++
App windows phone in c++
Mirco Vanini
 
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
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentOliver Scheer
 
Windows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentWindows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 development
Gouda Mando
 
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
 
Introduction to building apps for windows phone 8
Introduction to building apps for windows phone 8Introduction to building apps for windows phone 8
Introduction to building apps for windows phone 8
Khalil Saleem
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature Matrix
Embarcadero Technologies
 
Windows 8 Hot or Not
Windows 8 Hot or NotWindows 8 Hot or Not
Windows 8 Hot or Not
pwlodek
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
Sudhakar Sharma
 
Asp dot net
Asp dot netAsp dot net
Asp dot net
husnara mohammad
 
Windows Phone Apps Development overview
Windows Phone Apps Development overviewWindows Phone Apps Development overview
Windows Phone Apps Development overview
Pruthvi Reddy
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers Conference
Damir Dobric
 
Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8AlexanderGoetz
 
Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8
Damir Dobric
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
Peter R. Egli
 
Session i
Session iSession i
Session i
DrUjwala1
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Andri Yadi
 

Similar to C++ in windows phone apps (20)

WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
 
App windows phone in c++
App windows phone in c++App windows phone in c++
App windows phone in c++
 
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...
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
 
Windows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentWindows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 development
 
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
 
Introduction to building apps for windows phone 8
Introduction to building apps for windows phone 8Introduction to building apps for windows phone 8
Introduction to building apps for windows phone 8
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature Matrix
 
Windows 8 Hot or Not
Windows 8 Hot or NotWindows 8 Hot or Not
Windows 8 Hot or Not
 
CFInterop
CFInteropCFInterop
CFInterop
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
Asp dot net
Asp dot netAsp dot net
Asp dot net
 
Windows Phone Apps Development overview
Windows Phone Apps Development overviewWindows Phone Apps Development overview
Windows Phone Apps Development overview
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers Conference
 
Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8
 
C#.NET
C#.NETC#.NET
C#.NET
 
Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
Session i
Session iSession i
Session i
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 

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

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

C++ in windows phone apps

  • 1. www.italiancpp.org C++ in Windows Phone Apps Mirco Vanini – Microsoft MVP Windows Embedded
  • 2. Italian C++ Community Agenda 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) i=2
  • 3. Italian C++ Community The New Old Platform i=3
  • 4. Italian C++ Community How: Windows Phone C++ Support Can be used in any Windows Phone App Visual Studio Express 2012/3/(5) for Windows Phone Same C++ compiler & CRT used in Windows 8 Subset of C++ 11 standard features i=4
  • 5. Italian C++ Community Sampling of C++ 11 Standard Features i=5 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. Italian C++ Community Why use C++ 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++ i=6
  • 7. Italian C++ Community Where you can use C++ 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 i=7 WP 7.0 Silverlight WP 7.5 Silverlight WP 8.0 Silverlight WP 8.1 Silverlight WP 8.1 WinRT
  • 8. Italian C++ Community Why stay on Windows Phone Silverlight? Existing Code Investment Existing Install Base Not yet converged ◦ Camera Lenses ◦ VoIP ◦ Lock Screen Wallpaper. ◦ Clipboard API ◦ Simple Sound Effects (XNA) ◦ Run Under Lock Screen i=8
  • 9. Italian C++ Community Why Retarget to Windows Phone Silverlight 8.1? Access to SD Cards Geofencing App to App SSO (Single Sign-On) App to App sharing And much more… i=9
  • 10. Italian C++ Community Windows Phone Runtime 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 ◦ More Convergence ◦ Latest Tooling ◦ New Controls ◦ Future Investment ◦ Same ECMA-335 standard as .NET ◦ Type-System Projections ◦ CLR Projection ◦ Framework Projection i=10
  • 11. Italian C++ Community A Closer Look at What's Available i=11 Direct3D with XAML" C++ application actually creates a C# main project and a separate Windows Runtime Component in C++.
  • 13. Italian C++ Community Recap / Q&A Welcome back to C++! i=13
  • 14. Italian C++ Community Contact i=14 Blog http://mircovanini.blogspot.com Email info@proxsoft.it Web www.proxsoft.it Twitter@MircoVanini