Develop a Windows 10 App. Deploy it on PC, Phone and Raspberry Pi.

Post on 09-Aug-2015

66 views 3 download

Transcript of Develop a Windows 10 App. Deploy it on PC, Phone and Raspberry Pi.

MOBILE CAMP - NAPOLIDevelop a Windows 10 app

Deploy it on PC, Phone and Raspberry Pi

Clemente Giorio

@meetdux

Hi! I’m Clemente

@tinux80 Kinect MVP Author

Research &

DevelopmentMember

@meetdux

Overview on Universal Windows Platform

How to Develop a simple UWP app

Deploy on PC

Agenda

Deploy on Phone

Deploy on Raspberry Pi 2

@meetdux

Mobile

Holographic Surface

Hub

XboxIoT

Desktop

@meetdux

Windows Core

One Hardware platform

Universal hardware driver

Standard network and I/O

One App Mode

One Windows Kernel

@meetdux

Windows Core The refactored common core

One hardware platform Universal hardware driver Standard network and I/O

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

DesktopSKU

PhoneSKU

XboxSKU

@meetdux

One Windows

DesktopSKU

PC

2 in 1

MobileSKU

Tablet

Phablet

Phone

XboxSKU

Xbox

IoTSKU

Band

IoT headless

SKU

Raspberry Pi

Home Automatio

n

Surface HubSKU

Surface Hub

Holographic

SKU

HoloLens

Each family adds features to the one it inherits

@meetdux

Easy for users to get & stay

current

Unified core and app platform

The convergence journey

Windows Phone 7.5

Windows Phone 8Windows Phone 8.1

Windows 8

Xbox One

Windows on Devices

Xbox 360

Windows 8.1

Windows 10

ConvergedOS kernel

Convergedapp model

@meetdux

Phone Small Tablet

2-in-1s(Tablet or Laptop)

Desktops & All-in-OnesPhablet Large Tablet

Classic Laptop

Xbox IoTSurface Hub

Holographic

Windows 10

@meetdux

Multiple device families

PC XBoxMobile Surface Hub

HoloLensDevices +IoT

Universal Windows Apps

One Store +One Dev Center

Reuse Existing CodeOne SDK +

Tooling

Adaptive User Interface Natural

User Inputs

One Universal Windows Platform

@meetdux

Universal Windows Platform A single API surface

A guaranteed API surface The same on all devices

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

@meetdux

One Windows

DesktopSKU

PC

2 in 1

MobileSKU

Tablet

Phablet

Phone

XboxSKU

Xbox

IoTSKU

Band

IoT headless

SKU

Raspberry Pi

Home Automatio

n

Surface HubSKU

Surface Hub

Holographic

SKU

HoloLens

Apps don't target Operating System, Apps target the platform

@meetdux

Universal Windows 8.1 app

#if WINDOWS_APP ResourceLoader loader = new ResourceLoader(); string about = loader.GetString("SettingsLabel/Text"); string privacy = loader.GetString("PrivacySettings/Text"); string options = loader.GetString("Settings/Text"); ISettingsService settings = container.RegisterSettingsService(); settings.RegisterFlyoutCommand<AboutViewModel>(about); settings.RegisterFlyoutCommand<PrivacyPolicyViewModel>(privacy); settings.RegisterFlyoutCommand<SettingsViewModel>(options);#endif

@meetdux

<TargetPlatform

Name="Microsoft.Universal"minVersion="10.0.10069.0" maxVersionTested="10.0.10190.0"/>

The Universal Windows Platform can update at its own cadence

@meetdux

Windows app A single binary

Running on any device Testing for capabilities Adjusting to devices

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

Windows App

@meetdux

Platform extensions Device-specific API

Family-specific capabilities Compatible across devices Unique update cadence

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

Windows App

Phoneextension

Xboxextension

Desktop

extension

@meetdux

Platform extensions

Extensions don't invalidate binaries on other devices

