SlideShare a Scribd company logo
1 of 28
WAY AHEAD™
Native Development for Windows Phone
The Windows Runtime API and Modern C++
2
»Senior Software Engineer at ALK Technologies
»Led development effort to bring CoPilot GPS
navigation app to Windows Phone 8
» #4 Free Navigation App in Window Phone store
»Windows Phone Dev by day and night
» Released 6 of my own apps to Windows Phone store
»Blog: www.robwirving.com
»Twitter: @robwirving
Rob Irving
3
»History of Native on Windows Phone
»Why use Native?
»C++ 11
»Windows Runtime (WinRT)
»Component Extensions (C++/CX)
»Options in Visual Studio
»Sample Code
»Q & A
Agenda
4
»Lack of Native Development on WP7 hurt the
platform
» Lack of high-end games available on other platforms
» More difficult/impossible to port existing apps from
other platforms
»Support for Native Development is the single
largest change in the WP8 SDK
»Native Gaming and Middleware products
» Unity 3D, Havok, Cocos 2D, etc.
History of Native on Windows Phone
WAY AHEAD™
Why use Native?
6
»Reusability
» Existing code that you don’t want to rewrite
» Use of existing 3rd party libraries (SQLite)
»Portability
» Share code between Windows, iOS and Android
» Write once, use it everywhere
Why use Native?
7
»Game development with high-end graphics
» Direct3D on Windows and Windows Phone
» OpenGL on iOS and Android
»Performance
» Should not be viewed as the main reason to use C++
» Performance can be better using Native, but is often
exaggerated
Why use Native?
8
»Portability & Reusability in action
» ~1,000 Lines of C# for WP8
» ~7,000 Lines of new C++ and C++/CX
» ~800,000 Lines of existing C++ code
»~99% shared code between
Windows Phone, iOS and Android!
CoPilot GPS – Native Case Study
WAY AHEAD™
A brief introduction to Modern C++
C++ 11
10
1979
1983
1998 2011
History of C++
C++ began as an
enhancement
to C at Bell Labs
Originally named
‘C with Classes’
Renamed to C++
C++ ISO committee
defined C++ 98
No significant changes
to C++ for 13 years
C++ ISO committee
defined C++ 11
New features heavily
influenced by managed
languages like .NET
11
»Type inference (auto)
» Avoid explicitly declaring the type of a variable
» Similar to .NET ‘var’ keyword
»Lambdas
» Anonymous inline functions
C++ 11 Features
int num1 = 10;
double num2 = 2.5
auto num3 = num1 / num2;
std::vector<CityLocation> cities;
std::sort(begin(cities), end(cities), [](CityLocation a, CityLocation b)
{
return a.distance < b.distance;
});
12
»Strongly type enums
»Foreach-ish loop
C++ 11 Features
int numbers[] = {0, 1, 2, 3, 4, 5};
int sum = 0;
for(int& number : numbers)
{
sum += number;
}
enum class Fruit
{
Apple,
Banana,
Orange
};
if(meal.Fruit == Fruit::Banana)
// do Banana stuff
int fruitAbomination = Apple + Orange; // ERROR - Can’t do this anymore
WAY AHEAD™
Windows Runtime API
14
»Shared API between Windows Phone 8 and
Windows Store Apps
» Overlaps much of the existing Windows Phone .NET
API
» Not all APIs are available for both
» ~11,000 Windows Runtime
» ~2,800 for both
» ~600 Windows Phone Runtime
Windows Runtime API (WinRT)
15
»API is a COM-based Native API
»Accessible from C#, VB.NET and Component
Extensions (C++/CX)
» Also Javascript on Windows 8
»API definitions in Windows Metadata (.winmd)
files
» Similar format to .NET API definitions
Windows Runtime API (WinRT)
16
»Native / Managed Interop
» WinRT is the only supported method of interop
»The most painful parts of Native /Managed
interop are gone with Windows Runtime
» No P/Invoke
» No Marshalling
Native Interop is easy with WinRT
WAY AHEAD™
Component Extensions (C++/CX)
18
»Syntax and Library abstractions to interact with
COM based WinRT API
»Much easier to develop for compared to old
COM programming
Component Extensions (C++/CX)
19
»Syntactically similar to C++/CLI
» ‘ref’ and ‘sealed’ classes
» Reference pointers or ‘hats’ ^
Component Extensions (C++/CX)
public ref class Foo sealed
{
};
Foo^ foo = ref new Foo();
20
»Differences from C++/CLI
» No managed CLR
» No Garbage Collection, ref counted objects instead
» ref new instead of gcnew
» Pure C++ classes allowed in C++/CX classes
» Global ref ptr’s allowed
Component Extensions (C++/CX)
21
»Properties
» No value keyword
» Can’t have public get, private set
Component Extensions (C++/CX)
public ref class Foobar sealed
{
public:
property int Foo; // automatic/trivial property
property int Bar
{
int get() { return _bar; }
void set(int newBar)
{
if(newBar > 0)
_bar = newBar;
}
}
private:
int _bar;
};
22
»Events
» Very similar to .NET events
» Unsubscribe using token
Component Extensions (C++/CX)
MyClass::MyClass()
{
geoLocator = ref new Geolocator();
// subscribe
eventToken = geoLocator->PositionChanged +=
ref new TypedEventHandler<Geolocator^, PositionChangedEventArgs^>(this, &MyClass::OnPosChanged);
}
MyClass::~MyClass()
{
// unsubscribe
geoLocator->PositionChanged -= eventToken;
}
void MyClass::OnPosChanged(Geolocator^ geoLocator, PositionChangedEventArgs^ args)
{
auto geoPos = args->Position->Coordinate;
}
23
»XAML with Direct 3D
Options in Visual Studio
24
»Several Native Projects available
Options in Visual Studio
WAY AHEAD™
Visual Studio Demo
26
Additional Resources
Windows Phone 8 Development Internals
(Whitchapel, McKenna)
http://amzn.to/1a2989c
Modern C++ and Windows Store Apps
(Poduri)
http://amzn.to/GEW6Y4
27
»Channel 9 – channel9.msdn.com
» Build 2012 Sessions
channel9.msdn.com/Events/Build/2012/
» Build 2013 Sessions
channel9.msdn.com/Events/Build/2013/
» Going Native
channel9.msdn.com/Shows/C9-GoingNative
»C++ 11 Features in Visual C++ 11
blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
Additional Resources
28
»Questions & Answers
»Slides will be posted to blog: robwirving.com
Thank You!

