i.MX53 開発プラットフォームの プラットフォームの Windows Embedded

i.MX53 開発プラットフォームの
開発プラットフォームの Windows Embedded Compact 7
用の Silverlight
要約
Windows Embedded 用 Silverlight は、Microsoft Silverlight 3 ベースの Windows Embedded Compact デバイス用
のネイティブな(C++) UI 開発フレームワークです。
Windows Embedded 用の Silverlight は、Microsoft ExpressionBlend 3 と相互運用が可能です。
これは、Expression Blend 3 XAML プロジェクトをベースとしておりテンプレート アプリケーション コードの作成が
可能です。
概観
Windows Embedded 用 Silverlight は、汎用オブジェクトタイプの安全な黙示的カンバセーションを自動化するヘ
ルパーテンプレート手段を提供いたします。 Windows Embedded 用 Silverlight のプログラミングモデルは、
Microsoft Win32 ウインドーの Silverlight ビジュアルツリーをホストします。
UI イベントを扱うために、C++ API.の各種クラスで得られる方法で UI オブジェクトに C++ デリゲートを追加でき
ます。
Windows Embedded 用 Silverlight を用いて、組み込み機器用に Silverlight アプリケーションを作成すること、ア
プリケーションにカスタム ユーザ コントロールを作成・追加すること、アプリケーションに Win32 コントロールを
追加すること或いは OS のハードウエア アクセラレートによるグラフィクスのサポートが可能です。
Silverlight は、Windows Presentation Foundation (WPF) の様な保留モードのグラフィックスシステムが可能で
あり、また、マルチメディア、グラフィックス、アニメーション及び双方向機能を統合して一つのランタイム環境に
することが出来ます。
Silverlight アプリケーションでは、ユーザ インターフェイスは Extensible Application Language (XAML) で宣言さ
れ、 .NET Framework のサブセットを用いてプログラムされます。 XAML は、ベクターグラフィックスやアニメー
ションの作成に用いることが出来ます。
また、 Silverlight は Windows Vista 用のウインドーのサイドバーガジェットを作成するのにも使用できます。
Silverlight は、Windows が提供するメディアプレーヤ無しで H.264 ビデオ、Windows Media Video (WMV)をサ
ポートします。
Silverlight プロジェクトには、Silverlight.js 及び CreateSilverlight.js ファイルがあり、それは HTML ページ、UI
用の XAML ファイル及びアプリケーション コード用の code-behind ファイルで使われる Silverlight プラグイン
を初期化します。
Silverlight アプリケーションは、ASP.NET アプリケーションと同様のやり方でデバグします。
Visual Studio の CLR Remote Cross Platform Debugging 機能は、異なるプラットフォームで動いている
Silverlight アプリケーションのデバグにも使用できます。
Microsoft Silverlight には、
には、下記のバージョンがあります
下記のバージョンがあります。:
のバージョンがあります。:
Silverlight 1: 2007 年にリリースされ、双方向のユーザインターフェイス、ベーシック UI コントロール、グ
ラフィックスとアニメーション及びメディアプレイバック等の機能があります。
Silverlight 2: 2008 年にリリースされ、 .NET Framework を持っています。.NET 以外は Silverlight 1 と同
じです。
Silverlight 3: Beta 版が 2009 年にリリースされ、更に多くのコントロールがあります。
Silverlight 4:この最終版は 2010 年にリリースされました。新たに追加された機能は、Google Chrome ブ
ラウザ、ウエブカメラ とマイク、更なるマウスサポート及びユーザへのメッセージ送信の通知サポート等
があります。
Silverlight 5: 2011 年にリリースされました。新たに GPU アクセラレートのビデオ デコード、3D グラフィッ
クス、再生速度コントロール(変速再生)等の機能が追加されました。
Windows Embedded 用 Silverlight は、Microsoft Silverlight 3 ベースの Windows Embedded Compact デバ
イス用のネイティブな(C++) UI 開発フレームワークです。
Silverlight を以下の様に使用できます。:
· 組み込みアプリケーション用のビジュアル UI を XAML で定義する
· XAML プロジェクトを使用して UI 設計者とコラボレートする
· C++ プログラミング ロジックと UI 設計を分離する
· ランタイム UI を追加、修正及びカスタマイズする
· 組み込み機器用の双方向のマルチメディア UI を作成する
Windows Embedded Compact 7 用 Silverlight は、Silverlight 3 XAML と互換性があり、サポートす
る XAML エレメントと同様のクラスを提供します。
用語
略語
2-D
3-D
API
LCD
UI
WinCE 7
XAML
XML
参照
Windows Embedded 用 Silverlight :
http://msdn.microsoft.com/en-us/library/ee502198.aspx
説明
2-Dimensional
3-Dimensional
Application Programming Interface
Liquid Crystal Display
User Interface
Windows Embedded Compact 7
Extensible Application Markup
Language
Extensible Markup Language
Windows Embedded Compact 7 の Silverlight の特長とベネフィット
特長とベネフィット
下記の
下記の様な特徴があります
特徴があります。
があります。:
1) Silverlight は、 Windows Embedded OS とインテグレートする API があります。
そのため、 windows embedded compact での開発に慣れた人のスタディ期間を短縮するのに役立ちます。
2) 開発者が使用する C++ クラスは、同じものを最良の UI エレメントを作成するのに使用することが出来ます。
3) グラディエントやアニメーション様な進んだ機能をサポートしており、開発者がその組み込みアプリケーション
にインタラクティブなコントロール UI 機能を付けることが出来ます。
4) Silverlight 3 XAML.の使用に慣れた開発者、設計者向けの Silverlight 3 XAML との互換性及びサポートする
XAML エレメントと同等のクラスセット
5) XAML UI 表示用のランタイムをサポートしており、OEM は、好みに応じてアプリケーション用の UI を全て XAML
で設計することが出来ます。
6) C++を使用してランタイム UI をダイナミックに変更が可能です。
7) プログラミングロジックと UI 設計を分離することで、設計者はユーザ要求の設計に集中でき、開発者はインテ
グレーション、プログラミングロジックやランタイムビヘイビアに専念できます。
サポートする Silverlight UI 機能
Windows Embedded 用 Silverlight には、組み込みデバイスに以下の様な Silverlight 3 機能のサブセットがありま
す。:
· 先進グラフィックス
先進グラフィックス:
グラフィックス: グラフィックスには、マルチカラーブレンドのグラデーション用のブラシ;UI 部品の内部をペイ
ントできるイメージブラシ;及び UI 部品の回転、縮尺、移動及び歪曲等の変形の機能があります。
3-D グラフィックスには、UI 部品を 3 次元空間に変形する 3-D 化機能があります。
· レイアウト システム:
システム: レイアウトシステムは、グラフィックウインドーの UI 部品の描画、サイズ調整、位置調整を行
います。 このビルトイン機能により、開発者が C++コードを使用してスクリーン上の部品を描いたり、サイズ調整
したりする必要がなくなりました。 Silverlight は、レイアウトシステムと共にスクリーン上のランタイム UI 部品の作
成・調整を行うレイアウト コンテナー オブジェクトをサポート致します。
· アニメーション、
アニメーション、タイマー及
タイマー及びストーリーボード:
びストーリーボード: アニメーションストーリーボードにより、UI 部品はスクリーン上でダ
イナミックに変化、移動して表現されます。 この効果は、特定時間内に一連の画像やキーフレームを少しずつ
ずらして 素早く回転させることで実現します。この視覚効果は、各キーフレームを C++ オブジェクトで定義する
こととアニメーションストーリーボードを実装することで可能になります。
· ピクセル効果
ピクセル効果:
効果: ピクセル効果は、ぼかしや陰影を付けることにより UI 部品の見え方を変えます。
ピクセル効果は、その処理を出来る限り早くするため、通常ハードウエア アクセラレーションが必要です。
· テキストと印刷
テキストと印刷:
印刷: Silverlight
使用のアプリケーションのテキストを表示するのにテキストコントロール及び印刷の両方
を使用出来ます。 テキストの表示をカスタマイズしたり、ビジュアルプロパティやレイアウトを変更したり、或いは
テキストを変形することも可能です。また、ビルトインの XML Paper Specification (XPS)を使用して、Silverlight UI
に予め定義されたグリフを使用することも可能です。グリフとは、文字フォントを表現するレンダリングイメージで
す。
· 新たなコントロール:
たなコントロール: Windows Embedded Silverlight は、ユーザ コントロール、コンテンツ コントロール、グリッド、キ
ャンバス、 パス、 矩形、パスワードボックス等の Windows Embedded Compact 開発者用のユーザ コントロールを
持っており、中間のベースクラス IXRFrameworkElement から引き継ぎます。
また Silverlight には、特にカスタムコントロールを作成することを意図した中間のベースクラスがあります。
· スタイルとテンプレート:
スタイルとテンプレート: スタイルやテンプレートは、全体でコントロールの外見を形作るピースを定義し、デフォルトな
コントロールの視覚ビヘイビアを備えております。
アプリケーションのあるタイプのコントロールが一貫性のある見え方になるようにスタイルやテンプレートを選ぶこと
が出来ます。
· ジオメトリ:
ジオメトリ: スクリーン上に 2-D グラフィックデータをレンダリングするためジオメトリ オブジェクトを使用することが出
来ます。
· トリガーとイベント:
トリガーとイベント: トリガーを使って、開発者はロードされたイベントに対応したカスタム視覚ビヘイビアを定義するこ
とが出来ます。また、視覚ビヘイビアを表すストーリーボード アニメーションは、イベントハンドラー コードの中か
ら開始することが可能です。カスタム視覚ビヘイビアには、色、形、オブジェクトの大きさの変更や短いアニメーショ
ン ストーリーボードの再生があります。
Expression Blend 3 UI 作成ツール
作成ツール
Microsoft Expression Blend 3 及び Windows Embedded Silverlight は、Microsoft Visual Studio と組み合わさった
エンド-to-エンドの開発環境です。
Windows Embedded Compact 7 デバイスの設計、開発者は、この開発環境を使用して広範な分野の第 1 級の最先
端アプリケーションインターフェイスを作成可能です。Expression Blend は、設計者にダイナミックな Windows
Embedded Silverlight アプリケーション用の様々なビジュアルツールをもたらします。
Visual Studio は、開発者にとって組み込みアプリケーションの開発に必要なナイティブナ C++ コードを修正するた
めの 完全ツールです。
設計、開発者は、Expression Blend 及び Visual Studio を夫々並行して使用しることによりプロジェクトを効率よく進める
ことが出来ます。設計者は、開発者が Visual Studio の C++ を使ってビジネスロジックを実装している間に、Expression
Blend ツールセットでダイナミック、強力な XAML UI を作成します。
設計者は、Expression Blend の設計画面上でオブジェクトを描画、修正することにより表現やインタラクションを設計します。
開発者は、C++コードファイル及び XAML 用のリソースを持った Visual Studio projects を使って XAML ファイルで定義され
るエレメントとインタラクトする基本ロジックを実装します。
アプリケーションを完成させるために、C++ コードファイルで XAML エレメントをイベントに追加します。
設計者が変更を行った場合、Expression Blend project は自動的に XAML を修正し、コードファイルを管理します。
開発者は、Windows Embedded Silverlight ツールを使って定期的に XAML の変更、追加を Visual Studio project に
インポートします。
サンプル Silverlight アプリケーション:
アプリケーション:
iWave の i.MX53 WinCE 7 用に開発した Silverlight アプリケーションは下記の通りです。:
Freescale の i.MX53 ARM cortex A8 core プロセッサ をベースにした iWave の i.MX53 開発プラットフォームは、マルチ
メディアを念頭に置いて作られており、アプリケーションの開発に使用いたします。iWave は、 i.MX53 ボードへの WinCE 7
の移植に成功いたしました。 Silverlight は、i.MX53 ボードへの WinCE 7 の移植時のアッドオンツールです。
ここで i.MX53 ボード用に開発したアプリケーションを紹介いたします。 アプリケーションの成果写真を掲載しました。
1) このアプリケーションには、i.MX53 ボードの画像、iWave のオフィシャルロゴ及び 3 つのボタンがあります。
2) この開発に Expression Blend 3 を使用しました。
3) アプリケーションを i.MX53 ボードで展開するとプラットフォームの LCD は以下の写真の様に見えます。
真ん中に iWave のオフィシャルロゴ、画像中央の両端に 二つのボタンそして画像の右上隅に一つのボタンが
あります。
4) ロゴは、右のボタンを押すと消えます。左のボタンを押すと再度現れます。
次の画面をご覧になるとそれがよく理解できます。
5) アプリケーションは、右上隅のボタンを押すと現れます。
このアプリケーションは、 iWave の i.MX53 開発プラットフォームの silverlight アプリケーションの動作を示
します。