わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)

Yasuhiko Yamamoto
Yasuhiko YamamotoBluewaterSoft
わんくま同盟 名古屋勉強会 #37
Windows 10
TH2 そろそろリリース
UWP アプリ
開発入門♪
(実践編)
2015/11/14
BluewaterSoft @biac
わんくま同盟 名古屋勉強会 #37
スピーカー紹介
• BluewaterSoft 山本 康彦 a.k.a @biac
まだ人工衛星が飛んでない時代に生まれ、HONDAでクルマの設計やってました
• Microsoft MVP for Windows Development (2014/10-2016/9)
• Windows ランタイム アプリ開発 / 記事や書籍の執筆 やってます
2
わんくま同盟 名古屋勉強会 #37
スピーカー紹介
~ このセッションに関連する@ITの記事
• 徹底予習! Windows 10 のユニバーサルアプリ開発
2015/4/28 http://www.atmarkit.co.jp/ait/articles/1504/28/news015.html
• Windows 10 UWP で業務デスクトップアプリ開発はどう変わるのか?
2015/6/23 http://www.atmarkit.co.jp/ait/articles/1506/23/news012.html
• Build 2015: 全ての開発者が押さえておくべきマイクロソフトの最新技術
動向
2015/5/12 http://www.atmarkit.co.jp/ait/articles/1505/12/news011.html
3
わんくま同盟 名古屋勉強会 #37
Windows 10
どんどんリリース❢
4
Copyright © 2015 Windows Navi+
わんくま同盟 名古屋勉強会 #37
Windows 10 リリース スケジュール
• 7/29 Win7/8.1からの無償アップデート
開始
• 8/1 デスクトップ版 Enterprise 契約 販
売開始
• 9月(?) デスクトップ版パッケージ販売開
始 (USBメモリ)
• 11月 Windows 10 TH2 リリース予定
• 秋以降 Windows Phone 8.1、Xbox One
からの無償アップデート開始
• 来年 Surface Hub / HoloLens 発売
5
DSP 版 Windows 10 自作 PC 応援キャラクター
窓辺 てんこ (仮名)
Copyright © 2015 Windows Navi+
ドイツの Web サイトがリークした
製品パッケージ (左:Pro、右:Home)
背景は Windows 10 標準の壁紙
"Hero Desktop Image"
わんくま同盟 名古屋勉強会 #37
Xbox
One
IoT
Core
Universal
Windows Platform
Core APIs
UWP アプリ
ユニバーサル Windows
プラットフォーム アプリ とは?
6
わんくま同盟 名古屋勉強会 #37
デスクトップで使う分には、
見た目の違いは小さい
• 左: WPF アプリ
右: UWP アプリ
• ウィンドウの違い
は、システムメ
ニューアイコンの
有無くらい
7
わんくま同盟 名古屋勉強会 #37
でも、UWP アプリは、同じバイナリが
Windows 10 搭載スマートフォンでも動く❢
• Windows 10 Mobile
エミュレータの画像
(VS2015RC 付属)
8
わんくま同盟 名古屋勉強会 #37
そのほか、さまざまな
Windows 10 搭載デバイスで動く❢
• 左: HoloLens
Windows 10 搭載
ヘッドマウント型
コンピュータ
• 上右:
Surface Hub
• 下左: Xbox One
• 下右:
組み込み用ボード
コンピュータ
9
わんくま同盟 名古屋勉強会 #37
【参考】 Xbox One が Windows 10 になる!?
• Xbox One には、Windows 8 が 2
つ載っている
• ひとつは、リアルタイム ゲーム用
(図の右側)
これは変わらないだろう
• もうひとつは、Xbox コンソールや
「Shared apps」 などを動かす部分
(図の左側)
⇨ Windows 10 for Xbox (仮)
にアップグレード
10
わんくま同盟 名古屋勉強会 #37
Windows 10 のユニバーサル Windows プラットフォームで動作するアプリ
= Windows 10 用
ユニバーサル Windows プラットフォーム アプリ
略して、
⇨ ユニバーサル Windows プラットフォーム アプリ / UWP アプリ
⇨ ユニバーサル Windows アプリ
⇨ ユニバーサル アプリ / Windows アプリ
ユニバーサル Windows プラットフォーム アプリ
11
わんくま同盟 名古屋勉強会 #37
• Windows 8.x と Windows Phone 7.x/8.x の間でユニバーサルに使える
アプリも、「ユニバーサル Windows アプリ」 (でもこれは別バイナリ)
注意!!
従来と区別が付くように、略称を使ってね♪
12
※ Build 2014 キーノートより
わんくま同盟 名古屋勉強会 #37
• Windows ストアからダウンロード / インストール
※ ストアを介さない「サイドローディング」も可能
• ユーザーごとのインストール
• 改竄チェック / 権限チェック
• サンドボックスでの実行
• 自動アップデート
• クリーンなアンインストール
UWP は、新形式の AppX パッケージを動かす
13
※ Build 2015 セッション 2-695 資料
わんくま同盟 名古屋勉強会 #37
【参考】 AppX 系パッケージの変遷
14
※ Build 2015 セッション 2-695 資料
わんくま同盟 名古屋勉強会 #37
どのデバイスでも共通に使える API
UWP は、単一の API Surface を提供する
15
※ MVA "A Developer's Guide to Windows 10" モジュール01 資料
わんくま同盟 名古屋勉強会 #37
デバイス固有の拡張部分 (Extension) がある
UWP の API は、デバイスによって違いがある
16
UWP 共通部分
デスクトップ用 Extension
スマートフォン用 Extension
UWP 共通部分
ここを
「Windows Core」
と呼ぶこともある
わんくま同盟 名古屋勉強会 #37
デバイス
PC / タブ
レット(大)
スマートフォ
ン / タブレッ
ト(小)
組み込み
ボード
Surface Hub HoloLens Xbox One
Extension Desktop Mobile IoT Team (未発表) (未発表)
Windows 10
エディション
・Home
・Pro
・Enterprise
・Education
・IoT for
industory
devices (仮)
・Mobile
・Mobile
Enterprise
・IoT for
mobile
devices (仮)
・IoT Core ・Surface
Hub 用
・HoloLens用
(仮)
・Xbox用
(仮)
デバイス、エクステンション、
Windows 10 のエディションとの対応
17
わんくま同盟 名古屋勉強会 #37
•今のところ不明瞭 orz
• とりあえず、 「AppX パッケージを動かす仕組み」 と大雑把に把握して
おけば OK だろう
• 将来、きちんとしたドキュメント (書籍?) が出てくることを期待
で、 ユニバーサル Windows プラットフォームの
構造や範囲などの詳細は?
18
わんくま同盟 名古屋勉強会 #37
Xbox
One
IoT
Core
Universal
Windows Platform
Core APIsUWP アプリの
特徴
従来のデスクトップアプリとの
比較
19
わんくま同盟 名古屋勉強会 #37
アプリ
従来の
デスクトップアプリ
UWP アプリ
デバイス PC / タブレット
PC / タブレット
スマートフォン / IoT / Surface
Hub / Hololens / Xbox One
等
Windows バージョン
Windows 7 / 8.x / 10
( Windows RT は除く )
Windows 10
( Windows RT では動かず)
動作するデバイスと Windows
20
わんくま同盟 名古屋勉強会 #37
アプリ 従来のデスクトップアプリ UWP アプリ
UI / プログラミ
ング言語
WinForm + C# / VB
XAML (WPF) + C# / VB
MFC + C++
XAML + C# / VB
HTML + JavaScript
XAML + C++
利用する API
・.NET Framework 主体
・利用可:
Win32 API, COM,
Windows Runtime (一部)
・Windows Runtime 主体
・利用可(一部だけ):
.NET Framework, Win32 API,
COM
タッチ対応 UI
自前で実装
(サードパーティ部品あり)
標準対応
UI / プログラミング言語 / 利用する API / タッチ対応
21
わんくま同盟 名古屋勉強会 #37
アプリ 従来のデスクトップアプリ UWP アプリ
配布パッケージ
・MSI パッケージ
・サードパーティ製インストーラ
・実行ファイルそのまま
AppX パッケージ
配布方法
自由
(Windows ストアを除く)
・Windows ストア
・Windows ストア for
Business
・サイドローディング
インストールの
影響
(可能性)
レジストリーへの書き込み
システム DLL 上書き
⇨ Windows が 「腐る」
ほぼ無し
⇨ Windows が
「腐らない」
配布とインストール
22
わんくま同盟 名古屋勉強会 #37
アプリ
従来のデスクトップア
プリ
UWP アプリ
アプリに対す
る制限
・なし (UACのみ)
・実行中に UAC 昇格
可能
・サンドボックスで動作
・管理者権限不可
・ファイル I/O やプリンター制御などに制限
・DB アクセスやプロセス間通信は不可
アプリ保護 なし
・インストール フォルダーに特殊なアクセス
権 (Adminでもアクセス不可)
・実行時に他アプリからアクセス不可
セキュリティ面での制限と保護
23
≪参考≫ Designing a simple and secure app package – APPX
Delivering reliable and trustworthy Metro style apps
わんくま同盟 名古屋勉強会 #37
アプリ 従来のデスクトップアプリ UWP アプリ
アーキテクチャ
・クライアント = サーバー
・DB直結も可能
(褒められた手法ではない)
・「クラウド型」
・DB直結は不可
(必ず Web サービス経由)
業務アプリで推奨されるアーキテクチャ
24
Webサービス
Webサービスのフロントエンドとしての
Windows 10デバイス
DB 文書
別セグメントのLAN/クラウド
DB サーバー等
DB サーバーなど基幹サーバーに
クライアントから直結も可能
DB 文書
わんくま同盟 名古屋勉強会 #37
Xbox
One
IoT
Core
Universal
Windows Platform
Core APIsUWP アプリの
開発準備
開発を始めるには?
25
わんくま同盟 名古屋勉強会 #37
• UWP アプリを作るには?
* Windows 10 (PC)
* Visual Studio 2015 + Windows 10 SDK
* MS アカウント (開発者用ライセンス取得に必要)
* (できれば) ターゲット デバイス
• UWP アプリを配布するには?
* クレジットカード
* ストアへ開発者登録
(または、サイドローディングのためのデジタル署名)
概要
26
わんくま同盟 名古屋勉強会 #37
• エディションは問わない
• ただし、エミュレータを利用するには、Hyper-V が使えること
* SLAT 対応ハードウェア
* CMPXCHG16b、PrefetchW、LAHF/SAHF サポート
(古いAMDプロセッサだと未対応の可能性あり)
* RAM 4GB 以上
* 64bit版 Windows 10 Pro / Enterprise
• テスト環境では、開発ターゲットに合わせたブランチ (後述) を維持して
おくこと
※ ブランチの更新を止めるには Enterprise と WSUS が必要らしい
Windows 10 (PC)
27
わんくま同盟 名古屋勉強会 #37
• Window Update の方法が変わる
* セキュリティ アップデート ⇨ すべて強制
* 新機能アップデート ⇨ ブランチによって異なる
• PC 向けに 3 種類のブランチ
* CB (Current Branch): 強制アップデート [全エディション]
* CBB (Current Branch for Business): 1サイクル (約4か月) 延期可能
[Pro 版以上で選択可]
* LTSB (Long Term Servicing Branch): 最大10年間延期可能
[Enterprise / Education で選択可]
* 以上の他に、「人柱モード」 IP (Windows Insider Preview Branch) あり
【参考】 Windows 10 (PC) のアップデート ブランチ
28
わんくま同盟 名古屋勉強会 #37
• VS 2015 のエディションは問わない
無償の Express や Community でも OK♪
• Windows 10 SDK、および
Visual Studio Universal Windows app development tools
※ ストアへの提出には、プレビュー版はダメ (次ページ)
Visual Studio 2015 と SDK
29
わんくま同盟 名古屋勉強会 #37
• どちらもプレビュー版が配布されるけど、
Windows 10 新ブランチの正式リリースまでは
ストアでの公開は不可 ☜ 要注意!
• 例:2015/10 のプレビュー版SDK で作ったアプリは、
2015/11(予定)の Windows 10 TH2 のリリースまで公開できない
Windows 10 と SDK のリリース サイクル
30
Windows 10
SDK
2015/7月 10月 11月
★ TH1 リリース
★ TH1用 リリース
★ IP ★ IP … … ★ IP
★ プレビュー版
★ TH2 リリース
★ TH2用 リリース
わんくま同盟 名古屋勉強会 #37
• 「入会金」が必要 (クレジットカード払い)
現在 1,847円 (会社アカウントは 9,800円)
• 登録手順
https://msdn.microsoft.com/ja-jp/library/windows/apps/bg124287.aspx
• アプリ開発者契約書
https://msdn.microsoft.com/ja-jp/library/windows/apps/hh694058.aspx
• そのほか、目を通しておくべきドキュメント
* Windows ストア ポリシー (これに違反するとストアの審査に落ちる)
* 開発者倫理規定
ストアへの開発者登録
~ 開発中はなくてもいい。ストアに提出するときには必要
31
わんくま同盟 名古屋勉強会 #37
Xbox
One
IoT
Core
Universal
Windows Platform
Core APIsUWP アプリの
開発
とくに、複数のデバイスに対
応する方法は?
32
わんくま同盟 名古屋勉強会 #37
VS2015 RC では
「Windows Universal」
・Class Library
=.NET の普通のDLL
・Windows Runtime
Component
= JavaScript からも
使える DLL
・Unit Test App
= ストアアプリ用
MSTest
プロジェクトを作成する
33
わんくま同盟 名古屋勉強会 #37
プロジェクトのプロパティ
UWP ターゲット バージョンの指定
~ Windows 10 には 「バージョン」がある! (≒ブランチ)
34
わんくま同盟 名古屋勉強会 #37
マニフェスト ファイル
~ WPF では App.config、 UWP では Package.appxmanifest
35
動作対象デバイス
「Mobileのみ」 などと指
定が可能
ン
RTM では、自動的に設
定されると思われる
ターゲットバージョン
RTM では、
自動的に設定される
わんくま同盟 名古屋勉強会 #37
例: StreamSocketControl.ClientCertificate
【参考】 MSDN ドキュメントのバージョン情報
36
動作対象デバイス
適用開始バージョン
RTM 以降に追加された API
では 1.0 より大きい値になると
思われる
わんくま同盟 名古屋勉強会 #37
UI は XAML で。
書き方は、WPF と
ほぼ同じ
"Hello, world!"
~ WPF に慣れていれば楽勝♪
37
T e x t B l o c k を 配 置 し て 、
「 H e l l o , U W P ! 」
わんくま同盟 名古屋勉強会 #37
WPF とほぼ同じ。
Compiled Binding という
パフォーマンスの良い
手法も導入された
(右の画像は従来方式)
データ バインディング
~ WPF に慣れていれば、まぁ楽勝
38
1. バインディング
ソース
2. TextBlock に
バインド
3. バインドされた
データが
表示される
わんくま同盟 名古屋勉強会 #37
慣れていないと、
落とし穴がたくさん!
がんばって♪
async / await
~ UWP の世界は非同期 API ばかり!
39
ファイルを読み込むだけでも
非同期処理 !!
※ WinRT/Metro TIPS:「テキストファイルを簡単に読み書きするには?」より
わんくま同盟 名古屋勉強会 #37
画面幅などに応じて
デザインの変更を
指定できる
複数デバイス対応 その1: Adaptive Trigger
~ XAML だけでレスポンシブ デザイン
40
画面幅が狭いときに
適用されるスタイル
画面幅が中間のときに
適用されるスタイル
わんくま同盟 名古屋勉強会 #37
複数デバイス対応 その2: Xaml View
~ 1画面に複数の XAML ファイルを割り当て ⇨ 自動選択
41
Desktop 用の XAML
Mobile 用の XAML
その他のデバイス用の XAML
共通のコードビハインド
わんくま同盟 名古屋勉強会 #37
複数デバイス対応 その3: デバイス固有 API の使用
~ その API が利用できるか確かめてから呼び出す
42
Mobile 固有の API が
使えることをチェック
この例では
Mobile の [戻る] ボタンの
イベントハンドラーを
セットしている
※ PlatformSpecific Analyzer を使うと if 文を自動生成できる
わんくま同盟 名古屋勉強会 #37
【参考】 システム ワイドな [戻る] ボタン対応
~ 前ページの例は、今となってはもう使わない m(_`_)m
43
ウィンドウ左上の [戻る] ボタン
Phone の [戻る] ボタン
タスクバーの [戻る] ボタン
(タブレット モード時)
WinRT/Metro TIPS: 「システムの[戻る]ボタンに対応するには?」 参照
わんくま同盟 名古屋勉強会 #37
※ ストアへ提出するパッケージを作る前に、リリースビルドへ切り替えるのを忘れずに!
AppX パッケージの作成
~ パッケージの作成ウィザードで、さっくり作れる
44
はい: ストアへの提出用
いいえ: テスト用
わんくま同盟 名古屋勉強会 #37
※ パッケージ作成完了時に起動できる。直接起動してからアプリを指定してもよい。
WACK: アプリ認定キット
~ このテストに通らないようなら、ストアで確実にリジェクトされる
45
わんくま同盟 名古屋勉強会 #37
Xbox
One
IoT
Core
Universal
Windows Platform
Core APIs
まとめ
UWP のメリット/デメリット
46
わんくま同盟 名古屋勉強会 #37
UWP アプリ開発をやりますか? (はい/Yes)
• ○ Windows 10 の複数デバイスで動く
• ○ 安心で安全、Windows が「腐らない」
• × Windows 7 / 8.x では動かない
(全てが Window 10 に置き換わった後ではデメリットにならない)
• ☆ 面白いよ♪
そして今ならまだ、先頭に立てるチャンス❢
47
わんくま同盟 名古屋勉強会 #37
ユニバーサル
Windows アプリ
開発入門♪
2015/11/14
BluewaterSoft @biac
1 von 48

Recomendados

わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門 von
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門Yasuhiko Yamamoto
3.5K views51 Folien
無償のVisual studioで作るクライアント アプリ von
無償のVisual studioで作るクライアント アプリ無償のVisual studioで作るクライアント アプリ
無償のVisual studioで作るクライアント アプリYasuhiko Yamamoto
1.9K views36 Folien
UWP アプリを JavaScript で作る 3つの方法 von
UWP アプリを JavaScript で作る 3つの方法UWP アプリを JavaScript で作る 3つの方法
UWP アプリを JavaScript で作る 3つの方法Yasuhiko Yamamoto
6.3K views31 Folien
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」 von
第8回業開中心会議 「Windows 10 ユニバーサルアプリの概要」第8回業開中心会議 「Windows 10 ユニバーサルアプリの概要」
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」Yasuhiko Yamamoto
8.8K views45 Folien
Uwpアプリケーション開発入門 von
Uwpアプリケーション開発入門Uwpアプリケーション開発入門
Uwpアプリケーション開発入門Makoto Nishimura
7.6K views62 Folien
わんくま名古屋 #37 (20151114) TDD道場 #25 von
わんくま名古屋 #37 (20151114) TDD道場 #25わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25Yasuhiko Yamamoto
803 views23 Folien

Más contenido relacionado

Was ist angesagt?

Uwpハンズオン参加レポート von
Uwpハンズオン参加レポートUwpハンズオン参加レポート
Uwpハンズオン参加レポートMakoto Nishimura
2.4K views40 Folien
わんくま名古屋 #38 (20160521) Xamarin入門 von
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門Yasuhiko Yamamoto
1.6K views31 Folien
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう von
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようYasuhiko Yamamoto
916 views45 Folien
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発 von
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Osamu Monoe
14.7K views30 Folien
第5回業開中心会議 von
第5回業開中心会議第5回業開中心会議
第5回業開中心会議Kaoru NAKAMURA
6.7K views61 Folien
20150926 uwpストア攻略 von
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略Makoto Nishimura
4.8K views68 Folien

Was ist angesagt?(20)

Uwpハンズオン参加レポート von Makoto Nishimura
Uwpハンズオン参加レポートUwpハンズオン参加レポート
Uwpハンズオン参加レポート
Makoto Nishimura2.4K views
わんくま名古屋 #38 (20160521) Xamarin入門 von Yasuhiko Yamamoto
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto1.6K views
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう von Yasuhiko Yamamoto
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
Yasuhiko Yamamoto916 views
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発 von Osamu Monoe
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Osamu Monoe14.7K views
C++からC#まで Visual Studio 縛り (で死ぬ実験) von Takashi Kawasaki
C++からC#まで Visual Studio 縛り (で死ぬ実験)C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
Takashi Kawasaki6K views
Uno Platform 触ってみた von 一希 大田
Uno Platform 触ってみたUno Platform 触ってみた
Uno Platform 触ってみた
一希 大田3.3K views
Windows10時代のクロスプラットフォーム開発 von Kazushi Kamegawa
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発
Kazushi Kamegawa2.8K views
いまさら学ぶMVVMパターン von Yuta Matsumura
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura13.2K views
Visual Studio 2015 リリース記念 勉強会 universal windows platform app von 一希 大田
Visual Studio 2015 リリース記念 勉強会 universal windows platform appVisual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
一希 大田7.6K views
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話 von Takuya Kikuchi
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Takuya Kikuchi3.2K views
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ... von Fujio Kojima
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Fujio Kojima5K views
トラブル発生、その時あなたがすることは? von Kazushi Kamegawa
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?
Kazushi Kamegawa3.2K views
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用) von Tetsuji Hayashi
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
Tetsuji Hayashi1.5K views
PhoneGapで作るハイブリッドアプリケーション von Masahiko Tachizono
PhoneGapで作るハイブリッドアプリケーションPhoneGapで作るハイブリッドアプリケーション
PhoneGapで作るハイブリッドアプリケーション
Masahiko Tachizono10K views
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ... von Masanori Fujisaki
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
Masanori Fujisaki8.3K views

Similar a わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)

ストアアプリ →universal Windows Apps =WP8.1アプリ von
ストアアプリ→universal Windows Apps=WP8.1アプリストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ →universal Windows Apps =WP8.1アプリAkira Hatsune
3.3K views51 Folien
ABS2015 のセッション紹介 von
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介l_b__
1.6K views24 Folien
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版) von
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)一希 大田
3K views46 Folien
Android0422 von
Android0422Android0422
Android0422takahiko_takahashi
518 views42 Folien
Windows 8 Developers カンファレンス von
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
2.1K views58 Folien
2015 0227 OSC-Spring Tokyo NETMF von
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
1.8K views38 Folien

Similar a わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)(20)

ストアアプリ →universal Windows Apps =WP8.1アプリ von Akira Hatsune
ストアアプリ→universal Windows Apps=WP8.1アプリストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ →universal Windows Apps =WP8.1アプリ
Akira Hatsune3.3K views
ABS2015 のセッション紹介 von l_b__
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介
l_b__1.6K views
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版) von 一希 大田
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田3K views
Windows 8 Developers カンファレンス von Kaoru NAKAMURA
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA2.1K views
2015 0227 OSC-Spring Tokyo NETMF von Atomu Hidaka
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka1.8K views
.NET Coreとツール類の今 von Yuki Igarashi
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi6.8K views
.NET Coreから概観する.NETのOSSへの取り組み von Kouji Matsui
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui5.7K views
みゆっき☆Think#3 「androidに触ってみるよ!」 von techtalkdwango
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango575 views
.Net技術でこれからも食べていくための技術戦略 von Yuya Yamaki
.Net技術でこれからも食べていくための技術戦略.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略
Yuya Yamaki1.9K views
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」 von Yasuhiko Yamamoto
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
Yasuhiko Yamamoto1.4K views
Office 2010 ベータで理解するApp-V von Yoshitaka Seo
Office 2010 ベータで理解するApp-VOffice 2010 ベータで理解するApp-V
Office 2010 ベータで理解するApp-V
Yoshitaka Seo789 views
はじめての UWP アプリ開発 von hiyohiyo
はじめての UWP アプリ開発はじめての UWP アプリ開発
はじめての UWP アプリ開発
hiyohiyo9K views
ゲーム開発環境、もっと楽にできるよ♬ マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう! von Hiroko Umetsu
ゲーム開発環境、もっと楽にできるよ♬  マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!ゲーム開発環境、もっと楽にできるよ♬  マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!
ゲーム開発環境、もっと楽にできるよ♬ マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!
Hiroko Umetsu598 views
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう von Shinya Nakajima
Visual Studio App CenterでAndroid開発にCI/CDを導入しようVisual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Shinya Nakajima978 views
ET2016 Smart Japan Alliance Llilum 161118 von Atomu Hidaka
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
Atomu Hidaka143 views
Windows IoT Core and Robot Arm von Masuda Tomoaki
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot Arm
Masuda Tomoaki616 views
Androidリリース作業の効率化(2) von Kenichi Kambara
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara37K views
デスクトップアプリ最新事情201912 von m ishizaki
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
m ishizaki343 views

Más de Yasuhiko Yamamoto

わんくま名古屋#34(20150214) TDD道場#22 von
わんくま名古屋#34(20150214) TDD道場#22わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22Yasuhiko Yamamoto
820 views16 Folien
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!? von
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Yasuhiko Yamamoto
12K views52 Folien
わんくま名古屋#33(20141115) モノ作り半生 von
わんくま名古屋#33(20141115) モノ作り半生わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生Yasuhiko Yamamoto
1.9K views46 Folien
わんくま名古屋#33(20141115) TDD道場#21 von
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21Yasuhiko Yamamoto
796 views27 Folien
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ! von
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!Yasuhiko Yamamoto
1.7K views41 Folien
わんくま名古屋 #32 (20140823) TDD道場 #20 von
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20Yasuhiko Yamamoto
1.1K views43 Folien

Más de Yasuhiko Yamamoto(20)

わんくま名古屋#34(20150214) TDD道場#22 von Yasuhiko Yamamoto
わんくま名古屋#34(20150214) TDD道場#22わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22
Yasuhiko Yamamoto820 views
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!? von Yasuhiko Yamamoto
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Yasuhiko Yamamoto12K views
わんくま名古屋#33(20141115) モノ作り半生 von Yasuhiko Yamamoto
わんくま名古屋#33(20141115) モノ作り半生わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生
Yasuhiko Yamamoto1.9K views
わんくま名古屋#33(20141115) TDD道場#21 von Yasuhiko Yamamoto
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21
Yasuhiko Yamamoto796 views
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ! von Yasuhiko Yamamoto
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
Yasuhiko Yamamoto1.7K views
わんくま名古屋 #32 (20140823) TDD道場 #20 von Yasuhiko Yamamoto
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20
Yasuhiko Yamamoto1.1K views
わんくま名古屋#31(20140524) TDD道場 #19 von Yasuhiko Yamamoto
わんくま名古屋#31(20140524) TDD道場 #19わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19
Yasuhiko Yamamoto827 views
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め von Yasuhiko Yamamoto
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧めわんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
Yasuhiko Yamamoto768 views
Windows ストア アプリでスレッド間排他処理 von Yasuhiko Yamamoto
Windows ストア アプリでスレッド間排他処理Windows ストア アプリでスレッド間排他処理
Windows ストア アプリでスレッド間排他処理
Windows 8.1 Update 1 の噂をまとめてみた von Yasuhiko Yamamoto
Windows 8.1 Update 1 の噂をまとめてみたWindows 8.1 Update 1 の噂をまとめてみた
Windows 8.1 Update 1 の噂をまとめてみた
Yasuhiko Yamamoto1.4K views
タダで始めるテストファースト入門 ~ C# Express + NUnit von Yasuhiko Yamamoto
タダで始めるテストファースト入門 ~ C# Express + NUnitタダで始めるテストファースト入門 ~ C# Express + NUnit
タダで始めるテストファースト入門 ~ C# Express + NUnit
Yasuhiko Yamamoto3.3K views
わんくま名古屋 #29 (2013/11/23) TDD道場 #17 von Yasuhiko Yamamoto
わんくま名古屋 #29 (2013/11/23) TDD道場 #17わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋#28(20130824) c#で、ライフゲームを高速化してみるよ von Yasuhiko Yamamoto
わんくま名古屋#28(20130824) c#で、ライフゲームを高速化してみるよわんくま名古屋#28(20130824) c#で、ライフゲームを高速化してみるよ
わんくま名古屋#28(20130824) c#で、ライフゲームを高速化してみるよ
Yasuhiko Yamamoto1.7K views
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss] von Yasuhiko Yamamoto
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]
Yasuhiko Yamamoto1.5K views
Windowsストアアプリでウイルスを作るには!? cod2013名古屋 von Yasuhiko Yamamoto
Windowsストアアプリでウイルスを作るには!? cod2013名古屋Windowsストアアプリでウイルスを作るには!? cod2013名古屋
Windowsストアアプリでウイルスを作るには!? cod2013名古屋
Yasuhiko Yamamoto7.9K views
わんくま名古屋#27(20130518) データバインディングを極める von Yasuhiko Yamamoto
わんくま名古屋#27(20130518) データバインディングを極めるわんくま名古屋#27(20130518) データバインディングを極める
わんくま名古屋#27(20130518) データバインディングを極める
Yasuhiko Yamamoto1.3K views
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう! von Yasuhiko Yamamoto
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
Yasuhiko Yamamoto1.4K views
TDDの原理 ~ スペック・ファースト von Yasuhiko Yamamoto
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファースト
Yasuhiko Yamamoto1.3K views
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント von Yasuhiko Yamamoto
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) LT:「開発体験テンプレートを使ったストアアプリの作成」 von Yasuhiko Yamamoto
わんくま名古屋#25(20121201) LT:「開発体験テンプレートを使ったストアアプリの作成」わんくま名古屋#25(20121201) LT:「開発体験テンプレートを使ったストアアプリの作成」
わんくま名古屋#25(20121201) LT:「開発体験テンプレートを使ったストアアプリの作成」
Yasuhiko Yamamoto854 views

Último

SSH応用編_20231129.pdf von
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
287 views13 Folien
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 von
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
41 views26 Folien
さくらのひやおろし2023 von
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
94 views58 Folien
Windows 11 information that can be used at the development site von
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
80 views41 Folien
定例会スライド_キャチs 公開用.pdf von
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
97 views64 Folien
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
18 views38 Folien

Último(11)

SSH応用編_20231129.pdf von icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4287 views
さくらのひやおろし2023 von 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
Windows 11 information that can be used at the development site von Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka80 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
SNMPセキュリティ超入門 von mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda301 views
The Things Stack説明資料 by The Things Industries von CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.51 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... von NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...

わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)

  • 1. わんくま同盟 名古屋勉強会 #37 Windows 10 TH2 そろそろリリース UWP アプリ 開発入門♪ (実践編) 2015/11/14 BluewaterSoft @biac
  • 2. わんくま同盟 名古屋勉強会 #37 スピーカー紹介 • BluewaterSoft 山本 康彦 a.k.a @biac まだ人工衛星が飛んでない時代に生まれ、HONDAでクルマの設計やってました • Microsoft MVP for Windows Development (2014/10-2016/9) • Windows ランタイム アプリ開発 / 記事や書籍の執筆 やってます 2
  • 3. わんくま同盟 名古屋勉強会 #37 スピーカー紹介 ~ このセッションに関連する@ITの記事 • 徹底予習! Windows 10 のユニバーサルアプリ開発 2015/4/28 http://www.atmarkit.co.jp/ait/articles/1504/28/news015.html • Windows 10 UWP で業務デスクトップアプリ開発はどう変わるのか? 2015/6/23 http://www.atmarkit.co.jp/ait/articles/1506/23/news012.html • Build 2015: 全ての開発者が押さえておくべきマイクロソフトの最新技術 動向 2015/5/12 http://www.atmarkit.co.jp/ait/articles/1505/12/news011.html 3
  • 4. わんくま同盟 名古屋勉強会 #37 Windows 10 どんどんリリース❢ 4 Copyright © 2015 Windows Navi+
  • 5. わんくま同盟 名古屋勉強会 #37 Windows 10 リリース スケジュール • 7/29 Win7/8.1からの無償アップデート 開始 • 8/1 デスクトップ版 Enterprise 契約 販 売開始 • 9月(?) デスクトップ版パッケージ販売開 始 (USBメモリ) • 11月 Windows 10 TH2 リリース予定 • 秋以降 Windows Phone 8.1、Xbox One からの無償アップデート開始 • 来年 Surface Hub / HoloLens 発売 5 DSP 版 Windows 10 自作 PC 応援キャラクター 窓辺 てんこ (仮名) Copyright © 2015 Windows Navi+ ドイツの Web サイトがリークした 製品パッケージ (左:Pro、右:Home) 背景は Windows 10 標準の壁紙 "Hero Desktop Image"
  • 6. わんくま同盟 名古屋勉強会 #37 Xbox One IoT Core Universal Windows Platform Core APIs UWP アプリ ユニバーサル Windows プラットフォーム アプリ とは? 6
  • 7. わんくま同盟 名古屋勉強会 #37 デスクトップで使う分には、 見た目の違いは小さい • 左: WPF アプリ 右: UWP アプリ • ウィンドウの違い は、システムメ ニューアイコンの 有無くらい 7
  • 8. わんくま同盟 名古屋勉強会 #37 でも、UWP アプリは、同じバイナリが Windows 10 搭載スマートフォンでも動く❢ • Windows 10 Mobile エミュレータの画像 (VS2015RC 付属) 8
  • 9. わんくま同盟 名古屋勉強会 #37 そのほか、さまざまな Windows 10 搭載デバイスで動く❢ • 左: HoloLens Windows 10 搭載 ヘッドマウント型 コンピュータ • 上右: Surface Hub • 下左: Xbox One • 下右: 組み込み用ボード コンピュータ 9
  • 10. わんくま同盟 名古屋勉強会 #37 【参考】 Xbox One が Windows 10 になる!? • Xbox One には、Windows 8 が 2 つ載っている • ひとつは、リアルタイム ゲーム用 (図の右側) これは変わらないだろう • もうひとつは、Xbox コンソールや 「Shared apps」 などを動かす部分 (図の左側) ⇨ Windows 10 for Xbox (仮) にアップグレード 10
  • 11. わんくま同盟 名古屋勉強会 #37 Windows 10 のユニバーサル Windows プラットフォームで動作するアプリ = Windows 10 用 ユニバーサル Windows プラットフォーム アプリ 略して、 ⇨ ユニバーサル Windows プラットフォーム アプリ / UWP アプリ ⇨ ユニバーサル Windows アプリ ⇨ ユニバーサル アプリ / Windows アプリ ユニバーサル Windows プラットフォーム アプリ 11
  • 12. わんくま同盟 名古屋勉強会 #37 • Windows 8.x と Windows Phone 7.x/8.x の間でユニバーサルに使える アプリも、「ユニバーサル Windows アプリ」 (でもこれは別バイナリ) 注意!! 従来と区別が付くように、略称を使ってね♪ 12 ※ Build 2014 キーノートより
  • 13. わんくま同盟 名古屋勉強会 #37 • Windows ストアからダウンロード / インストール ※ ストアを介さない「サイドローディング」も可能 • ユーザーごとのインストール • 改竄チェック / 権限チェック • サンドボックスでの実行 • 自動アップデート • クリーンなアンインストール UWP は、新形式の AppX パッケージを動かす 13 ※ Build 2015 セッション 2-695 資料
  • 14. わんくま同盟 名古屋勉強会 #37 【参考】 AppX 系パッケージの変遷 14 ※ Build 2015 セッション 2-695 資料
  • 15. わんくま同盟 名古屋勉強会 #37 どのデバイスでも共通に使える API UWP は、単一の API Surface を提供する 15 ※ MVA "A Developer's Guide to Windows 10" モジュール01 資料
  • 16. わんくま同盟 名古屋勉強会 #37 デバイス固有の拡張部分 (Extension) がある UWP の API は、デバイスによって違いがある 16 UWP 共通部分 デスクトップ用 Extension スマートフォン用 Extension UWP 共通部分 ここを 「Windows Core」 と呼ぶこともある
  • 17. わんくま同盟 名古屋勉強会 #37 デバイス PC / タブ レット(大) スマートフォ ン / タブレッ ト(小) 組み込み ボード Surface Hub HoloLens Xbox One Extension Desktop Mobile IoT Team (未発表) (未発表) Windows 10 エディション ・Home ・Pro ・Enterprise ・Education ・IoT for industory devices (仮) ・Mobile ・Mobile Enterprise ・IoT for mobile devices (仮) ・IoT Core ・Surface Hub 用 ・HoloLens用 (仮) ・Xbox用 (仮) デバイス、エクステンション、 Windows 10 のエディションとの対応 17
  • 18. わんくま同盟 名古屋勉強会 #37 •今のところ不明瞭 orz • とりあえず、 「AppX パッケージを動かす仕組み」 と大雑把に把握して おけば OK だろう • 将来、きちんとしたドキュメント (書籍?) が出てくることを期待 で、 ユニバーサル Windows プラットフォームの 構造や範囲などの詳細は? 18
  • 19. わんくま同盟 名古屋勉強会 #37 Xbox One IoT Core Universal Windows Platform Core APIsUWP アプリの 特徴 従来のデスクトップアプリとの 比較 19
  • 20. わんくま同盟 名古屋勉強会 #37 アプリ 従来の デスクトップアプリ UWP アプリ デバイス PC / タブレット PC / タブレット スマートフォン / IoT / Surface Hub / Hololens / Xbox One 等 Windows バージョン Windows 7 / 8.x / 10 ( Windows RT は除く ) Windows 10 ( Windows RT では動かず) 動作するデバイスと Windows 20
  • 21. わんくま同盟 名古屋勉強会 #37 アプリ 従来のデスクトップアプリ UWP アプリ UI / プログラミ ング言語 WinForm + C# / VB XAML (WPF) + C# / VB MFC + C++ XAML + C# / VB HTML + JavaScript XAML + C++ 利用する API ・.NET Framework 主体 ・利用可: Win32 API, COM, Windows Runtime (一部) ・Windows Runtime 主体 ・利用可(一部だけ): .NET Framework, Win32 API, COM タッチ対応 UI 自前で実装 (サードパーティ部品あり) 標準対応 UI / プログラミング言語 / 利用する API / タッチ対応 21
  • 22. わんくま同盟 名古屋勉強会 #37 アプリ 従来のデスクトップアプリ UWP アプリ 配布パッケージ ・MSI パッケージ ・サードパーティ製インストーラ ・実行ファイルそのまま AppX パッケージ 配布方法 自由 (Windows ストアを除く) ・Windows ストア ・Windows ストア for Business ・サイドローディング インストールの 影響 (可能性) レジストリーへの書き込み システム DLL 上書き ⇨ Windows が 「腐る」 ほぼ無し ⇨ Windows が 「腐らない」 配布とインストール 22
  • 23. わんくま同盟 名古屋勉強会 #37 アプリ 従来のデスクトップア プリ UWP アプリ アプリに対す る制限 ・なし (UACのみ) ・実行中に UAC 昇格 可能 ・サンドボックスで動作 ・管理者権限不可 ・ファイル I/O やプリンター制御などに制限 ・DB アクセスやプロセス間通信は不可 アプリ保護 なし ・インストール フォルダーに特殊なアクセス 権 (Adminでもアクセス不可) ・実行時に他アプリからアクセス不可 セキュリティ面での制限と保護 23 ≪参考≫ Designing a simple and secure app package – APPX Delivering reliable and trustworthy Metro style apps
  • 24. わんくま同盟 名古屋勉強会 #37 アプリ 従来のデスクトップアプリ UWP アプリ アーキテクチャ ・クライアント = サーバー ・DB直結も可能 (褒められた手法ではない) ・「クラウド型」 ・DB直結は不可 (必ず Web サービス経由) 業務アプリで推奨されるアーキテクチャ 24 Webサービス Webサービスのフロントエンドとしての Windows 10デバイス DB 文書 別セグメントのLAN/クラウド DB サーバー等 DB サーバーなど基幹サーバーに クライアントから直結も可能 DB 文書
  • 25. わんくま同盟 名古屋勉強会 #37 Xbox One IoT Core Universal Windows Platform Core APIsUWP アプリの 開発準備 開発を始めるには? 25
  • 26. わんくま同盟 名古屋勉強会 #37 • UWP アプリを作るには? * Windows 10 (PC) * Visual Studio 2015 + Windows 10 SDK * MS アカウント (開発者用ライセンス取得に必要) * (できれば) ターゲット デバイス • UWP アプリを配布するには? * クレジットカード * ストアへ開発者登録 (または、サイドローディングのためのデジタル署名) 概要 26
  • 27. わんくま同盟 名古屋勉強会 #37 • エディションは問わない • ただし、エミュレータを利用するには、Hyper-V が使えること * SLAT 対応ハードウェア * CMPXCHG16b、PrefetchW、LAHF/SAHF サポート (古いAMDプロセッサだと未対応の可能性あり) * RAM 4GB 以上 * 64bit版 Windows 10 Pro / Enterprise • テスト環境では、開発ターゲットに合わせたブランチ (後述) を維持して おくこと ※ ブランチの更新を止めるには Enterprise と WSUS が必要らしい Windows 10 (PC) 27
  • 28. わんくま同盟 名古屋勉強会 #37 • Window Update の方法が変わる * セキュリティ アップデート ⇨ すべて強制 * 新機能アップデート ⇨ ブランチによって異なる • PC 向けに 3 種類のブランチ * CB (Current Branch): 強制アップデート [全エディション] * CBB (Current Branch for Business): 1サイクル (約4か月) 延期可能 [Pro 版以上で選択可] * LTSB (Long Term Servicing Branch): 最大10年間延期可能 [Enterprise / Education で選択可] * 以上の他に、「人柱モード」 IP (Windows Insider Preview Branch) あり 【参考】 Windows 10 (PC) のアップデート ブランチ 28
  • 29. わんくま同盟 名古屋勉強会 #37 • VS 2015 のエディションは問わない 無償の Express や Community でも OK♪ • Windows 10 SDK、および Visual Studio Universal Windows app development tools ※ ストアへの提出には、プレビュー版はダメ (次ページ) Visual Studio 2015 と SDK 29
  • 30. わんくま同盟 名古屋勉強会 #37 • どちらもプレビュー版が配布されるけど、 Windows 10 新ブランチの正式リリースまでは ストアでの公開は不可 ☜ 要注意! • 例:2015/10 のプレビュー版SDK で作ったアプリは、 2015/11(予定)の Windows 10 TH2 のリリースまで公開できない Windows 10 と SDK のリリース サイクル 30 Windows 10 SDK 2015/7月 10月 11月 ★ TH1 リリース ★ TH1用 リリース ★ IP ★ IP … … ★ IP ★ プレビュー版 ★ TH2 リリース ★ TH2用 リリース
  • 31. わんくま同盟 名古屋勉強会 #37 • 「入会金」が必要 (クレジットカード払い) 現在 1,847円 (会社アカウントは 9,800円) • 登録手順 https://msdn.microsoft.com/ja-jp/library/windows/apps/bg124287.aspx • アプリ開発者契約書 https://msdn.microsoft.com/ja-jp/library/windows/apps/hh694058.aspx • そのほか、目を通しておくべきドキュメント * Windows ストア ポリシー (これに違反するとストアの審査に落ちる) * 開発者倫理規定 ストアへの開発者登録 ~ 開発中はなくてもいい。ストアに提出するときには必要 31
  • 32. わんくま同盟 名古屋勉強会 #37 Xbox One IoT Core Universal Windows Platform Core APIsUWP アプリの 開発 とくに、複数のデバイスに対 応する方法は? 32
  • 33. わんくま同盟 名古屋勉強会 #37 VS2015 RC では 「Windows Universal」 ・Class Library =.NET の普通のDLL ・Windows Runtime Component = JavaScript からも 使える DLL ・Unit Test App = ストアアプリ用 MSTest プロジェクトを作成する 33
  • 34. わんくま同盟 名古屋勉強会 #37 プロジェクトのプロパティ UWP ターゲット バージョンの指定 ~ Windows 10 には 「バージョン」がある! (≒ブランチ) 34
  • 35. わんくま同盟 名古屋勉強会 #37 マニフェスト ファイル ~ WPF では App.config、 UWP では Package.appxmanifest 35 動作対象デバイス 「Mobileのみ」 などと指 定が可能 ン RTM では、自動的に設 定されると思われる ターゲットバージョン RTM では、 自動的に設定される
  • 36. わんくま同盟 名古屋勉強会 #37 例: StreamSocketControl.ClientCertificate 【参考】 MSDN ドキュメントのバージョン情報 36 動作対象デバイス 適用開始バージョン RTM 以降に追加された API では 1.0 より大きい値になると 思われる
  • 37. わんくま同盟 名古屋勉強会 #37 UI は XAML で。 書き方は、WPF と ほぼ同じ "Hello, world!" ~ WPF に慣れていれば楽勝♪ 37 T e x t B l o c k を 配 置 し て 、 「 H e l l o , U W P ! 」
  • 38. わんくま同盟 名古屋勉強会 #37 WPF とほぼ同じ。 Compiled Binding という パフォーマンスの良い 手法も導入された (右の画像は従来方式) データ バインディング ~ WPF に慣れていれば、まぁ楽勝 38 1. バインディング ソース 2. TextBlock に バインド 3. バインドされた データが 表示される
  • 39. わんくま同盟 名古屋勉強会 #37 慣れていないと、 落とし穴がたくさん! がんばって♪ async / await ~ UWP の世界は非同期 API ばかり! 39 ファイルを読み込むだけでも 非同期処理 !! ※ WinRT/Metro TIPS:「テキストファイルを簡単に読み書きするには?」より
  • 40. わんくま同盟 名古屋勉強会 #37 画面幅などに応じて デザインの変更を 指定できる 複数デバイス対応 その1: Adaptive Trigger ~ XAML だけでレスポンシブ デザイン 40 画面幅が狭いときに 適用されるスタイル 画面幅が中間のときに 適用されるスタイル
  • 41. わんくま同盟 名古屋勉強会 #37 複数デバイス対応 その2: Xaml View ~ 1画面に複数の XAML ファイルを割り当て ⇨ 自動選択 41 Desktop 用の XAML Mobile 用の XAML その他のデバイス用の XAML 共通のコードビハインド
  • 42. わんくま同盟 名古屋勉強会 #37 複数デバイス対応 その3: デバイス固有 API の使用 ~ その API が利用できるか確かめてから呼び出す 42 Mobile 固有の API が 使えることをチェック この例では Mobile の [戻る] ボタンの イベントハンドラーを セットしている ※ PlatformSpecific Analyzer を使うと if 文を自動生成できる
  • 43. わんくま同盟 名古屋勉強会 #37 【参考】 システム ワイドな [戻る] ボタン対応 ~ 前ページの例は、今となってはもう使わない m(_`_)m 43 ウィンドウ左上の [戻る] ボタン Phone の [戻る] ボタン タスクバーの [戻る] ボタン (タブレット モード時) WinRT/Metro TIPS: 「システムの[戻る]ボタンに対応するには?」 参照
  • 44. わんくま同盟 名古屋勉強会 #37 ※ ストアへ提出するパッケージを作る前に、リリースビルドへ切り替えるのを忘れずに! AppX パッケージの作成 ~ パッケージの作成ウィザードで、さっくり作れる 44 はい: ストアへの提出用 いいえ: テスト用
  • 45. わんくま同盟 名古屋勉強会 #37 ※ パッケージ作成完了時に起動できる。直接起動してからアプリを指定してもよい。 WACK: アプリ認定キット ~ このテストに通らないようなら、ストアで確実にリジェクトされる 45
  • 46. わんくま同盟 名古屋勉強会 #37 Xbox One IoT Core Universal Windows Platform Core APIs まとめ UWP のメリット/デメリット 46
  • 47. わんくま同盟 名古屋勉強会 #37 UWP アプリ開発をやりますか? (はい/Yes) • ○ Windows 10 の複数デバイスで動く • ○ 安心で安全、Windows が「腐らない」 • × Windows 7 / 8.x では動かない (全てが Window 10 に置き換わった後ではデメリットにならない) • ☆ 面白いよ♪ そして今ならまだ、先頭に立てるチャンス❢ 47
  • 48. わんくま同盟 名古屋勉強会 #37 ユニバーサル Windows アプリ 開発入門♪ 2015/11/14 BluewaterSoft @biac

