最後にデバイスに依存しないマネージドコード(C#)を利用した、Visual Studio スマートデバイスアプリケーションプロジェクトの作成手順を説明します。
先ほど作成したSDK(EmulatorSDK)をインストールした環境で、Visual Studio 2005のメニューから[新しいプロジェクト]を選択します。
「プロジェクトの種類」ツリーでは、「他の言語」−「Visual C#」−「スマート デバイス」を選択します。テンプレートについては、「デバイス アプリケーション」を選択して、[OK]ボタンをクリックします(画面21)。
プロジェクトが作成されると、[ソリューション エクスプローラ]にスクリプトファイルやデフォルトのWindowsフォームが登録されます。作成した初期状態では、Windowsフォームの「FormFactor」にPocket PC 2003が設定されており(画面22)、Pocket PC 2003のデバイスを模したスキンが画面中央に表示されます(画面23)。
今回は、先ほど作成したSDK(EmulatorSDK)上で開発を行うため、ターゲットのプラットフォームを変更する必要があります。
ターゲットのプラットフォームを変更するには、Visual Studio 2005のメニューから[プロジェクト]−[ターゲット プラットフォームの変更]を選択して、[ターゲット プラットフォームの変更]ダイアログで「現在のプラットフォーム」を「Pocket PC 2003」から「EmulatorSDK」へ変更します(画面24)。
ターゲットプラットフォームを変更すると、自動的にプロジェクトの再読み込み処理が実行されます。変更したプロジェクトのWindowsフォームのプロパティを確認すると、「FormFactor」が「EmulatorSDK」に変更されていることが分かります(画面25)。
ツールボックスから「Label」を選択して、「Hello world」テキストデータを追加したものを画面26に示します。
アプリケーションとして必要な機能を実装して、ビルドを行い、Visual Studio 2005のメニューから[デバッグ]−[デバッグ開始]を選択すると、アプリケーションを配置する場所を選択するダイアログが表示されます(画面27)。
ここでアプリケーションの配置を実行すると、作成したアプリケーションがエミュレータ上で動作します(画面28)。
以上のように、SDKを利用することで通常のアプリケーション開発と同等の流れでWindows Embedded CEに対応したアプリケーションの開発を行うことが可能となります。また、エミュレータや比較的入手しやすいx86デバイスを利用することで、個々の開発環境でのデバッグが可能となり、“OS+デバイス開発”と“アプリケーション開発”を並行して進めることができます。
ただし、アプリケーションの並行開発を実施する場合には、次の点に注意してください(表2)。
注意点 | 対処方法 | |
---|---|---|
CE 6.0(CE 6.0 R2を含む)標準のエミュレータはARMベースである | 実際のデバイスのアーキテクチャを意識して開発する。可能であれば、実際のデバイスと同じアーキテクチャを利用した評価ボードで開発すること | |
アプリケーションが利用するライブラリとOSの構成に不整合が発生する可能性がある | 頻繁にOSの構成を変更している場合は注意が必要。定期的に確認して最新のSDKを利用すること | |
ハードウェアに依存したドライバへのアクセスがある | StubドライバをOSに組み込むことで対処する 例:DeviceIoControlでコールされた要求に対応したダミーのデータを返すStubドライバを組み込むなど |
|
表2 アプリケーションの並行開発時に注意すべきポイント |
今回、3種類のアプリケーションプロジェクトについて解説しました。OS上で動作を確認するような簡単なアプリケーションであれば“Platform Builderサブワークスペース”を利用したり、複数の開発者で開発を行う場合やデバイスとの並行開発やマネージドコードを使った開発の場合は“Visual Studio スマートデバイスアプリケーションプロジェクト”を利用したりするなど、作成するアプリケーションや規模によって、最適なアプリケーションプロジェクトを選択することができます。
これまでの解説を通じて、Windows Embedded CE 6.0 R2で新たに追加された機能や強化されたポイント、その魅力についてご理解いただけたかと思います。また、今回説明したように、CE 6.0(CE 6.0 R2含む)は、Visual Studio 2005を中心とした強力なアプリケーション開発環境に対応しているという点も見逃せません。
さて、本連載はこれで最終回となります。これまで解説した内容が、CE 6.0 R2やほかの組み込みOSを選択する際のお役に立てれば幸いです。
Copyright © ITmedia, Inc. All Rights Reserved.