Upload
Download free for 30 days
Login
Submit search
Universal windows platformの新機能をおさえよう
Download as PPTX, PDF
0 likes
3,615 views
Makoto Nishimura
2016年2月20日に開催されましたOkayama ComCamp 2016 powered by MVPsの登壇スライドです。
Technology
Read more
1 of 51
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
More Related Content
PDF
初心者でも Windows 10 Mobile アプリを作りたい!
naba0123
ODP
まだTwitterで消耗してるの?
隼也 田代
PPTX
Uwpハンズオン参加レポート
Makoto Nishimura
PDF
Azure of the_weekend_hobby
Namba Kazuo
PPTX
2016年注目の.netテクノロジー
Makoto Nishimura
PDF
S93 Microsoft Azure サービスの管理
Microsoft Azure Japan
PDF
はじめての UWP アプリ開発
hiyohiyo
PDF
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
Shigeo Ueda
初心者でも Windows 10 Mobile アプリを作りたい!
naba0123
まだTwitterで消耗してるの?
隼也 田代
Uwpハンズオン参加レポート
Makoto Nishimura
Azure of the_weekend_hobby
Namba Kazuo
2016年注目の.netテクノロジー
Makoto Nishimura
S93 Microsoft Azure サービスの管理
Microsoft Azure Japan
はじめての UWP アプリ開発
hiyohiyo
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
Shigeo Ueda
Similar to Universal windows platformの新機能をおさえよう
(20)
PPTX
Uwpアプリケーション開発入門
Makoto Nishimura
PDF
Universal Apps (UWP)
Shin-ya Koga
PPTX
20150926 uwpストア攻略
Makoto Nishimura
PPTX
(公開用)Xamarin & universal windowsアプリで広がるwindowsストア解説
Makoto Nishimura
PPTX
Windowsストア アプリケーション概要(概要編)
Makoto Nishimura
PPTX
はじめてのUWPアプリ
Hiroki Tanaka
PDF
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
PDF
ストアアプリ→universal Windows Apps=WP8.1アプリ
Akira Hatsune
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
Yasuhiko Yamamoto
PDF
第8回業開中心会議 「Windows 10 ユニバーサルアプリの概要」
Yasuhiko Yamamoto
PDF
Windows 10 Developer Readiness [Japan]
Akira Hatsune
PPTX
Uwpに至る道
Makoto Nishimura
PDF
Windows 8.1開発入門ー新しいストアアプリ環境について(公開用)
Makoto Nishimura
PPTX
Windows ストアアプリをHTMLで作成する
Narami Kiyokura
PDF
Windowsストアアプリ開発 オープンセミナー広島
Akira Onishi
PDF
20150530 めとべや東京8 universal windows platform appの画面開発
一希 大田
PDF
かずきのUWP入門
一希 大田
PDF
Windows Store アプリをuniversal にして申請する手順
Osamu Masutani
PDF
Windowsストア アプリケーション概要(紹介編)
Makoto Nishimura
PDF
[2013/12/03] Developer Camp / Windows ストア アプリ開発概要
Tatsuhiko Tanaka
Uwpアプリケーション開発入門
Makoto Nishimura
Universal Apps (UWP)
Shin-ya Koga
20150926 uwpストア攻略
Makoto Nishimura
(公開用)Xamarin & universal windowsアプリで広がるwindowsストア解説
Makoto Nishimura
Windowsストア アプリケーション概要(概要編)
Makoto Nishimura
はじめてのUWPアプリ
Hiroki Tanaka
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
ストアアプリ→universal Windows Apps=WP8.1アプリ
Akira Hatsune
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
Yasuhiko Yamamoto
第8回業開中心会議 「Windows 10 ユニバーサルアプリの概要」
Yasuhiko Yamamoto
Windows 10 Developer Readiness [Japan]
Akira Hatsune
Uwpに至る道
Makoto Nishimura
Windows 8.1開発入門ー新しいストアアプリ環境について(公開用)
Makoto Nishimura
Windows ストアアプリをHTMLで作成する
Narami Kiyokura
Windowsストアアプリ開発 オープンセミナー広島
Akira Onishi
20150530 めとべや東京8 universal windows platform appの画面開発
一希 大田
かずきのUWP入門
一希 大田
Windows Store アプリをuniversal にして申請する手順
Osamu Masutani
Windowsストア アプリケーション概要(紹介編)
Makoto Nishimura
[2013/12/03] Developer Camp / Windows ストア アプリ開発概要
Tatsuhiko Tanaka
Ad
More from Makoto Nishimura
(20)
PPTX
リモートで技術を伝える方法(発表版)
Makoto Nishimura
PPTX
リモートで技術を伝える方法(フル)
Makoto Nishimura
PPTX
windows terminal入門
Makoto Nishimura
PPTX
Minecraftでプログラミングを学べるって本当?
Makoto Nishimura
PPTX
Power Automateを使ってみた
Makoto Nishimura
PPTX
Power Automate Desktop入門
Makoto Nishimura
PPTX
Microsoft Teams Custom
Makoto Nishimura
PPTX
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
Makoto Nishimura
PPTX
AzureDevOpsの機能解説
Makoto Nishimura
PPTX
EC-CUBE 4 入門
Makoto Nishimura
PPTX
OSS開発で.NETを活用してDevOps
Makoto Nishimura
PPTX
.NETの最近
Makoto Nishimura
PPTX
Amazon echoがやってきた
Makoto Nishimura
PPTX
2017年度注目の.netテクノロジー
Makoto Nishimura
PPTX
Azure上でec cubeを運用するポイント
Makoto Nishimura
PPTX
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
Makoto Nishimura
PPTX
Xamarin入門(技術というより心構え編)
Makoto Nishimura
PPTX
独自Ecサイト立ち上げワンストップセミナー 0907
Makoto Nishimura
PPTX
Uwpでみるxaml入門第二回
Makoto Nishimura
PPTX
Uwpでみるxaml入門
Makoto Nishimura
リモートで技術を伝える方法(発表版)
Makoto Nishimura
リモートで技術を伝える方法(フル)
Makoto Nishimura
windows terminal入門
Makoto Nishimura
Minecraftでプログラミングを学べるって本当?
Makoto Nishimura
Power Automateを使ってみた
Makoto Nishimura
Power Automate Desktop入門
Makoto Nishimura
Microsoft Teams Custom
Makoto Nishimura
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
Makoto Nishimura
AzureDevOpsの機能解説
Makoto Nishimura
EC-CUBE 4 入門
Makoto Nishimura
OSS開発で.NETを活用してDevOps
Makoto Nishimura
.NETの最近
Makoto Nishimura
Amazon echoがやってきた
Makoto Nishimura
2017年度注目の.netテクノロジー
Makoto Nishimura
Azure上でec cubeを運用するポイント
Makoto Nishimura
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
Makoto Nishimura
Xamarin入門(技術というより心構え編)
Makoto Nishimura
独自Ecサイト立ち上げワンストップセミナー 0907
Makoto Nishimura
Uwpでみるxaml入門第二回
Makoto Nishimura
Uwpでみるxaml入門
Makoto Nishimura
Ad
Recently uploaded
(8)
PPTX
Vibe Codingを触って感じた現実について.pptx .
iPride Co., Ltd.
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Takuya Minagawa
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Masaki Yamakawa
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Ayachika Kitazaki
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Akira Tanaka
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Kannabi1
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Ko Jikawa
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
池田 直哉
Vibe Codingを触って感じた現実について.pptx .
iPride Co., Ltd.
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Takuya Minagawa
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Masaki Yamakawa
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Ayachika Kitazaki
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Akira Tanaka
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Kannabi1
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Ko Jikawa
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
池田 直哉
Universal windows platformの新機能をおさえよう
1.
UWPの新機能をおさえよう 古代魚庵 西村誠 Universal Windows Platform
2.
概要 UWP(Win10)とストアアプリ(Win8.x) 2つのアプリプラットフォームの違いについて UWPの特徴である 複数のプラットフォームに対応する方法
3.
お品書き ・ストアアプリ≒UWP ・様々なデバイスに対応する ・各デバイスの拡張を知る
4.
ストアアプリ≒UWP
5.
ストアアプリ ・Windows 8.xで登場 ・新しいAPI WinRT(ARM対応のOSじゃないよ) ・タッチ対応のUI ・ストアからの配布 ちょっとややこしい・・・。APIの名前の方。ARM対応の方のWinRTは普及しませんでしたね Windows
7以前のOSでは動作しない 全画面で起動するなどマウス&キーボー操作だと不便な点も
6.
ストアアプリ ・PC(主にタブレット)とMobile向け ・もともとWindows Phone向けのAPIが進化 ・Windows 10でも動くよ ・画面はXAML(画面定義)+コード SilverlightベースからWinRTへ。Windows
PhoneのAPIも色々歴史がありました この頃、Windows Phoneは日本で・・・ DirectXで画面を描画する場合とコードがJSの場合は別。コードはC#、VB、C++、JS
7.
ストアアプリ ・2プロジェクト 1共通プロジェクト ・2バイナリ PC用と電話用のプロジェクト+Sharedプロジェクトでコードを共有。 バイナリレベルでは別物
8.
UWP ・Windows 10から登場したプラットフォーム ・ストアアプリの進化形 ・Windows 10なら動く ・XAML+コードなのは同様 違いもあるけど、動作モデルやAPIはおおむね共通。おおむねというのが曲者(あるある) または動作するアプリケーションをUWP、UWPアプリと呼びます PC、タブレット、IoT、スマフォなどなど。Xbox
Oneでも動く予定・・・予定・・・買ったのに・・・ XAMLはHTMLのようなマークアップ言語
9.
UWP ・1プロジェクト ・1バイナリ ・Windows Phone 7から始まる長い歴史が・・・ ・コントロールが2つ増えた ストアアプリとコードを共有したい場合は+Sharedプロジェクト バイナリレベルで同じもの(もちろんCPUアーキテクチャレベルでは別) Silverlightベースの電話と、WinRTなストアアプリから始まって・・・いや、昔話はするまい SplitViewとRelativePanelというレスポンシブ向けのコントロール
10.
Windows 10なら https://doc.co/nzBEox
11.
デスクトップ ・PC、タブレット向けのWindows 10 ・ストアアプリからの移植も容易 スマフォ版はUI部分などたまにはまりどころがある
12.
モバイル ・Windows 10 Mobile ・Windows
Phone向け 日本発売おめでとう‼
13.
IoT ・Windows 10 IoT ・Raspberry
Pi 2などで動作 ・組み込み機器でVisual Studio開発 たまに古いRaspberry Piを買って泣く人が・・・ これは個人的に新鮮な体験
14.
未登場 ・Xbox OneとかSurfaceタブとか、HoloLendsとか 来るよね!! 将来的にはMicrosoft
Bandでも(これは、ただの願望)
15.
ストアアプリ≒UWP ・大きな違いはUWPは色々なデバイスで動く ・UWPはWindows 10以降限定 ・ストアから配布などが不要ならWPFやWFも 大きな利点もこれ ターゲットのOSにWindows 8.xを含める? 枯れているだけにノウハウや、商用コントロールなどが充実。サンドボックスが無いのも
16.
様々なデバイスに対応する ここからは開発のお話し
17.
コードでデバイス判定 ・AnalyticsInfo.VersionInfo.DeviceFamily ・以下の文字列が取得できる 要:using Windows.System.Profile; Windows IoTの場合”Windows.IoT” Windows
DeskTopの場合” Windows.Desktop” Windows Mobileの場合” Windows.Mobile”
18.
コードで機能を判定 ・特定の機能が利用可能か調べる ・コード Windows Phoneのハードウェアボタンとか、デバイス固有の機能 using Windows.Foundation.Metadata; ・・・ bool
isHWButton = ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"); S
19.
コードで機能を判定 ・IsTypePresent以外にも ・いやいやもっと IsEventPresent IsMethodPresent IsPropertyPresent IsApiContractPresent IsEnumNamdValuePresent IsReadOnlyPropertyPresent IsWriteablePropertyPresent
20.
コードで機能を判定 ・ストアアプリと同様の判定をする場合も ・コード 例えば、Windows Phonoのカメラとかはストアアプリの頃と同じ書き方・・・ var compass
= Compass.GetDefault(); if (compass != null) { System.Diagnostics.Debug.WriteLine("コンパスがある場合の処理"); }
21.
コードで機能を判定 ・ストアアプリと同様の判定をする場合も ・DEMO:Accelerometer 例えば、Windows Phonoのカメラとかはストアアプリの頃と同じ書き方・・・
22.
コードで分岐 ・UWPとWindows Pone、ストアアプリを判定 ・コード Shared Projectでコードを共有したい場合など #if
WINDOWS_UWP // UWPの場合 // さらにPCか電話かを判定する場合 var isMobile = VersionInfo.DeviceFamily == "Windows.Mobile"; #endif #if WINDOWS_PHONE_APP // Windows Phone 8.1の場合 #endif #if WINDOWS_APP // Windows 8.1の場合 #endif
23.
コードで分岐 ・UWPとWindows Pone、ストアアプリを判定 ・DEMO:ifdef Shared Projectでコードを共有したい場合など
24.
コードで分岐 ・文字列を忘れたらコンパイルシンボルで プロジェクトのプロパティ→ビルド。UWPの場合
25.
コードで分岐 ・文字列を忘れたらコンパイルシンボルで 試しに変えてみよう
26.
画面について ・策1.デバイスにこだわらず画面幅で判定 ・AdaptiveTrigger 画面の横幅でレイアウトを変更 <VisualStateManager.VisualStateGroups> <VisualStateGroup> <VisualState> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="720" /> </VisualState.StateTriggers> <VisualState.Setters> <Setter
Target="MySplitView.DisplayMode" Value="Overlay" />
27.
画面について ・策1.デバイスにこだわらず画面幅で判定 DEMO:XamlResponsiveTechniques 画面の横幅でレイアウトを変更
28.
画面について ・策2.デバイスファミリーで分岐 ・XAMLをそれぞれ用意 画面の横幅でレイアウトを変更
29.
各デバイスの拡張を知る デバイス固有の拡張を利用する
30.
拡張(Extention) ・デバイスファミリー固有の機能は参照から ソリューションエクスプローラーの「参照」を右クリックから「参照の追加」!!
31.
拡張(Extention) ・~ Extensions for
the UWP なんかWindows 10のビルド番号毎に拡張がある気がするけど、今は気にしないぜ・・・
32.
拡張(Extention) ・~ Extensions for
the UWP Windows Desktop Extensions for the UWP Windows IoT Extensions for the UWP Windows Mobile Extensions for the UWP Windows Team Extensions for the UWP
33.
拡張(Extention) ・追加してみる 参照に追加された
34.
拡張(Extention) ・エラーになる? ・デスクトップ拡張の機能を追加してIoTで実行 参照に追加しただけならOK。機能を使うとエラー。
35.
拡張(Extention) ・中身は? ・主な中身はSDKManifest.xmlとIDL(or .h) 以下のURLにあるよ C:Program
Files (x86)Windows Kits10Extension SDKs IDLはインターフェイス定義ファイル
36.
拡張-IoT ・SDKManifest.xmlから中身が推測できそう ・上のAPIが使えるようになる 例えばIoTの場合・・・ <ContainedApiContracts> <ApiContract name="Windows.Devices.DevicesLowLevelContract" version="2.0.0.0"/> <ApiContract
name="Windows.System.SystemManagementContract" version="2.0.0.0"/> </ContainedApiContracts> 拡張を追加してない場合はコードクラスが参照できずエラー
37.
拡張-IoT ・DevicesLowLevelContract Adcって何かなー(Analog-Digital Converter・・・だそうです・・・) I2cって何かなー
38.
拡張-IoT ・DevicesLowLevelContract Adcって何かなー(Analog-Digital Converter) I2cって何かなー(たぶん、これ→)
39.
拡張-IoT ごめん・・・ IoT用語わからん・・・
40.
拡張-Mobile ・気を取り直してMobile ・以下が追加されます IoTはハードル高いけど追加される拡張が少ないので把握はしやすいかな 次のスライドへ・・・
41.
<ApiContract name="Windows.ApplicationModel.Activation.WebUISearchActivatedEventsContract" version="1.0.0.0"/> <ApiContract
name="Windows.ApplicationModel.Calls.Background.CallsBackgroundContract" version="1.0.0.0"/> <ApiContract name="Windows.ApplicationModel.Calls.CallsPhoneContract" version="2.0.0.0"/> <ApiContract name="Windows.ApplicationModel.SocialInfo.SocialInfoContract" version="1.0.0.0"/> <ApiContract name="Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract" version="1.0.0.0"/> <ApiContract name="Windows.ApplicationModel.Wallet.WalletContract" version="1.0.0.0"/> <ApiContract name="Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract" version="1.0.0.0"/> <ApiContract name="Windows.Devices.SmartCards.SmartCardEmulatorContract" version="2.0.0.0"/> <ApiContract name="Windows.Embedded.DeviceLockdown.DeviceLockdownContract" version="1.0.0.0"/> <ApiContract name="Windows.Gaming.Preview.GamesEnumerationContract" version="1.0.0.0"/> <ApiContract name="Windows.Networking.NetworkOperators.NetworkOperatorsFdnContract" version="1.0.0.0"/> <ApiContract name="Windows.Networking.Sockets.ControlChannelTriggerContract" version="1.0.0.0"/> <ApiContract name="Windows.Phone.PhoneContract" version="1.0.0.0"/> <ApiContract name="Windows.Phone.StartScreen.DualSimTileContract" version="1.0.0.0"/> <ApiContract name="Windows.Services.Maps.GuidanceContract" version="2.0.0.0"/> <ApiContract name="Windows.Services.Maps.LocalSearchContract" version="2.0.0.0"/> <ApiContract name="Windows.Security.EnterpriseData.EnterpriseDataContract" version="2.0.0.0"/> <ApiContract name="Windows.System.Profile.ProfileHardwareTokenContract" version="1.0.0.0"/> <ApiContract name="Windows.System.Profile.ProfileRetailInfoContract" version="1.0.0.0"/> <ApiContract name="Windows.System.UserProfile.UserProfileContract" version="1.0.0.0"/> <ApiContract name="Windows.UI.WebUI.Core.WebUICommandBarContract" version="1.0.0.0"/>
42.
拡張-Mobile ・いくつか抜粋 ちょっと推測まじり・・・ Calls.Background.CallsBackgroundContract Calls.CallsPhoneContract アプリから電話をコールしたり、コールをトリガーするため のAPI Windows.ApplicationModel.SocialInfo.SocialInfoContract たぶんSNS連携的な・・・
43.
拡張-Mobile ・いくつか抜粋 かなり推測まじり・・・ Wallet.WalletContract 決済処理 SmartCards.SmartCardBackgroundTriggerContract SmartCards.SmartCardEmulatorContract カードリーダーで情報を読み取る?(海外事情?)
44.
拡張-Desktop ・いくつか抜粋 かなり推測まじり・・・ Scanners.ScannerDeviceContract スキャナー Media.Capture.AppCaptureContract Media.Capture.CameraCaptureUIContract Webカメラなどのメディア系
45.
拡張-Desktop ・いくつか抜粋 かなり推測まじり・・・ Globalization.GlobalizationJapanesePhoneticAnalyzerContract 日本語音声解析 Networking.Sockets.ControlChannelTriggerContract ソケット接続周り
46.
拡張-Team ・一個だけ ・最後なのでもう少し追いかけてみる まだモノが公に出てないから、今後増えるのかも Windows.System.Profile.ProfileSharedModeContract
47.
拡張-Team ・オブジェクトブラウザー SharedMobeSettingsクラスがある模様
48.
拡張-Team ・オブジェクトブラウザー ・winmdの場所 SharedMobeSettingsクラスがある模様
49.
拡張-Team ・winmdをILSpyで確認 Bool値を返すプロパティが一つ Provides access to
the settings for shared mode. For example, devices with large screens could support communal shared apps. 大画面をサポートした共有可能なアプリかを返す?(わかるような・・・)
50.
まとめ ・UWPは色々なデバイスで動作する ・UWPはデバイスや画面幅で作り分けれる ・UWPはデバイス特有の拡張も使える だからアプリを作ろう だからアプリを作ろう だからアプリを作ろう
51.
御静聴ありがとうございました
Download