Hello Windows 10
앱 개발
김영욱 Evangelist
Yowkim@Microsoft.com
기초 체력 단련
http://windows.Microsoft.com
Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Classic
Laptop
Xbox IoTSurface Hub Holographic
Windows 10
http://windows.Microsoft.com
One Store +
One Dev Center
Reuse
Existing Code
One SDK +
Tooling
Adaptive
User Interface
Natural
User Inputs
One Universal Windows Platform
http://windows.Microsoft.com
Universal Windows Platform
A single API surface
A guaranteed API surface
The same on all devices
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
http://windows.Microsoft.com
Windows app
A single binary
Running on any device
Testing for capabilities
Adjusting to devices
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows App
http://windows.Microsoft.com
Windows 10
operating system
Bridging technologies
Win32
desktop
Web
hosted
Java
Android
Obj.C
iOS
Universal Windows Platform
WWAC++
& CX
.Net
languages
HTML
DirectX
XAML
C++
.Net
languages
MFCWFWPF
.Net
runtime
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
http://windows.Microsoft.com
Universal Windows Platform
One Operating System
One Windows core for all devices
One App Platform
Apps run across every family
One Dev Center
Single submission flow and dashboard
One Store
Global reach, local monetization
Consumers, Business & Education
앱 개발 준비
Visual Studio 2015 를
설치하자.
http://windows.Microsoft.com
http://windows.Microsoft.com
Visual Studio 2015 Editions
Enterprise
Architecture Modeling, Diagnostics, VSO/ALM & Release Management
Professional
Architecture Validation, VSO/ALM & Feedback Management
Community Editions
Visual Studio Professional Edition
https://www.visualstudio.com/ko-kr/downloads#d-express-windows-8?CR_CC=200395106
개발자 등록 하기
https://msdn.microsoft.com/library/windows/apps/dn765018.aspx
http://windows.Microsoft.com
사전 준비 작업
개발자 등록
https://msdn.microsoft.com/library/windows/apps/bg124287.aspx
개인 or 회사 계정 중 선택할 수 있다. (변경 불가)
회사 계정의 경우 등록에 시일이 추가로 걸리기 때문에 미리 신청해 두는 것이 좋다.
http://windows.Microsoft.com
Developer unlock
Developer Mode
http://windows.Microsoft.com
A Developer’s
Guide to Windows 10
http://www.microsoftvirtualacademy.com/training-
courses/a-developers-guide-to-windows-10
Adaptive UI!
Adaptive Code!
http://windows.Microsoft.com
Adaptive design
Phone (portrait)
Tablet (landscape) / Desktop
http://windows.Microsoft.com
Platform extensions
Device-specific API
Family-specific capabilities
Compatible across devices
Unique update cadence
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows App
Phone
extension
Xbox
extension
Desktop
extension
http://windows.Microsoft.com
Adding extensions
http://windows.Microsoft.com
Extension SDKs
UWP
Windows Core Windows Core Windows Core Windows Core
UWP UWP UWP
Desktop Mobile Xbox More…
http://windows.Microsoft.com
Testing for capabilities
IsApiContractPresent
IsEnumNamedValuePresent
IsEventPresent
IsMethodPresent
IsPropertyPresent
IsReadOnlyPropertyPresent
IsTypePresent
IsWriteablePropertyPresent
Windows.Foundation.Metadata.ApiInformation
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;
}
SplitView
Layout Controls
AppBar
Networking
Linq
Data Binding
SQLite
…
https://www.microsoftvirtualacademy.com/ko/training
courses/windows-10-100--12453
Bridge
http://windows.Microsoft.com
iOS
Objective C
http://windows.Microsoft.com
Let’s talk about bridge technologies
Objective-C
At Build we announced iOS code can be reused in a Windows app
https://dev.windows.com/en-us/uwp-bridges/ios
Android
At Build we announced Android code can be reused in a Windows app to run on Windows Phone
https://dev.windows.com/en-us/uwp-bridges/android
Web
At Build we announced web sites can be wrapped to run on Windows
https://dev.windows.com/en-us/uwp-bridges/web-apps
Win32
At Build we announced that Classic Windows Apps (CWA) can be packaged as an Appx
https://projectipreviewsignup.windows.com/
Hosted Web Apps
App Store (iOS, Android, Windows…)
Native app container
WebView
Web Site
custom bridge
Native Code
Hosted Web App architecture today
App Store
Native app container
WebView
Web Site
Native Code
Hosted Web App in Windows 10
Windows APIs
Hosted Web Apps
Native APIs
Native APIs
if (typeof Windows != ‘undefined’) {
// Create an appointment with
Windows.ApplicationModel.Appointments.A
ppointment();
}
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/
XboxIoT
Universal
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 Astoria
Use 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
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
• …
Apps built with Project Astoria are Windows apps
Users acquire apps built with Project
Astoria through the Windows Store
User experience
Cloud services
Platform
Apps built with Project Astoria are Windows apps
v/sv/sv/s
User experience
Cloud services
Platform
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
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
Windows resource management
Runs directly on top of Windows kernel
User experience
Cloud services
Platform
Keeping users safe
User experience
Cloud services
Platform
Trusted Store Secure Device Monitoring & Response
Keeping users safe
User experience
Cloud services
Platform
Trusted Store Secure Device Monitoring & Response
 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
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 .
앱 등록하기
Windows 10 IoT Core
Raspberry Pi 2 Intel Galileo DragonBoard
201500912 Hello Windows 10

201500912 Hello Windows 10