SlideShare a Scribd company logo
古賀信哉
株式会社サムシングプレシャス
UWP とは
UWP アプリケーションの作り方と配置
IoT Core との関係
※本日のスライドは、後日 SlideShare 等で公開します。
UWP 以前:現在の状況
Embedded
Mobile
PC
UWP で改善したいこと
マルチデバイス対応の混沌
アプリケーション開発者の、機会の断片化
UWP
プラットフォーム
API + デバイスファミリ
アプリケーションモデル(実行と配置)
ライフサイクル:
インストール, 実行, 更新 ~アンインストール
動作状態
データモデル
既存アプリケーションとのブリッジ
"Classic" Windows
Project Centennial
iOS
Project Islandwood
Android
Project Astoria
開発ツール
Visual Studio 2015(※現時点では RC)
Windows 10 or 8.1
開発ツール
Visual Studio 2015(※現時点では RC)
Windows 10 or 8.1
開発ツール
Visual Studio 2015(※現時点では RC)
Windows 10 or 8.1
開発ツール
Visual Studio 2015(※現時点では RC)
Windows 10 or 8.1
開発ツール
Visual Studio 2015(※現時点では RC)
Windows 10 or 8.1
実装言語
[C/]C++(C++11, C++/CX)
JavaScript, HTML
C#/Visual Basic, XAML
UWP API
Win32 & COM
.NET Framework
Windows Runtime
Win8’s Store App
Live SDK
UWP
OAuth 2.0, REST, JSON
UWP API
削られた API(from Win32 & COM APIs)
削られた API(from .NET Framewrok)
追加された API
Windows.Devices.AllJoyn
Windows.Devices.Bluetooth.Advertisement
Windows.Devices.Gpio
Windows.Devices.I2c
Windows.Devices.Midi
Windows.Devices.Radios
Windows.Devices.Spi
Windows.Graphics.DirectX
Windows.Graphics.Printing3D
その他色々
周辺機器やデバイス本体を
制御する、比較的低レベル
な API が提供されている。
←Win 8.1 までのストアアプ
リとの違い。
複数のデバイスファミリへの対応
デバイスファミリ判定
デバイス名や OS バージョンでは判定しない
できない
"Universal Binary" の仕組みは無い
ネイティブアプリケーションの配置
複数のデバイスファミリへの対応
利用できない API の判定:
メタデータ API により実行時に判定
“Contracts”による、関連 API 単位での判定
個々の API(メソッドレベル)での判定
複数画面サイズ・画面サイズ変更対応
複数のデバイスファミリ対応
同一デバイス上での画面サイズ変更
LCD 表示から HDMI モニタへ出力切り替え
ウィンドウのリサイズ
XAML の「レスポンシブ UI」対応(※追加)
GUI 回りも、単一ソースコードで対応可能!
Classic Windows 用のソースとの共通化対応
コンパイルスイッチ
#define WINAPI_FAMILY_PC_APP 2 /* Windows Store Applications */
#define WINAPI_FAMILY_PHONE_APP 3 /* Windows Phone Applications */
#define WINAPI_FAMILY_ONECORE_APP 4 /* Windows OneCore Applications */
#define WINAPI_FAMILY_ONECORE_SERVER 5 /* Windows OneCore Server Applications */
#define WINAPI_FAMILY_DESKTOP_APP 100 /* Windows Desktop Applications */
/* The value of WINAPI_FAMILY_DESKTOP_APP may change in future SDKs. */
/* Additional WINAPI_FAMILY values may be defined in future SDKs. */
Include/10.0.10041.0/shared/winapifamily.h
/*
* PARTITIONS for feature packages. Each package might be active for one or more editions
*/
#define WINAPI_PARTITION_PKG_WINTRUST (WINAPI_FAMILY == WINAPI_FAMILY_ONECORE_SERVER)
#define WINAPI_PARTITION_PKG_WEBSERVICES (WINAPI_FAMILY == WINAPI_FAMILY_ONECORE_SERVER)
#define WINAPI_PARTITION_PKG_EVENTLOGSERVICE (WINAPI_FAMILY == WINAPI_FAMILY_ONECORE_SERVER)
#define WINAPI_PARTITION_PKG_VHD (WINAPI_FAMILY == WINAPI_FAMILY_ONECORE_SERVER)
Include/10.0.10041.0/shared/winpackagefamily.h
Windows Store を使って行われる予定
Submit a Universal Windows app to the Store
"The Store is not currently open for the submission
of Windows 10 Insider Preview apps."
新しいWindows Store
全エディションを一つの Store に
Desktop, Mobile, Xbox, IoT, HoloLens, Surface Hub
iOS (Islandwood), Android (Astoria), Centennial(?)
ポータル(Storefont)は複数
Device, Microsoft.com, Cortana
登録とアプリケーションの発行:
共通の DevCenter
カタログは共通
Win32 & COM APIs(of UWP)
フルサポート(?)
既存コードの修正が必要
DeviceIoControl(), etc.
GPIO, I2C, SPI の API はフルサポート
Windows.Devices.AllJoyn も対応
UWP Windows Runtime API
Windows Embedded Comact
移行ツールを提供
Windows 10 IoT Core Insider Preview Porting Tool
Project Centennial(?)
WEC 2013
~2023/10(サポート)
~2028/05(to EOL)
IoTAPIPortingTool に改名
BUILD 2015 のセッション資料まとめ
http://blogs.windows.com/buildingapps/2015/0
5/07/build-2015-session-recap
API ガイド
Develop Universal Windows apps
https://dev.windows.com/en-US/develop
Guide to Universal Windows Platform (UWP) apps
https://msdn.microsoft.com/en-
us/library/windows/apps/dn894631.aspx
API リファレンス
https://msdn.microsoft.com/library/windows/ap
ps/bg124285.aspx
.NET for Windows Store apps APIs
https://msdn.microsoft.com/ja-
JP/library/windows/apps/br230302.aspx
.NET Framework and Windows Runtime
namespaces
https://msdn.microsoft.com/ja-
JP/library/windows/apps/br230302.aspx#namespaces
API リファレンス
Win32 and COM for Windows Runtime apps
https://msdn.microsoft.com/en-
us/library/windows/apps/br205757.aspx
Alphabetical list of Win32 and COM API
https://msdn.microsoft.com/en-
us/library/windows/apps/dn424765.aspx
Platform namespace
https://msdn.microsoft.com/en-
us/library/windows/apps/hh710417.aspx
C++/CX における、.NET Framework
基本 API に相当するもの(?)
Windows IoT Core
Docs and Samples
http://ms-iot.github.io/content/win10/StartCoding.htm
Windows 10 IoT Core Insider Preview Porting Tool
http://ms-
iot.github.io/content/win10/tools/IoTAPIPortingTool.htm
Universal APIs not functional in Windows 10
IoT Core at this time
http://ms-iot.github.io/content/win10/UnavailableApis.htm
Windows IoT Core
Windows 10 IoT Core Insider Preview
Overview and Getting Started
http://cmsresources.windowsphone.com/devcenter/common/re
sources/content/Windows_10_IoT_Core_Insider_Preview_O
verview.pdf
Windows 10 IoT Core Samples (GitHub)
https://github.com/ms-iot/samples
Windows.Devices.AllJoyn namespace
https://msdn.microsoft.com/en-
us/library/windows/apps/windows.devices.alljoyn.aspx