@meetdux

Universal Windows Platform

StoreDev Center

Winows Core

App Platform

Traditional Microsoft technologies are not the only way to create Windows apps

@meetdux

Windows 10operating system

Bridging technologies

Win32

desktop

Webhosted

JavaAndroid

Obj.CiOS

Universal Windows Platform

WWAC++& CX

.Netlanguages

HTMLDirectX

XAML

C++

.Netlanguages

MFCWFWPF

.Netruntime

@meetdux

Let’s talk about bridge technologies Objective-C

At Build we announced iOS code can be reused in a Windows app

Android At Build we announced Android code can be reused in a Windows app to run on Windows Phone

Web At Build we announced web sites can be wrapped to run on Windows

Win32 At Build we announced that Classic Windows Apps (CWA) can be packaged as an Appx

Bridges bring more apps to the Windows platform

@meetdux

Adaptive design Responsive design

Flexible layout responds to small changes Many controls handle basic responsiveness

Adaptive design Smart layout adjusts to large changes Features like visual states aid in this design

Tailored design A device-specific app can simplify design Some devices have unique design languages

Users love apps that work great on all their devices

@meetdux

Test capabilities at runtime Use Adaptive Code to light-up

your app on specific devices

var api = "Windows.Phone.UI.Input.HardwareButtons";if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api)){

Windows.Phone.UI.Input.HardwareButtons.CameraPressed += CameraButtonPressed;} 

@meetdux

IsApiContractPresentIsEnumNamedValuePresentIsEventPresentIsMethodPresentIsPropertyPresentIsReadOnlyPropertyPresentIsTypePresentIsWriteablePropertyPresent

Windows.Foundation.Metadata.ApiInformation

Test capabilities at runtime

@meetdux

UAP

Windows Core Windows Core Windows Core Windows Core

UAP UAP UAP

Desktop Mobile Xbox More…

The device families you choose determines which APIs you can call freely

One simple, unified, integrated development environment

@meetdux

Visual Studio IDE Every project type

Desktop, Windows, Phone, Service, Web, Game, More…

Every developer task Code edit, Architecture design, UX design, Debug, Profile, Review, Test,

More…

Every development language C++/CX, C#, Visual Basic, JavaScript, XAML, HTML, More…

Visual Studio Online Source repository, project management, bug tracking, More…

@meetdux

Where can I develop? Windows 10

Requires Visual Studio 2015

Windows 8.1 & Windows Server 2012 R2 The Visual Studio designer does not function Debugging requires a Windows 10 device or Remote Debugging Tools

@meetdux

ChecklistWidows 10 Insider Previewhttp://insider.windows.comVisualVisual Studio 2015 RChttp://www.visualstudio.comWindows Developer License

Hyper-V (WP)

@meetdux

Introducing “Template 10” A new blank template

Includes a few files & empty folders to guide conventions

Similar to the MVC template Add-on components to solve common problems

Solving for the 90% The code will solve the 90% use case

Delivering with Windows 10 The template is in GitHub and still under construction

@meetdux

Developer unlock

@meetdux

Now “Hello World!”

The code

Deploy on PC

Deploy on Phone Emulator

Deploy on Raspberry Pi 2

@meetdux

@meetdux

DEMO:

“Hello World”

@meetdux

@meetdux

@meetdux

@meetdux

SETUP

Windows Embedded Pre-Release Programs

Setup Raspberry Pi 2

Boot Windows 10 IoT Core Insider Preview

@meetdux

@meetdux

DEMO:

“LED”

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

@meetdux

DEMO:

“Two LEDs”

@meetdux

Ahsante

Thank you

@meetdux

Facebook

Community

Twitter

Linkedin

Connect Beyond the Presentation

Clemente Giorio

Clemente.Giorio@live.com@Tinux80http

://it.linkedin.com/pub/clemente-giorio/11/618/3a

Let’s Connect