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

More Related Content

What's hot

Uwpハンズオン参加レポート
Uwpハンズオン参加レポートUwpハンズオン参加レポート
Uwpハンズオン参加レポートMakoto Nishimura
 
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門Yasuhiko Yamamoto
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略Makoto Nishimura
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議Kaoru NAKAMURA
 
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Osamu Monoe
 
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようYasuhiko Yamamoto
 
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)Takashi Kawasaki
 
Uno Platform 触ってみた
Uno Platform 触ってみたUno Platform 触ってみた
Uno Platform 触ってみた一希 大田
 
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform appVisual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app一希 大田
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Kazushi Kamegawa
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話Takuya Kikuchi
 
その後のBash on windows
その後のBash on windowsその後のBash on windows
その後のBash on windowsKazushi Kamegawa
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...Fujio Kojima
 
20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発一希 大田
 
トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?Kazushi Kamegawa
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ慎一 古賀
 
めとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディングめとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディング一希 大田
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 

What's hot (20)

Uwpハンズオン参加レポート
Uwpハンズオン参加レポートUwpハンズオン参加レポート
Uwpハンズオン参加レポート
 
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
 
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
 
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
 
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
 
Uno Platform 触ってみた
Uno Platform 触ってみたUno Platform 触ってみた
Uno Platform 触ってみた
 
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform appVisual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
 
その後のBash on windows
その後のBash on windowsその後のBash on windows
その後のBash on windows
 
Silverlight to Next オンライン セミナー
Silverlight to Next オンライン セミナーSilverlight to Next オンライン セミナー
Silverlight to Next オンライン セミナー
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
 
20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発
 
トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
めとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディングめとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディング
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 

Viewers also liked

わんくまT78 mfcを始めようとしてみた
わんくまT78 mfcを始めようとしてみたわんくまT78 mfcを始めようとしてみた
わんくまT78 mfcを始めようとしてみた伸男 伊藤
 
わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生Yasuhiko Yamamoto
 
わんくま同盟の紹介
わんくま同盟の紹介わんくま同盟の紹介
わんくま同盟の紹介Satoshi Iijima
 
わんくまT84 kinect深度情報処理入門
わんくまT84 kinect深度情報処理入門わんくまT84 kinect深度情報処理入門
わんくまT84 kinect深度情報処理入門伸男 伊藤
 
20150912わんくま大阪-Firefox OSの「いま」と「これから」
20150912わんくま大阪-Firefox OSの「いま」と「これから」20150912わんくま大阪-Firefox OSの「いま」と「これから」
20150912わんくま大阪-Firefox OSの「いま」と「これから」Takahiro Uemura
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~normalian
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみようTakuya Kawabe
 
わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46Atsuo Yamasaki
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)Takuya Kawabe
 

Viewers also liked (9)

わんくまT78 mfcを始めようとしてみた
わんくまT78 mfcを始めようとしてみたわんくまT78 mfcを始めようとしてみた
わんくまT78 mfcを始めようとしてみた
 
わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生
 
わんくま同盟の紹介
わんくま同盟の紹介わんくま同盟の紹介
わんくま同盟の紹介
 
わんくまT84 kinect深度情報処理入門
わんくまT84 kinect深度情報処理入門わんくまT84 kinect深度情報処理入門
わんくまT84 kinect深度情報処理入門
 
20150912わんくま大阪-Firefox OSの「いま」と「これから」
20150912わんくま大阪-Firefox OSの「いま」と「これから」20150912わんくま大阪-Firefox OSの「いま」と「これから」
20150912わんくま大阪-Firefox OSの「いま」と「これから」
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
 
わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
 

Similar to わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門

ストアアプリ →universal Windows Apps =WP8.1アプリ
ストアアプリ→universal Windows Apps=WP8.1アプリストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ →universal Windows Apps =WP8.1アプリAkira Hatsune
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118Atomu Hidaka
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介l_b__
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)一希 大田
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけようKouji Matsui
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」Yasuhiko Yamamoto
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発Yuya Yamaki
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot ArmMasuda Tomoaki
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」techtalkdwango
 
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912m ishizaki
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Atomu Hidaka
 
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 日本マイクロソフト株式会社
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCodeYuki Igarashi
 
はじめての UWP アプリ開発
はじめての UWP アプリ開発はじめての UWP アプリ開発
はじめての UWP アプリ開発hiyohiyo
 

Similar to わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門 (20)

ストアアプリ →universal Windows Apps =WP8.1アプリ
ストアアプリ→universal Windows Apps=WP8.1アプリストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ →universal Windows Apps =WP8.1アプリ
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot Arm
 
Android0422
Android0422Android0422
Android0422
 
Bar Vsug04 Masami Suzuki Windows7 UI
Bar Vsug04 Masami Suzuki Windows7 UIBar Vsug04 Masami Suzuki Windows7 UI
Bar Vsug04 Masami Suzuki Windows7 UI
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
はじめての UWP アプリ開発
はじめての UWP アプリ開発はじめての UWP アプリ開発
はじめての UWP アプリ開発
 
Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1
 

More from Yasuhiko Yamamoto

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

More from Yasuhiko Yamamoto (20)

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

わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門

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