More Related Content

PPTX
Uwpハンズオン参加レポート
PPTX
Uwpアプリケーション開発入門
PDF
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
PDF
初心者でも Windows 10 Mobile アプリを作りたい!
PDF
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
PPTX
20150926 uwpストア攻略
PDF
UWP アプリを JavaScript で作る 3つの方法
Uwpハンズオン参加レポート
Uwpアプリケーション開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
初心者でも Windows 10 Mobile アプリを作りたい!
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
20150926 uwpストア攻略
UWP アプリを JavaScript で作る 3つの方法

What's hot (20)

PDF
無償のVisual studioで作るクライアント アプリ
PDF
Uno Platform 触ってみた
PDF
Firefox Mobile
PDF
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
PDF
20150530 めとべや東京8 universal windows platform appの画面開発
PPTX
Hands on PhotoBlog App with WordPress REST API and App Inventor
PPTX
わんくま名古屋 #37 (20151114) TDD道場 #25
PPTX
Blend for visual studio 2013の新機能
PDF
PhoneGapで作るハイブリッドアプリケーション
PPTX
オレたちとVisual Studioとの関係を話そう
PPTX
その後のBash on windows
PDF
めとべや東京10 Universal Windows Platform appの新しいバインディング
PPTX
20140531 めとべや東京4 ユニバーサル アプリ入門
PDF
わんくま名古屋 #38 (20160521) Xamarin入門
PDF
PhoneGapでWebアプリをスマホアプリ化
PPTX
Sphinxの環境構築が再現できない問題をDockerで解決してみた
PDF
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
PDF
次世代Web業務アプリケーション
PDF
Windows10時代のクロスプラットフォーム開発
PPTX
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
無償のVisual studioで作るクライアント アプリ
Uno Platform 触ってみた
Firefox Mobile
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
20150530 めとべや東京8 universal windows platform appの画面開発
Hands on PhotoBlog App with WordPress REST API and App Inventor
わんくま名古屋 #37 (20151114) TDD道場 #25
Blend for visual studio 2013の新機能
PhoneGapで作るハイブリッドアプリケーション
オレたちとVisual Studioとの関係を話そう
その後のBash on windows
めとべや東京10 Universal Windows Platform appの新しいバインディング
20140531 めとべや東京4 ユニバーサル アプリ入門
わんくま名古屋 #38 (20160521) Xamarin入門
PhoneGapでWebアプリをスマホアプリ化
Sphinxの環境構築が再現できない問題をDockerで解決してみた
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
次世代Web業務アプリケーション
Windows10時代のクロスプラットフォーム開発
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
Ad

