201500912 Hello Windows 10

49
Hello Windows 10 앱 개발 김영욱 Evangelist [email protected]

Transcript of 201500912 Hello Windows 10

Page 1: 201500912 Hello Windows 10

Hello Windows 10앱개발

김영욱 Evangelist

[email protected]

Page 2: 201500912 Hello Windows 10

기초체력단련

Page 3: 201500912 Hello Windows 10

http://windows.Microsoft.com

Phone Small Tablet2-in-1s

(Tablet or Laptop)Desktops

& All-in-OnesPhablet Large TabletClassic Laptop

Xbox IoTSurface Hub Holographic

Windows 10

Page 4: 201500912 Hello Windows 10

http://windows.Microsoft.com

One Store +One Dev Center

Reuse Existing Code

One SDK + Tooling

Adaptive User Interface

NaturalUser Inputs

One Universal Windows Platform

Page 5: 201500912 Hello Windows 10

http://windows.Microsoft.com

Universal Windows Platform

A single API surfaceA guaranteed API surface

The same on all devices

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

Page 6: 201500912 Hello Windows 10

http://windows.Microsoft.com

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

Page 7: 201500912 Hello Windows 10

http://windows.Microsoft.com

Windows 10operating system

Bridging technologies

Win32desktop

Webhosted

JavaAndroid

Obj.CiOS

Universal Windows Platform

WWAC++& CX

.Netlanguages

HTMLDirectX

XAML

C++

.Netlanguages

MFCWFWPF

.Netruntime

Page 8: 201500912 Hello Windows 10

http://windows.Microsoft.com

Multi-language

C# and XAML

https://msdn.microsoft.com/library/windows/apps/dn765018.aspx

JavaScript and HTML

https://msdn.microsoft.com/library/windows/apps/mt280216.aspx

C++ and XAML

https://msdn.microsoft.com/library/windows/apps/dn996906.aspx

Page 9: 201500912 Hello Windows 10

http://windows.Microsoft.com

Universal Windows Platform

One 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

Page 10: 201500912 Hello Windows 10

앱개발준비

Page 11: 201500912 Hello Windows 10

Visual Studio 2015 를설치하자.

Page 12: 201500912 Hello Windows 10

http://windows.Microsoft.com

Page 13: 201500912 Hello Windows 10

http://windows.Microsoft.com

Visual Studio 2015 Editions

EnterpriseArchitecture Modeling, Diagnostics, VSO/ALM & Release Management

ProfessionalArchitecture Validation, VSO/ALM & Feedback Management

Community EditionsVisual Studio Professional Edition

https://www.visualstudio.com/ko-kr/downloads#d-express-windows-8?CR_CC=200395106

Page 14: 201500912 Hello Windows 10

개발자등록하기

https://msdn.microsoft.com/library/windows/apps/dn765018.aspx

Page 15: 201500912 Hello Windows 10

http://windows.Microsoft.com

사전준비작업

개발자등록

https://msdn.microsoft.com/library/windows/apps/bg124287.aspx

개인 or 회사계정중선택할수있다. (변경불가)

회사계정의경우등록에시일이추가로걸리기때문에미리신청해두는것이좋다.

Page 16: 201500912 Hello Windows 10

http://windows.Microsoft.com

Developer unlock

Developer Mode

Page 17: 201500912 Hello Windows 10

http://windows.Microsoft.com

A Developer’sGuide to Windows 10

http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10

Page 18: 201500912 Hello Windows 10

Adaptive UI! Adaptive Code!

Page 19: 201500912 Hello Windows 10

http://windows.Microsoft.com

Adaptive design

Phone (portrait)

Tablet (landscape) / Desktop

Page 20: 201500912 Hello Windows 10

http://windows.Microsoft.com

Platform extensions

Device-specific APIFamily-specific capabilities

Compatible across devices

Unique update cadence

PhoneDevice

XboxDevice

DesktopDevice

Windows Core

Universal Windows Platform

Windows App

Phoneextension

Xboxextension

Desktopextension

Page 21: 201500912 Hello Windows 10

http://windows.Microsoft.com

Adding extensions

Page 22: 201500912 Hello Windows 10

http://windows.Microsoft.com

Extension SDKs

UWP

Windows Core Windows Core Windows Core Windows Core

UWP UWP UWP

Desktop Mobile Xbox More…

Page 23: 201500912 Hello Windows 10

http://windows.Microsoft.com

Testing for capabilities

IsApiContractPresentIsEnumNamedValuePresentIsEventPresentIsMethodPresentIsPropertyPresentIsReadOnlyPropertyPresentIsTypePresentIsWriteablePropertyPresent

Windows.Foundation.Metadata.ApiInformation

Page 24: 201500912 Hello Windows 10

http://windows.Microsoft.com

Test capabilities at runtime

var api = "Windows.Phone.UI.Input.HardwareButtons";

if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api))

{

Windows.Phone.UI.Input.HardwareButtons.CameraPressed

+= CameraButtonPressed;

}

Page 25: 201500912 Hello Windows 10

SplitViewLayout ControlsAppBarNetworkingLinqData BindingSQLite…

https://www.microsoftvirtualacademy.com/ko/training-courses/windows-10-100--12453

Page 26: 201500912 Hello Windows 10

Bridge

Page 27: 201500912 Hello Windows 10

http://windows.Microsoft.com

iOSObjective C

Page 28: 201500912 Hello Windows 10

http://windows.Microsoft.com

