Windows Runtime の内部構造: "Hello World" で理解する

Download Report

Transcript Windows Runtime の内部構造: "Hello World" で理解する

•
本プレゼンテーション (以下、本書) で提供されている情報は、本書が
発表された時点における Microsoft の見解を述べたものです。市場
ニーズの変化に対応する必要があるため、本書は記載された内容の実
現に関する Microsoft の確約とはみなされないものとします。また本
書に記載された情報の正確さについて、保証するものではありません。
•
本書は情報の提供のみを目的としており、明示または黙示に関わらず、
本書について Microsoft はいかなる保証をするものでもありません。
•
本書に記載されている機能名や用語の日本語訳は、あくまでも暫定的
なものであり、将来変更される可能性があります。
理解していただきたいこと
• アプリケーションの内部構造
• Windows Runtime の内部構造
コア
システム サービス
モデル
コントローラー
ビュー
Metro スタイル アプリ
XAML
C
C++
デスクトップ アプリ
HTML / CSS
C#
VB
JavaScript
(Chakra)
HTML
C
C++
C#
VB
Internet
Explorer
Win32
.NET
/SL
JavaScript
WinRT API
通信 &
データ
グラフィック
& メディア
アプリケーション モデル
デバイス
& 印刷
Windows コア OS サービス
インストール
タップ
実行!
インストール
インストール
<Applications>
<Application
Id=“HelloWorldAppId"
StartPage=“mystartpage.html">
<VisualElements
DisplayName="Hello World"
Logo="images\logo.png"
Description="Hello_World"
....
インストール
拡張子カタログ
コントラクト
の起動
コントラクト
の検索
クラス カタログ
拡張子 1
Runtime クラス ”A”
拡張子 2
Runtime クラス ”B”
拡張子 3
Runtime クラス ”C”
インストール
拡張子の登録
• OS でサポートされる複数の
コントラクト
• 拡張子はコントラクトの実装
• 拡張子が、抽象的なものを具体的な
ものに対応付ける
クラスの登録
• クラスは具体的な実装
• コードをアクティブ化して実行する
ための情報を含む
インストール
拡張子
カタログ
展開
エンジン
クラス
カタログ
タップ
タップ
タップ
Explorer.exe
クエリ
アクティブ化
システム
拡張子
カタログ
アクティブ化
調査
クラス
カタログ
タップ
Explorer.exe
アクティブ化
アクティブ化
システム
Application.exe
RPCSS
DCOM
の起動
クラス
カタログ
実行!
実行
Application.exe
MTA
main()
{
...
}
登録
RPCSS
実行
クエリ
クラス
カタログ
実行
Explorer.exe
アクティブ化
システム
アクティブ化
の完了
アプリの
アクティブ化
Application.exe
アプリ コード
インスタンス
RPCSS
インスタンス
アプリの
コールバック
実行
Application.exe
MTA
STA #1
アプリケーション コード
アプリケーション コード
実行
アクティブ化
実行
STA #2
アプリケーション コード
登録
関連セッション
•
•
•
•
•
PLAT-874T - Lap around the
Windows Runtime
APP-409T Fundamentals of Metro
style apps: how and when your app
will run
TOOL-531T Using the Windows
Runtime from C# and Visual Basic
TOOL-532T Using the Windows
Runtime from C++
TOOL-533T Using the Windows
Runtime from JavaScript
関連文書および記事
•
•
•
C++ 言語拡張機能の概要 (英語)
Windows Runtime (英語)
Windows Runtime の設計 (英語)
http://forums.dev.windows.com
http://bldw.in/SessionFeedback