Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introducing Windows Runtime Hokuriku.NET vol.15 2014/8/30 Sat 遥佐保(はるか・さお)

Similar presentations


Presentation on theme: "Introducing Windows Runtime Hokuriku.NET vol.15 2014/8/30 Sat 遥佐保(はるか・さお)"— Presentation transcript:

1 Introducing Windows Runtime Hokuriku.NET vol.15 2014/8/30 Sat 遥佐保(はるか・さお)

2 はじめに

3 @hr_sao Room metro Osaka C++ テンプレート読書会 Microsoft MVP for Client App Dev[Jan,2010-Dec,2013] Microsoft MVP for Client Development [Jan,2014-Jun,2014] Microsoft MVP for Windows Platform Development [Jul,2014-Dec,2014]

4 Windows Runtime のファンを増やす! もっと一緒に勉強してくれる人が増えたらいいな … 本日の目的

5 1. Windows Runtime architecture 2. Process 3. Features 4. Visual Studio Template 5. Universal windows apps 6. Windows store 7. Add deployment Topics

6 1. Windows Runtime architecture

7 Windows Runtime Technology Stacks Windows SDKs WinRT (native) XAML -Windows8.1 DirectX / XAML -DirectX11.2 C/C++ -C++11 CRT HTML / CSS -Trident C# / VB FCL JavaScript -Chakra WinJS 描画 言語 VM CLR (native) Internet Explorer -WWAHost.exe Win32 / COM Core Controls Data and content Devices Files and Folders Globalization Graphics Helpers Media Networking Printing Presentation Remote Desktop Security Social UI Automation User interaction API (公開さ れてい る機能) Desktop Windows Store Apps

8 Windows Store Apps から Win32/COM へは、原則呼び出し禁止 Windows Store Apps から呼び出しを許可されている COM はある http://msdn.microsoft.com/en-us/library/br205753 http://msdn.microsoft.com/en-us/library/br205753 Win32 and COM for Windows Store apps Windows SDKs Windows Runtime Win32 / COM Desktop AppsWindows Store Apps

9 Windows SDKs Windows Runtime Use Language Windows Store Apps C/C++ -C++11 C# / VB JavaScript -Chakra

10 全ての言語から利用できるための API とは? WinMD ファイル – metadata (ECMA-335) C:\Windows\System32\WinMetadata にある.winmd 拡張子 型やメンバが 記述されている Windows MetaData

11 メタデータを記載している Windows Runtime の実体は EXE や DLL HKLM\Software\Microsoft\WindowsRuntime\ActivatableClassId WinMD DLL

12 Windows SDKs Windows Runtime Application Binary Interface Windows Store Apps C/C++ C# / VB JavaScript Application Binary Interface Windows Runtime は全て、 ABI を通じて API 提供を行う

13 Windows SDKs Windows Runtime WinRT API projection - C#/VB Windows Store Apps Windows Runtime WinMD C# / VB 1 2 CLR

14 Windows SDKs Windows Runtime WinRT API projection - C++/CX Windows Store Apps C/C++ Windows Runtime WinMD 1 2

15 Windows SDKs Windows Runtime WinRT API projection - JavaScript Windows Store Apps Windows Runtime WinMD JavaScript Internet Explorer -WWAHost.exe

16 Windows SDKs Windows Runtime Windows Store Apps C/C++ C# / VB JavaScript Application Binary Interface Windows Runtime と ABI のおかげで、各言語の相互利用が可能

17 2. Process

18 プロセスが Active 化するのは 2 パターン メインビューのアクティブ化 Activation (1)

19 Activation (2) ホステッドビューのアクティブ化

20 アクティブ化の方法は 2 つある Windows ストアアプリのインスタンスは 1 つ - App オブジェクトはシングルトン Initialization

21 Process life time アプリに終了の概念はなし 待機時、バックグラウンドタスクを実行できる Background task

22 3. Features

23 パッケージデータ ストレージ ストリーム ネットワーク 通知 バックグラウンドタスク Windows Runtime Features 共有 広告 アプリ内課金

24 Package Data

25 Windows::Storage::ApplicationData::Current いわゆるセーブ領域 テンポラリ保存 ローカル保存 ローミング C:\Users\[ ユーザ名 ]\AppData\Local\Packages \[ パッケージファミリ名 ]\LocalState\_sessionState.dat ApplicationData

26 Notification ?

27 Push Notification Windows Push Notification Services (1) ストアアプリの初回起動で PushNotificationChannelManager.CreatePushNotificationCahnellForApplicationAsync() を実行 (1) (2) (2) Web サービスにチャネル URI (さっき (1) で取得したもの)を 送信する ※ 30 日で期限は切れる URI (例) https://xxx.notify.windows.com/?token=xxx

28 Push Notification Windows Push Notification Services (3) 取得した URI(2) に、通知したいメッセージを付けて WNS に送信する ※アプリ開発者だけが知っているクライアントシークレットを 付けて OAuth トークンを発行してもらう (1) (3) (4) タイルの更新やトースト通知が実施される (2) (4)

29 Sharing data between apps

30 クリップボードはシステムで 1 つだけ static 実装されている Windows.ApplicationModel.DataTransfer.Clipboard Sharing data - Clipboard