Let’s talk about bridge technologies

Objective-CAt Build we announced iOS code can be reused in a Windows app

https://dev.windows.com/en-us/uwp-bridges/ios

AndroidAt Build we announced Android code can be reused in a Windows app to run on Windows Phonehttps://dev.windows.com/en-us/uwp-bridges/android

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

https://dev.windows.com/en-us/uwp-bridges/web-apps

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

https://projectipreviewsignup.windows.com/

Page 29: 201500912 Hello Windows 10

Hosted Web Apps

Page 30: 201500912 Hello Windows 10

App Store (iOS, Android, Windows…)

Native app container

WebView

Web Site

custom bridgeNative Code

Hosted Web App architecture today

Page 31: 201500912 Hello Windows 10

App Store

Native app container

WebView

Web Site

Native Code

Hosted Web App in Windows 10

Windows APIs

Page 32: 201500912 Hello Windows 10

Hosted Web Apps

Native APIs

Native APIs

if (typeof Windows != ‘undefined’) {

// Create an appointment with

Windows.ApplicationModel.Appointments.A

ppointment();

}

Page 33: 201500912 Hello Windows 10

W3C Standard{"name": "Super Web App","short_name": "SuperWA","start_url": "http://www.example.com",

"icons": [{"src": "tiny.png","sizes": "70x70"

},{"src": "square.png","sizes": "150x150"

},{"src": "apple-touch-icon-72x72-precomposed.png","sizes": "72x72"

},{

"src": "niceicon.png","sizes": "128x128"

}],"display": "standalone","orientation": "landscape"

}

http://w3c.github.io/manifest/

Page 34: 201500912 Hello Windows 10

XboxIoTUniversal

Windows Platform

Middleware Platforms

Middleware Partners (e.g., Xamarin)

Game Engine Partners (e.g., Unity)

Windows Platform

Universal Windows 8 Apps (C++/C#/JS)

Universal Windows 10 Apps (C++/C#/JS)

Project Centennial (Classic Apps))

Web Platform

Microsoft Edge HTML Engine

Cordova Tooling (HTML/JS)

Hosted Web Apps (HTML/JS)

Other Mobile Platforms

Project Astoria (Java/C++)

Project Islandwood (Objective C/C++)

Other Mobile Platforms

Project Islandwood

Project AstoriaUse your Java / C++ code

Use Android IDE

High code reuse

Use your Objective C code

Use Visual Studio

Medium-high code reuse

Wherever your code was born, you can bring it to Windows

Page 35: 201500912 Hello Windows 10

We translate and redirect Android concepts to Windows concepts

User experience Cloud services Platform

• Acquisition

• Input and interaction

• App-to-app interactions

• Windowing & navigation

• Notifications and live tiles

• …

• In-App Purchases

• Ads

• Maps

• Game Services

• Analytics

• Notification service

• …

• File system

• Contacts, photos,…

• Sensors

• Camera

• Hardware accelerated

graphics & Direct X

• …

Page 36: 201500912 Hello Windows 10

Apps built with Project Astoria are Windows apps

Users acquire apps built with Project

Astoria through the Windows Store

User experience

Cloud services

Platform

Page 37: 201500912 Hello Windows 10

Apps built with Project Astoria are Windows apps

v/sv/sv/s

User experience

Cloud services

Platform

Page 38: 201500912 Hello Windows 10

Microsoft Services

AppInsights

MS Ads

In-app Purchases

Windows Notification Service

Xbox Live Services

Bing Maps

Windows Location services

• Project Astoria SDK in Java

• Use Microsoft services with minimal code change

• Get Started in Dev Center

Windows apps built with Project Astoria use Microsoft cloud services

User experience

Cloud services

Platform

Page 39: 201500912 Hello Windows 10

Android platform capabilities are redirected to Windows

• File system

• Contacts, photos,…

• Sensors

• Camera

• Hardware accelerated graphics &

Direct X

• Networking/sockets

• Application lifecycle

• Resource management

• Background execution model

• Security model

User experience

Cloud services

Platform

Page 40: 201500912 Hello Windows 10

Windows resource management

Runs directly on top of Windows kernel

User experience

Cloud services

Platform

Page 41: 201500912 Hello Windows 10

Keeping users safe

User experience

Cloud services

Platform

Trusted Store Secure Device Monitoring & Response

Page 42: 201500912 Hello Windows 10

Keeping users safe

User experience

Cloud services

Platform

Trusted Store Secure Device Monitoring & Response

Page 43: 201500912 Hello Windows 10

Windows 10 Mobile Only

+

Your Android Code(Project Astoria SDK & App analysis)

+

Your app in the

Windows Store

Your IDE(Project Astoria Plugins)

Your dev

machine

Build a Windows app with your Android code

+

Windows

Magic

Live tiles

IntelliJ

Android

Studio

Eclipse

Windows

Mac

Page 44: 201500912 Hello Windows 10

Stop by the Project Astoria booth.

Try our Quick Start Challenge.

Sign-up to stay posted on new developments.

Learn more about Project Astoria at http://aka.ms/projectastoria

Come hang out with us .

Page 45: 201500912 Hello Windows 10

앱등록하기

Page 46: 201500912 Hello Windows 10
Page 47: 201500912 Hello Windows 10

Windows 10 IoT Core

Page 48: 201500912 Hello Windows 10

Raspberry Pi 2 Intel Galileo DragonBoard

Page 49: 201500912 Hello Windows 10