Hinweis der Redaktion

  1. 前回の勉強会では、Windows 10 UWP アプリ開発の概要を解説しました。今回は、実際にコードを作って動かすところをご紹介。 Windows phone 用の Windows 10 も RTM になっているので (そのハズ)、1ソースでマルチデバイスに対応する実際も見ていただけるはず。 ⇒ ゴメンナサイ m(_`_)m なんと、まだ Win10Mobile が RTM してないとは… orz
  2. http://download.microsoft.com/download/C/E/B/CEBFC4DD-B9DF-4A62-8B65-4944B7489E91/RelNotes_VSTools_Windows10TP.docx metadata の更新 Exit Visual Studio. Open a command prompt as administrator. Run this script: \Program Files (x86)\Windows Kits\10\bin\x86\GenerateUnionWinMD.cmd または、最新の Win10 SDK が出てるなら、それを入れる
  3. http://download.microsoft.com/download/C/E/B/CEBFC4DD-B9DF-4A62-8B65-4944B7489E91/RelNotes_VSTools_Windows10TP.docx metadata の更新 Exit Visual Studio. Open a command prompt as administrator. Run this script: \Program Files (x86)\Windows Kits\10\bin\x86\GenerateUnionWinMD.cmd または、最新の Win10 SDK が出てるなら、それを入れる
  4. これからはずっと「Windows 10」だというが、何年か先には UWP の刷新があるだろう。 そのとき何と呼ぶことになるのか? 今から頭が痛い。 「Windows 10 "Amber"(仮) 用 UWP」 とか!?
  5. AppX 8.1 や XAP を扱う部分まで UWP に含めるのかどうかは、今のところ不明。
  6. Windows 10 の NT カーネル (+α) を Windows Core と呼ぶこともある。 Windows 10 Home エディションのことを Windows 10 Core と呼ぶこともある。
  7. これからはずっと「Windows 10」だというが、何年か先には UWP の刷新があるだろう。 そのとき何と呼ぶことになるのか? 今から頭が痛い。 「Windows 10 "Amber"(仮) 用 UWP」 とか!?
  8. http://download.microsoft.com/download/C/E/B/CEBFC4DD-B9DF-4A62-8B65-4944B7489E91/RelNotes_VSTools_Windows10TP.docx metadata の更新 Exit Visual Studio. Open a command prompt as administrator. Run this script: \Program Files (x86)\Windows Kits\10\bin\x86\GenerateUnionWinMD.cmd または、最新の Win10 SDK が出てるなら、それを入れる
  9. http://download.microsoft.com/download/C/E/B/CEBFC4DD-B9DF-4A62-8B65-4944B7489E91/RelNotes_VSTools_Windows10TP.docx metadata の更新 Exit Visual Studio. Open a command prompt as administrator. Run this script: \Program Files (x86)\Windows Kits\10\bin\x86\GenerateUnionWinMD.cmd または、最新の Win10 SDK が出てるなら、それを入れる
  10. http://download.microsoft.com/download/C/E/B/CEBFC4DD-B9DF-4A62-8B65-4944B7489E91/RelNotes_VSTools_Windows10TP.docx metadata の更新 Exit Visual Studio. Open a command prompt as administrator. Run this script: \Program Files (x86)\Windows Kits\10\bin\x86\GenerateUnionWinMD.cmd または、最新の Win10 SDK が出てるなら、それを入れる
  11. プロジェクトで指定する「バージョン」と、この ApiContract のバージョンは表記法が違う。どうやってマッチングすればいいのか、今のところ不明。
  12. イベントハンドラー内で、CanGobackを見ること! タブレットモード時、最初の画面でタスクバーの [←] をタップされたときは、スタート画面に戻らないといけない。
  13. http://download.microsoft.com/download/C/E/B/CEBFC4DD-B9DF-4A62-8B65-4944B7489E91/RelNotes_VSTools_Windows10TP.docx metadata の更新 Exit Visual Studio. Open a command prompt as administrator. Run this script: \Program Files (x86)\Windows Kits\10\bin\x86\GenerateUnionWinMD.cmd または、最新の Win10 SDK が出てるなら、それを入れる