c++ in windows phone apps - overview

13
one day mobile 2014 C++ in Windows Phone Apps Mirco Vanini Microsoft® MVP Windows Embedded

Upload: mirco-vanini

Post on 10-May-2015

157 views

Category:

Software


1 download

TRANSCRIPT

Page 1: C++ in Windows Phone Apps - Overview

one day mobile 2014

C++ in Windows Phone Apps

Mirco Vanini

Microsoft® MVP Windows Embedded

Page 2: C++ in Windows Phone Apps - Overview

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

Page 3: C++ in Windows Phone Apps - Overview

one day mobile 2014

The New Old Platform

Page 4: C++ in Windows Phone Apps - Overview

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

Page 5: C++ in Windows Phone Apps - Overview

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

Page 6: C++ in Windows Phone Apps - Overview

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++

Page 7: C++ in Windows Phone Apps - Overview

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++

Page 8: C++ in Windows Phone Apps - Overview

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

• Common type system

• Standard programming

model

APIs:

• Windows Phone Platform

APIs

• Libraries you write and

license

• Projected to C++ and

C# / VB

Page 9: C++ in Windows Phone Apps - Overview

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++.

Page 10: C++ in Windows Phone Apps - Overview

one day mobile 2014

Sharing C++ code

Page 11: C++ in Windows Phone Apps - Overview

one day mobile 2014

Welcome back to C++!

Recap

Page 12: C++ in Windows Phone Apps - Overview

one day mobile 2014

Q&A

Page 13: C++ in Windows Phone Apps - Overview

one day mobile 2014

Contact

feedback

10

Bloghttp://mircovanini.blogspot.com

Email [email protected]

Web www.proxsoft.it

Twitter @MircoVanini