Similar to Universal Apps (UWP) (20)

PPTX
Universal windows platformの新機能をおさえよう
PDF
はじめての UWP アプリ開発
PPTX
はじめてのUWPアプリ
PDF
Windows 10 Developer Readiness [Japan]
PPTX
App014 デスクトップ アプ
PDF
App014 デスクトップ アプ
PPTX
Windows 8時代のアプリ開発
PDF
どうなる?Windows 8時代の業務アプリ開発
PPTX
App006 os シェアトップの今
PDF
App006 os シェアトップの今
PDF
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
PDF
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
PPTX
仙台IT文化祭(2017年) ユニバーサル windows プラッ トフォーム (uwp) アプリ開発概要
PDF
CLT-004_Windows 10 におけるアプリの互換性と移行
PPTX
20171108 Tech Summit 2017 最新! Windows 10 Fall Creators Update 新機能とアプリケーション開発
PDF
[MR09] デスクトップ アプリをストアから配布するための A to Z
PPTX
テンプレートを使ったストアアプリの作成
PDF
[Japan Tech summit 2017] APP 006
PPTX
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
Universal windows platformの新機能をおさえよう
はじめての UWP アプリ開発
はじめてのUWPアプリ
Windows 10 Developer Readiness [Japan]
App014 デスクトップ アプ
App014 デスクトップ アプ
Windows 8時代のアプリ開発
どうなる?Windows 8時代の業務アプリ開発
App006 os シェアトップの今
App006 os シェアトップの今
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
仙台IT文化祭(2017年) ユニバーサル windows プラッ トフォーム (uwp) アプリ開発概要
CLT-004_Windows 10 におけるアプリの互換性と移行
20171108 Tech Summit 2017 最新! Windows 10 Fall Creators Update 新機能とアプリケーション開発
[MR09] デスクトップ アプリをストアから配布するための A to Z
テンプレートを使ったストアアプリの作成
[Japan Tech summit 2017] APP 006
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
Ad

More from Shin-ya Koga (20)

PDF
仮想化って何だろう_______________________________
PDF
2022-09-15.studyMeeting.pdf
PDF
2021 12-02.koga.lecture note-revised
PPTX
2021 10-12.linx device-tree
PDF
品質管理グループ Linux 勉強会
PDF
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
PPTX
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
PDF
2014年の社内新人教育テキスト #1(プログラミング言語概論)
PDF
2019 05-19.overview
PDF
2018 08-31.946oss revised
PDF
2017 06-04.overview
PDF
2017 05-21.overview
PDF
正解は一つじゃない: 選択肢と最適解
PDF
C#/Java & Linux で始める ET ロボコン
PDF
IoT あるじゃん北海道支部勉強会
PDF
組み込みから IoT へ
PDF
コードを書かずにLチカ。から始めよう
PDF
デバイスからクラウドへ ~組み込みエンジニアと IoT
PDF
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
PDF
組み込みでもマルチコア。WEC2013での対応
仮想化って何だろう_______________________________
2022-09-15.studyMeeting.pdf
2021 12-02.koga.lecture note-revised
2021 10-12.linx device-tree
品質管理グループ Linux 勉強会
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #1(プログラミング言語概論)
2019 05-19.overview
2018 08-31.946oss revised
2017 06-04.overview
2017 05-21.overview
正解は一つじゃない: 選択肢と最適解
C#/Java & Linux で始める ET ロボコン
IoT あるじゃん北海道支部勉強会
組み込みから IoT へ
コードを書かずにLチカ。から始めよう
デバイスからクラウドへ ~組み込みエンジニアと IoT
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
組み込みでもマルチコア。WEC2013での対応

Universal Apps (UWP)