More Related Content

Similar to Native Development for Windows Phone 8

Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJIntroduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
meharikiros2
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
bryan costanich
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
dftaiwo
 

Similar to Native Development for Windows Phone 8 (20)

Introduction-to-C-Part-1 (1).doc
Introduction-to-C-Part-1 (1).docIntroduction-to-C-Part-1 (1).doc
Introduction-to-C-Part-1 (1).doc
 
C++ in windows phone apps
C++ in windows phone appsC++ in windows phone apps
C++ in windows phone apps
 
Flutter vs. MAUI - what should you pick and why?
Flutter vs. MAUI - what should you pick and why?Flutter vs. MAUI - what should you pick and why?
Flutter vs. MAUI - what should you pick and why?
 
Introduction-to-C-Part-1.pptx
Introduction-to-C-Part-1.pptxIntroduction-to-C-Part-1.pptx
Introduction-to-C-Part-1.pptx
 
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJIntroduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
 
Introduction of c++ course
Introduction of c++ courseIntroduction of c++ course
Introduction of c++ course
 
C++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroC++ Windows Forms L01 - Intro
C++ Windows Forms L01 - Intro
 
Introduction-to-C-Part-1.pdf
Introduction-to-C-Part-1.pdfIntroduction-to-C-Part-1.pdf
Introduction-to-C-Part-1.pdf
 
Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++
 
C++ helps you to format the I/O operations like determining the number of dig...
C++ helps you to format the I/O operations like determining the number of dig...C++ helps you to format the I/O operations like determining the number of dig...
C++ helps you to format the I/O operations like determining the number of dig...
 
Session Four C#
Session Four C# Session Four C#
Session Four C#
 
Session 1 - c++ intro
Session   1 - c++ introSession   1 - c++ intro
Session 1 - c++ intro
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Session4 csharp
Session4 csharpSession4 csharp
Session4 csharp
 
C# rocks
C# rocksC# rocks
C# rocks
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Srgoc dotnet_new
Srgoc dotnet_newSrgoc dotnet_new
Srgoc dotnet_new
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 

