universal windows platform - application development done right

Post on 14-Apr-2017

218 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Universal Windows PlatformApplication development done right

HelloI’m Christos

@christosmatskas cmatskas https://cmatskas.com

AgendaWhat is the Universal Windows Platform - UWPHello Devices - DemoResponsive UI Techniques Adaptive CodeBridging – Going cross platform

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

Phone Small Tablet

2-in-1s(Tablet or Laptop)

Desktops & All-in-OnesPhablet Large Tablet

Classic Laptop

Xbox IoTSurface Hub

Holographic

Windows 10

Multiple device families

PC XBoxMobile Surface Hub

HoloLensDevices +IoT

Universal Apps

One Store +One Dev Center

Reuse Existing CodeOne SDK +

Tooling

Adaptive User Interface Natural

User Inputs

One Universal Windows Platform

Windows 10operating system

Bridging technologies

Win32desktop

Webhosted

JavaAndroid

Obj.CiOS

Universal Windows Platform

WWAC++& CX

.Netlanguages

HTMLDirectX

XAML

C++

.Netlanguages

MFCWFWPF

.Netruntime

Universal Windows PlatformA single API surfaceA guaranteed API surfaceThe same on all devices

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

A whole lot of APIs…

Storage DirectX 12 Speech and Cortana

Networking NFC and Bluetooth

Holographic Audio and Video

Appointments/Calendar

Authentication Broker

Background Transfer

Sensors: Acceleromete

r, light, magnet …

Tiles and Notifications

App to App and App Services

InkingMaps and Location

XAML Background Tasks

Data Roaming

Data.XML Media Casting

Many, many more….

Apps don't target Windows 10, apps target the UWP

{ "dependencies": { "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0" }, "frameworks": { "uap10.0": {} }, "runtimes": { "win10-arm": {}, "win10-arm-aot": {}, "win10-x86": {}, "win10-x86-aot": {}, "win10-x64": {}, "win10-x64-aot": {} }}

The Universal Windows Platform can update at its own cadence

Windows appA single binary Running on any deviceTesting for capabilitiesAdjusting to devices

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

Windows App

Demo: Hello devices

Universal Windows PlatformOne Operating SystemOne Windows core for all devices

One App PlatformApps run across every family

One Dev CenterSingle submission flow and dashboard

One Store Global reach, local monetization Consumers, Business & Education

One Windows

DesktopSKU

PC

2 in 1

MobileSKU

Tablet

Phablet

Phone

XboxSKU

Xbox

IoTSKU

Band

IoT headless

SKU

Raspberry Pi

Home Automati

on

Surface HubSKU

Surface Hub

Holographic

SKU

HoloLens

Each family offers its own shelland adds features to those it inherits

Adaptive UI

Adaptive designResponsive designFlexible layout responds to small changes

Many controls handle basic responsivenessAdaptive design

Smart layout adjusts to large changesFeatures like visual states aid in this design

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

Adaptive designPhone (portrait)

Tablet (landscape) / Desktop

Tailored designPhone (portrait)

Tablet (landscape) / Desktop Build unique experiences on different devices

Continuum for Convertibles and PhonesContinuum for convertibles and Phones

Users love apps that give a great experience on all their devices

We want you to use your design, fonts, icons etc…

If you’re stuck, or need inspiration, we share our first party guidance that you can use

Demo: Adaptive UI

Platform extensionsDevice-specific APIFamily-specific capabilitiesCompatible across devicesUnique update cadence

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

Windows App

Phoneextension

Xboxextension

Desktop

extension

Platform extensions don't invalidate binaries on other devices

UWP

Windows Core Windows Core Windows Core Windows Core

UWP UWP UWP

Desktop Mobile Xbox More…

Test capabilities at runtimeUse Adaptive Code to light-up our app with capabilities on specific device familiesTesting for capabilities and namespaces

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

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

Demo: Adaptive code

Bridging Technologies

pp

Web Apps

NEW: Hosted Web Apps

Bring your website experience to the Windows Store

Leverage your web investments and developer workflow

Full access to Universal APIs, including Tiles, Notifications, Camera, Contact List, Calendar

Universal Windows Platform

.appx

HTMLCSSJS

Windows Bridge for Android(a.k.a. Project Astoria)Tooling to allow apps written for Android™ to run on Windows 10 Mobile with few changes requiredMicrosoft Interoperability library redirects calls to Google services to Microsoft services

Submit .apk to the StoreExtend to call subset of UWP APIsTiles and Notifications

Sign up for limited developer preview at http://uwp.dev.windows.com/en-US/uwp-bridges/android

Windows Bridge for iOS(previously known as ‘Project Islandwood’)Build Universal Windows Apps using Objective-CImport Xcode® projects into Visual StudioBuild and debug your Objective-C code from Visual StudioTake advantage of great Windows servicesExtend your app to take advantage of Universal Windows Platform features

Get the Developer Preview: https://dev.windows.com/en-us/uwp-bridges/ios Code is open source: https://github.com/Microsoft/WinObjC/

Project CentennialPackage and publish existing .NET and Win32-based Windows applications to the Windows StoreUse Centennial to call common UWP APIs and services

More information coming soon…

Development tools

Visual Studio 2015 EditionsEnterpriseArchitecture Modeling, Diagnostics, VSO/ALM & Release Management

ProfessionalArchitecture Validation, VSO/ALM & Feedback Management

Community EditionsVisual Studio Professional Edition

Developer unlock

Where can I develop?Windows 10Requires Visual Studio 2015

Windows 8.1 & Windows Server 2012 R2The Visual Studio designer does not functionDebugging requires a Windows 10 device or Remote Debugging Tools

dev.windows.com

top related