/
Cross-Platform Mobile App Development with Visual C++ 2015 Cross-Platform Mobile App Development with Visual C++ 2015

Cross-Platform Mobile App Development with Visual C++ 2015 - PowerPoint Presentation

trish-goza
trish-goza . @trish-goza
Follow
418 views
Uploaded On 2016-11-17

Cross-Platform Mobile App Development with Visual C++ 2015 - PPT Presentation

Develop for Windows Android and iOS March 15 th 2016 Marc Grégoire marcgregoirenuonsoftcom More Platforms More Opportunities Mobile users want to use same application across devices ID: 489885

android platform cross visual platform android visual cross java ios developers mobile development 2015 platforms studio build library tools

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Cross-Platform Mobile App Development wi..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Cross-Platform Mobile App Development with Visual C++ 2015

Develop for Windows, Android, and iOS

March 15th 2016

Marc

Grégoiremarc.gregoire@nuonsoft.com Slide2

More Platforms = More Opportunities

Mobile users want to use same application

across devices

Developers want to target many platformsSlide3

More Platforms = More Opportunities

11%

26%

2%

8%

6%

12%

28%

55%

37%

1%

Primary platform for Android and iOS developers

46%

30%

10%

Primary platform for developers using all 3 platforms

Primary platform for iOS and WP developers

Primary platform for Android and WP developers

46%

36%

4%

50%

23%

6%

Currently 37% of all

mobile developers target

Both iOS and Android

Game developers on

Average build for 2.6

platforms

Non-Game developers

on average build for 2.2

platforms.

Survey source: Vision Mobile – “Cross-platform tools 2015”Slide4

Multi-Platform Approach?

Slide5

iOS

Android

Windows

The Silo Approach

C#, C++/CX

ObjC, Swift

Java

Benefits

Full native experience

Total access to the device as provided

by the SDK

New SDK features are immediately useable

Negatives

Minimal code reuse

Higher development cost

One platform becomes the dominant platformSlide6

Benefits

Support a wide range of platforms

Use existing development skills

NegativesNo fast iterationLack native look and feel

Run-time Performance

Survey source: Vision Mobile – “Cross-platform tools 2015”

The cross-platform approachSlide7

Common Denominator?

Slide8

Trivia!

Android

Java

How many of the

top 100

applications on the

Android U.S.

Playstore

leverage C++ code?

None

15%

40%

75%Slide9

Trivia!

Java

--------------

C++

How many of the

top 100

applications on the

Android U.S.

Playstore

leverage C++ code?

None

15%

40%

75%

AndroidSlide10

Top 100 Android U.S.

Playstore

applications

Java

--------------

C++

Messenger

Facebook

Pandora Radio

Instagram

Minecraft

Snapchat

Spotify Music

Du Speed Booster

Twitter

The Game of Life

Super Bright LED

FlashLight

Soda Saga

Skype – Free

Whatsapp

Messenger

Clean Master

Netflix

Kik

Crossy

Road

Clash of Clans

Amazon Shopping

Candy Crush e IM and Video Calls

8 Ball Pool

Glass Tower

Subway Surfers

Pinterest

Cooking Fever

Zedge

Ringtones and Wallpaper

Word Academy

Poshmark

- Buy and Sell

Candy Crush Saga

Dragon Blaze

Marvel Future Fight

Emoji Keyboard

DU Battery saver

SoundCloud

- Music and Radio

Monopoly

Twitter

CM Security Antivirus

Slots - Journey of Magic

Yahoo Mail - Free Email App

iHeart

Radio - Radio and Music

Temple Run 2

Boom Beach

Despicable me

ebay

Wish - shopping made fun

Trivia Check

Juice Jam

Game of War - Fire Age

TouchPal

Keyboard

Geometry Dash Lite

Flow Free

Bird Climb

Coin Dozer

Uber

Google Earth

Flow Free

Bird Climb

Coin Dozer

Uber

Google Earth

Archery Master 3d

Go Keyboard - Emoji

ooVoo

video call

Inbox by Gmail

Samsung Smart Switch Mobile

Tango - Free video call and chat

Earn to Die 2