Native Development for Windows Phone 8

  • 1. WAY AHEAD™ Native Development for Windows Phone The Windows Runtime API and Modern C++
  • 2. 2 »Senior Software Engineer at ALK Technologies »Led development effort to bring CoPilot GPS navigation app to Windows Phone 8 » #4 Free Navigation App in Window Phone store »Windows Phone Dev by day and night » Released 6 of my own apps to Windows Phone store »Blog: www.robwirving.com »Twitter: @robwirving Rob Irving
  • 3. 3 »History of Native on Windows Phone »Why use Native? »C++ 11 »Windows Runtime (WinRT) »Component Extensions (C++/CX) »Options in Visual Studio »Sample Code »Q & A Agenda
  • 4. 4 »Lack of Native Development on WP7 hurt the platform » Lack of high-end games available on other platforms » More difficult/impossible to port existing apps from other platforms »Support for Native Development is the single largest change in the WP8 SDK »Native Gaming and Middleware products » Unity 3D, Havok, Cocos 2D, etc. History of Native on Windows Phone
  • 6. 6 »Reusability » Existing code that you don’t want to rewrite » Use of existing 3rd party libraries (SQLite) »Portability » Share code between Windows, iOS and Android » Write once, use it everywhere Why use Native?
  • 7. 7 »Game development with high-end graphics » Direct3D on Windows and Windows Phone » OpenGL on iOS and Android »Performance » Should not be viewed as the main reason to use C++ » Performance can be better using Native, but is often exaggerated Why use Native?
  • 8. 8 »Portability & Reusability in action » ~1,000 Lines of C# for WP8 » ~7,000 Lines of new C++ and C++/CX » ~800,000 Lines of existing C++ code »~99% shared code between Windows Phone, iOS and Android! CoPilot GPS – Native Case Study
  • 9. WAY AHEAD™ A brief introduction to Modern C++ C++ 11
  • 10. 10 1979 1983 1998 2011 History of C++ C++ began as an enhancement to C at Bell Labs Originally named ‘C with Classes’ Renamed to C++ C++ ISO committee defined C++ 98 No significant changes to C++ for 13 years C++ ISO committee defined C++ 11 New features heavily influenced by managed languages like .NET
  • 11. 11 »Type inference (auto) » Avoid explicitly declaring the type of a variable » Similar to .NET ‘var’ keyword »Lambdas » Anonymous inline functions C++ 11 Features int num1 = 10; double num2 = 2.5 auto num3 = num1 / num2; std::vector<CityLocation> cities; std::sort(begin(cities), end(cities), [](CityLocation a, CityLocation b) { return a.distance < b.distance; });
  • 12. 12 »Strongly type enums »Foreach-ish loop C++ 11 Features int numbers[] = {0, 1, 2, 3, 4, 5}; int sum = 0; for(int& number : numbers) { sum += number; } enum class Fruit { Apple, Banana, Orange }; if(meal.Fruit == Fruit::Banana) // do Banana stuff int fruitAbomination = Apple + Orange; // ERROR - Can’t do this anymore
  • 14. 14 »Shared API between Windows Phone 8 and Windows Store Apps » Overlaps much of the existing Windows Phone .NET API » Not all APIs are available for both » ~11,000 Windows Runtime » ~2,800 for both » ~600 Windows Phone Runtime Windows Runtime API (WinRT)
  • 15. 15 »API is a COM-based Native API »Accessible from C#, VB.NET and Component Extensions (C++/CX) » Also Javascript on Windows 8 »API definitions in Windows Metadata (.winmd) files » Similar format to .NET API definitions Windows Runtime API (WinRT)
  • 16. 16 »Native / Managed Interop » WinRT is the only supported method of interop »The most painful parts of Native /Managed interop are gone with Windows Runtime » No P/Invoke » No Marshalling Native Interop is easy with WinRT
  • 18. 18 »Syntax and Library abstractions to interact with COM based WinRT API »Much easier to develop for compared to old COM programming Component Extensions (C++/CX)
  • 19. 19 »Syntactically similar to C++/CLI » ‘ref’ and ‘sealed’ classes » Reference pointers or ‘hats’ ^ Component Extensions (C++/CX) public ref class Foo sealed { }; Foo^ foo = ref new Foo();
  • 20. 20 »Differences from C++/CLI » No managed CLR » No Garbage Collection, ref counted objects instead » ref new instead of gcnew » Pure C++ classes allowed in C++/CX classes » Global ref ptr’s allowed Component Extensions (C++/CX)
  • 21. 21 »Properties » No value keyword » Can’t have public get, private set Component Extensions (C++/CX) public ref class Foobar sealed { public: property int Foo; // automatic/trivial property property int Bar { int get() { return _bar; } void set(int newBar) { if(newBar > 0) _bar = newBar; } } private: int _bar; };
  • 22. 22 »Events » Very similar to .NET events » Unsubscribe using token Component Extensions (C++/CX) MyClass::MyClass() { geoLocator = ref new Geolocator(); // subscribe eventToken = geoLocator->PositionChanged += ref new TypedEventHandler<Geolocator^, PositionChangedEventArgs^>(this, &MyClass::OnPosChanged); } MyClass::~MyClass() { // unsubscribe geoLocator->PositionChanged -= eventToken; } void MyClass::OnPosChanged(Geolocator^ geoLocator, PositionChangedEventArgs^ args) { auto geoPos = args->Position->Coordinate; }
  • 23. 23 »XAML with Direct 3D Options in Visual Studio
  • 24. 24 »Several Native Projects available Options in Visual Studio
  • 26. 26 Additional Resources Windows Phone 8 Development Internals (Whitchapel, McKenna) http://amzn.to/1a2989c Modern C++ and Windows Store Apps (Poduri) http://amzn.to/GEW6Y4
  • 27. 27 »Channel 9 – channel9.msdn.com » Build 2012 Sessions channel9.msdn.com/Events/Build/2012/ » Build 2013 Sessions channel9.msdn.com/Events/Build/2013/ » Going Native channel9.msdn.com/Shows/C9-GoingNative »C++ 11 Features in Visual C++ 11 blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx Additional Resources
  • 28. 28 »Questions & Answers »Slides will be posted to blog: robwirving.com Thank You!

Editor's Notes

  1. So why use Native? Can anyone tell me some of the reasons why you might want to use Native Code instead of something like C# ? Performance is not the main reason