狠狠撸

狠狠撸Share a Scribd company logo
古賀信哉
株式会社サムシングプレシャス
UWP とは
UWP アプリケーションの作り方と配置
IoT Core との関係
※本日のスライドは、後日 狠狠撸Share 等で公開します。
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

What's hot (20)

PDF
無償のVisual studioで作るクライアント アプリ
Yasuhiko Yamamoto
?
PDF
Uno Platform 触ってみた
一希 大田
?
PDF
Firefox Mobile
Makoto Kato
?
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
Hong Chen
?
PPTX
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
?
PPTX
Blend for visual studio 2013の新機能
一希 大田
?
PDF
笔丑辞苍别骋补辫で作るハイブリッドアプリケーション
Masahiko Tachizono
?
PPTX
オレたちとVisual Studioとの関係を話そう
Mitsuhito Ishino
?
PPTX
その後のBash on windows
Kazushi Kamegawa
?
PDF
めとべや東京10 Universal Windows Platform appの新しいバインディング
一希 大田
?
PPTX
20140531 めとべや東京4 ユニバーサル アプリ入門
一希 大田
?
PDF
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
?
PDF
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?
PPTX
厂辫丑颈苍虫の环境构筑が再现できない问题を顿辞肠办别谤で解决してみた
Study Group by SciencePark Corp.
?
PDF
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
Tetsuji Hayashi
?
PDF
次世代奥别产业务アフ?リケーション
Fumio SAGAWA
?
PDF
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
Kazushi Kamegawa
?
PPTX
奥笔贵の画面を奥别产ブラウザのように拡大?缩小に追従させる方法(オートスクロールバー付き)
Study Group by SciencePark Corp.
?
無償のVisual studioで作るクライアント アプリ
Yasuhiko Yamamoto
?
Uno Platform 触ってみた
一希 大田
?
Firefox Mobile
Makoto Kato
?
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
一希 大田
?
20150530 めとべや東京8 universal windows platform appの画面開発
一希 大田
?
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
?
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
?
Blend for visual studio 2013の新機能
一希 大田
?
笔丑辞苍别骋补辫で作るハイブリッドアプリケーション
Masahiko Tachizono
?
オレたちとVisual Studioとの関係を話そう
Mitsuhito Ishino
?
その後のBash on windows
Kazushi Kamegawa
?
めとべや東京10 Universal Windows Platform appの新しいバインディング
一希 大田
?
20140531 めとべや東京4 ユニバーサル アプリ入門
一希 大田
?
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
?
笔丑辞苍别骋补辫で奥别产アプリをスマホアプリ化
Takashi Okamoto
?
厂辫丑颈苍虫の环境构筑が再现できない问题を顿辞肠办别谤で解决してみた
Study Group by SciencePark Corp.
?
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
Tetsuji Hayashi
?
次世代奥别产业务アフ?リケーション
Fumio SAGAWA
?
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
Kazushi Kamegawa
?
奥笔贵の画面を奥别产ブラウザのように拡大?缩小に追従させる方法(オートスクロールバー付き)
Study Group by SciencePark Corp.
?

Similar to Universal Apps (UWP) (20)

PPTX
Universal windows platformの新機能をおさえよう
Makoto Nishimura
?
PDF
はじめての UWP アプリ開発
hiyohiyo
?
PPTX
はじめての鲍奥笔アプリ
Hiroki Tanaka
?
PDF
Windows 10 Developer Readiness [Japan]
Akira Hatsune
?
PPTX
App014 デスクトップ アプ
Tech Summit 2016
?
PDF
App014 デスクトップ アプ
Tech Summit 2016
?
PPTX
Windows 8時代のアプリ開発
信之 岩永
?
PDF
どうなる?Windows 8時代の業務アプリ開発
Yuya Yamaki
?
PPTX
App006 os シェアトップの今
Tech Summit 2016
?
PDF
App006 os シェアトップの今
Tech Summit 2016
?
PDF
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
?
PDF
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Osamu Monoe
?
PPTX
仙台IT文化祭(2017年) ユニバーサル windows プラッ トフォーム (uwp) アプリ開発概要
Tomokazu Kizawa
?
PDF
CLT-004_Windows 10 におけるアプリの互換性と移行
decode2016
?
PPTX
20171108 Tech Summit 2017 最新! Windows 10 Fall Creators Update 新機能とアプリケーション開発
shinobu takahashi
?
PDF
[MR09] デスクトップ アプリをストアから配布するための A to Z
de:code 2017
?
PPTX
テンプレートを使ったストアアプリの作成
Yasuhiko Yamamoto
?
PDF
[Japan Tech summit 2017] APP 006
Microsoft Tech Summit 2017
?
PPTX
RAD Studioで始めるマルチデバイス?クロスプラットフォーム開発ワークショップ
Kaz Aiso
?
Universal windows platformの新機能をおさえよう
Makoto Nishimura
?
はじめての UWP アプリ開発
hiyohiyo
?
はじめての鲍奥笔アプリ
Hiroki Tanaka
?
Windows 10 Developer Readiness [Japan]
Akira Hatsune
?
App014 デスクトップ アプ
Tech Summit 2016
?
App014 デスクトップ アプ
Tech Summit 2016
?
Windows 8時代のアプリ開発
信之 岩永
?
どうなる?Windows 8時代の業務アプリ開発
Yuya Yamaki
?
App006 os シェアトップの今
Tech Summit 2016
?
App006 os シェアトップの今
Tech Summit 2016
?
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
?
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Osamu Monoe
?
仙台IT文化祭(2017年) ユニバーサル windows プラッ トフォーム (uwp) アプリ開発概要
Tomokazu Kizawa
?
CLT-004_Windows 10 におけるアプリの互換性と移行
decode2016
?
20171108 Tech Summit 2017 最新! Windows 10 Fall Creators Update 新機能とアプリケーション開発
shinobu takahashi
?
[MR09] デスクトップ アプリをストアから配布するための A to Z
de:code 2017
?
テンプレートを使ったストアアプリの作成
Yasuhiko Yamamoto
?
[Japan Tech summit 2017] APP 006
Microsoft Tech Summit 2017
?
RAD Studioで始めるマルチデバイス?クロスプラットフォーム開発ワークショップ
Kaz Aiso
?
Ad

More from Shin-ya Koga (20)

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

Universal Apps (UWP)