Fruit Ninja Free

Farm Heroes Saga

Wallapop

Capital One Wallet

Truck Driver 3d:

offroad

Solitare

Plants vs Zombies

Hidden Object -

Marrinotes

Tinder

DropBox

Hulu

Extreme Car driving simulator

The Sims 3 Word Search Hidden Object - Marrinotes

TinderHuluExtreme Car driving simulatorNeed for Speed Most WantedAngry BirdsShazamMyRadar Weather RadarVineLine: Free calls and messagesWaze Social GPS MapsGoogle TranslateDon't tap the white tilePanda PopEA Sports UFCFlipagramHill Climb RacingTasty Tale - The Cooking GameYelpOffer Up - Buy, sellCM Launcher - Boost, SecureTemple RunEmpire and Allies Google DocsTetrisBattery DoctorBeats MusicWalmartSurgery DoctorEA FrostBite

AndroidSlide11

C++ the common denominator

C#, CX

ObjC, Swift

Java

----------

C++

----------

C++

----------

C++

Benefits

Full native experience

Total access to the device as provided

by the SDK

Code Reuse (own + 3

rd

party)

Performance

Battery life

Security

iOS

Android

WindowsSlide12

C++ the common denominator

.ipa

.apk

.appx

.appx

.apk

.ipa

C#,

C++/Cx

Java

Dex

/ ART

ObjC

Swift

Dynamic

Link Library (.dll)

Static

Library (.lib)

Dynamic

shared library (.so)

Static

library (.a)

Static

library (.a)

Shared C++ backend

is compiled as:

XAML

C++/

Cx

C#

Pinvoke

C++ Wrapper

Java/C++

JNI Wrappers

ObjC Wrapper

XML

Java

Cocoa Touch

Shared C++ Backend

DropBox

MomentsSlide13

Compilers

Visual C++ Compiler

GCC

Clang/LLVMClang/LLVMBuild EngineMSBuild, NmakeNDK Build, Make files, Gradle, AntXcode BuildIDE(s)Visual StudioEclipse CDTXcodeHost PlatformWindows 8/8.1/10MacOS X, Linux, WindowsMac OS X

Development tools for C++ cross-platform

Development tools for C++ cross-platformSlide14

Multiple installation experiences

Multiple C++ IDE(s)

Maintaining multiple build tools

and automated build systemsDebugging experience is not ideal

Challenges with C++ cross-platform mobileSlide15

Easy

to install

Single

installer

One

C++ IDE for your cross-platform needs

Share

and

reuse

cross-platform code

Emulation

support

Visual Studio 2015

Solution

Wish list for C++ cross-platform mobileSlide16

Visual C++

Slide17

Easy

installation

One

C++ IDE for your cross-platform needsShare and reuse cross-platform codeState of the Art code-editing features like IntelliSenserefactoring, static code analysis, …

Powerful

debugging experience

Fast emulation

Visual Studio 2015

Visual C++

Visual Studio 2015Slide18

Demo

Slide19

Visual Studio 2015 Update 1

Java Language Service for Android and Eclipse Android Project Import (

VSGallery

)

Java editing for all Java sources in Android projects

Syntax and semantic colorization

Semantic highlighting

Error and warning squiggles

Auto-complete, parameter help, quick info tooltips and support for Go-to-definition

Eclipse project importer

Java debugging support

arm64 / x64 targets (Android and iOS)

Parallel compilation for Android development

Visual C++Slide20

Visual Studio 2015 Update 2

Xcode

project importer

Visual C++Slide21

What

s coming!

Cmake

support (Project Generators)

New Android NDK, iOS SDK targeting

Visual C++Slide22

Resources

https://www.visualstudio.com/en-us/features/cplusplus-mdd-vs.aspx

blogs.msdn.com/b/

vcblog

/

Install and configure tools to build using iOS:

https://msdn.microsoft.com/en-us/library/mt147405.aspx

Ankit Asthana

(

aasthan@microsoft.com

)

Senior program manager in charge of the cross-platform mobile

C++ app development experience in Visual Studio

Marc Gregoire

(

marc.gregoire@nuonsoft.com

)Slide23

Q&A