31 例 ← ← IE のリンクを受け取 る FB アプリ Shareing 共有ソースアプリ (共有するデータを持っている) ターゲットアプリ (共有されたデータを受け取る)

32 ソースアプリ( IE )で共有したいものを DataPackage に入れておく ※ターゲットアプリ( FB )と共有できる Windows.ApplicationModel.DataTransfer.DataPackage Sharing data - DataPackage

33 Advertisement

34 * Windows ストア アプリで収益を上げるには - http://www.microsoftvirtualacademy.com/training-courses/decode-track1http://www.microsoftvirtualacademy.com/training-courses/decode-track1

35 Microsoft Advertising SDK のインストール - http://adsinapps.microsoft.com/ja-jp/sdkhttp://adsinapps.microsoft.com/ja-jp/sdk Microsoft pubCenter に登録 - https://pubcenter.microsoft.comhttps://pubcenter.microsoft.com Ad Control の貼り付け Advertisement

36 テスト用のコードが簡単に利用できる 自分のやつは pubCenter で Get! Ad control

37 アプリ内課金 Windows.ApplicationModel.Store アプリケーションのライセンスの状態を確認 (評価版またはアクティブなライセンスなど) アプリ内機能の確認 アプリ内購入

38 4. Visual Studio Template

39 IPropertySet^ vals = ApplicationData::Current->LocalSettings->Values; if( vals->HasKey( "my_data” )){ vals->Remove( “my_data"); } vals->Insert( "my_data", “Hokuriku" ); if( pageState->HasKey( "my_data” )){ pageState->Remove( “my_data" ); } pageState->Insert( "my_data", “Hokuriku" ); Ex) ApplicationData ApplicationData を直接使う VS テンプレートの NavigationHelper クラスの pageState を使う

40 VS 付随のプロジェクトテンプレートがある テンプレート固有話なのか? WinRT の話なのか? Visual studio Template

41 5. Universal windows apps

42 1 つのソースで Windows ストアアプリと Windows Phone アプリの開発が出来る - ただし、 XAML は別 どちらかのストアで購入すると、もう片方でも 購入済みになる データが同期される * めとべや東京 #4 の資料公開。「ユニバーサル Windows アプリ入門」 # めとべや東京 - http://okazuki.hatenablog.com/entry/2014/05/31/153328http://okazuki.hatenablog.com/entry/2014/05/31/153328

43 これからプロジェクトを作るなら、ユニバーサル がおススメ Windows Phone → Universal apps いばらの道 Windows store apps → Universal apps まぁ出来る Universal apps → Windows store apps WP 版を使わなけ ればよい Universal apps → Windows Phone ストア版を使わ なければよい

44 6. Windows store

45 https://msdn.microsoft.com/ja-jp/windows/apps Windows Developer Center

46 ストアへの お布施 (年単位)

47 とにかく名前を登録する プッシュ通知などに必要 な情報はここでしか得ら れない (※企業用は別) app for certification

48 Live Services site http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/hh868206.aspx

49

50

51 7. App deployment

52 「アプリをデプロイする」「配布する」とは? → 開発者が Windows ストアに 自分のアプリを登録すること ※その後、ユーザはアプリをクライアント PC に インストールする Deployment …?

53 (1) Visual Studio で開発し Visual Studio から実行 開発者ライセンスを使って実行 - 無料ライセンス( 30 ~ 90 日程度で更新かな ? ) もちろん VS 持ってないとダメ How to Install (1/4)

54 (2) Add-AppxPackage PowerShell コマンドを用いて インストールする 開発者ライセンスを使って実行 パッケージの証明書入れる必要あり ( CertUtil.exe ) Add-AppxPackage でインストール * # めとべや 東京 2 で Sideloading Windows Store apps with PowerShell について発表して きました 資料公開 http://tech.guitarrapc.com/entry/2013/10/15/073820 http://tech.guitarrapc.com/entry/2013/10/15/073820 How to Install (2/4)

55 (3) 企業内でサイドローディングして配布する ActiveDirectory 参加必須 - なので無印 WindowsRT はだめ(企業向け) エンタープライズサイドローディングキーを別 途購入する必要がある * WINDOWS ストア アプリのサイドローディングについて http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team _blog/archive/2014/03/12/2014-03-12-windows.aspx http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team _blog/archive/2014/03/12/2014-03-12-windows.aspx How to Install (3/4) Open License, Select Plus で購入可能 Windows 8.1 Enterprise Sideloading (10 Pack) と Windows 8.1 Enterprise Sideloading (100 Pack) がある

56 (4) Windows ストアに出す! マイクロソフトがアプリを事前にチェック 合格したものだけをストアに出展 ストアに出すためにアプリ開発契約者(有料) になる必要がある Windows ストアから Download & Instatll How to Install (4/4)

57 Fun…

58 クライアントで動作する Windows Runtime の 仕組みを知る Windows Runtime の固有機能を知る その次に Visual Studio Template/Universal windows apps Windows ストアの登録、配布、インストール も忘れずに Let’s Windows Runtime

59 プログラミング WindowsRuntime 参考


Download ppt "Introducing Windows Runtime Hokuriku.NET vol.15 2014/8/30 Sat 遥佐保(はるか・さお)"

Similar presentations


Ads by Google