c++ in windows phone apps

14
www.italiancpp.org C++ in Windows Phone Apps Mirco Vanini – Microsoft MVP Windows Embedded

Upload: mirco-vanini

Post on 17-Jul-2015

99 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: C++ in windows phone apps

www.italiancpp.org

C++ in Windows Phone AppsMirco Vanini – Microsoft MVP Windows Embedded

Page 2: C++ in windows phone apps

Italian C++ Community

AgendaThe 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

Page 3: C++ in windows phone apps

Italian C++ Community

The New Old Platform

i=3

Page 4: C++ in windows phone apps

Italian C++ Community

How: Windows Phone C++ SupportCan 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

Page 5: C++ in windows phone apps

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

Page 6: C++ in windows phone apps

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

Page 7: C++ in windows phone apps

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.0Silverlight

WP 7.5Silverlight

WP 8.0Silverlight

WP 8.1Silverlight

WP 8.1WinRT

Page 8: C++ in windows phone apps

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

Page 9: C++ in windows phone apps

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

Page 10: C++ in windows phone apps

Italian C++ Community

Windows Phone RuntimeWhy 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

Page 11: C++ in windows phone apps

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

Page 12: C++ in windows phone apps

Italian C++ Community

Sharing C++ code

i=12

Page 13: C++ in windows phone apps

Italian C++ Community

Recap / Q&A

Welcome back to C++!

i=13

Page 14: C++ in windows phone apps

Italian C++ Community

Contact

i=14

Blog http://mircovanini.blogspot.com

Email [email protected]

Web www.proxsoft.it

Twitter@MircoVanini