特集
モバイル開発を支援する.NET Compact Framework、.NETの世界を小型デバイスに(3)

Greg DeMichillie
2003/03/06
Copyright(C) 2003, Redmond Communications Inc. and Mediaselect Inc.

Page1 Page2 Page3

Visual Studio .NETが活用可能

 「スマート・デバイス」用アプリケーションの開発作業をWindowsアプリケーションを手がける企業開発者にとってなじみやすいものにするためには、できるだけ多くのAPIを維持するだけでは足りない。開発者が慣れ親しんだプログラミング言語とツールを使えるようにすることが必要だ。つまり、大半のWindows開発者にとって重要なのは、Visual Studioが使えるかどうかだ(Visual Studio .NETとその将来のリリースについては、Directions on Microsoft日本語版2002年10月15日号の「Visual Studioのロードマップを発表、OSとサーバのアップグレードと連動して機能拡充」を参照)。

 MicrosoftのWindows CE用ツールの従来のバージョン(eVBとeVC++)は、Visual Studioと同じチームが開発したものではない。Microsoftの別のチームが各製品のデスクトップ・バージョンのソース・コードに変更を加え、Windows CEベースの組み込みデバイス・アプリケーションの開発者ニーズに沿って機能を追加および削除したものだ。この調整に時間がかかったため、eVBやeVC++のようなWindows CE用ツールは、デスクトップ用ツールの機能向上に遅れを取ることが多かった。

 Visual Studio .NETは従来のVisual Studioとは異なり、包括的な拡張性を備えたアーキテクチャを持っている。このため、CFチームはVisual Studio .NETにプラグインする形でその機能を拡張、変更でき、ソース・コードの「スナップショット」を用いて別個の製品を作る必要がなかった。

 例えば、CFアプリケーションのユーザー・インターフェースは、デスクトップ・アプリケーションの開発に使われるのと同じGUIデザイナを用いて開発できる。こうしたGUIデザイナは、.NET FrameworkとCFの違いを検知するように拡張されており、適切なコードを生成する(ビジュアルな例については、下図「Visual Studio .NETによるデバイス・アプリケーション開発」を参照)。

Visual Studio .NETによるデバイス・アプリケーション開発
 Visual Studio .NET 2003は.NET Compact Frameworkをサポートし、開発者がデスクトップ・アプリケーション構築に使用するのと同じデザイン・ツールを用いてデバイス・アプリケーションを開発することを可能にする。この図は、Visual Studio .NETのよく使われる機能を幾つか示している。

 
左側のGUIデザイナは、アプリケーションのユーザー・インターフェースの開発に使われる。中央の大きなウィンドウはアプリケーションのコードを記述するのに用いられ、ステートメント入力候補などの機能がよく利用される。図の例ではこの機能により、コードの現在位置で使用可能な関数が小さなウィンドウで一覧表示されている。さらに、選択されている関数の詳細情報がツールチップで表示されている。

 
.NET Frameworkと.NET Compact Frameworkのどちらをベースにしたアプリケーションの開発でも、開発生産性を高めるこうした機能がすべて利用できる。

 開発者はアプリケーションを記述した後、デバッグツールでエラーを探して修正するが、Visual Studio .NETのおなじみのデバッグ機能(変数の上にマウスを移動するとツールチップで値が表示されるなど)はすべてCFアプリケーションのデバッグに利用できる。さらに、CFアプリケーションはデバイス上で直接(クレードル接続とき)、あるいはVisual Studio .NETで提供されるエミュレータを用いてデバッグできる。開発者はエミュレータにより、物理的なデバイスが手元になくてもアプリケーションをテストしてデバッグできる(エミュレータによるアプリケーションのデバッグについては、下図「デバイス・アプリケーションのデバッグ」を参照)。

デバイス・アプリケーションのデバッグ
 この図は、Visual Studioとそのエミュレータでデバイス・アプリケーションをデバッグしているところを示している。プログラムはエミュレータ(Windows CEデバイスでよく見られる独特なボタンを表示している)上で実行されている。デバッガはハイライト表示されているコード行でプログラムを停止させており、開発者は、.NET Frameworkアプリケーションの開発で利用できるのと同じデバッグ機能にアクセスできる。この例では、開発者が変数「Text」の上にカーソルを移動したことにより、変数の値(テキスト「John」)がツールチップで表示されている。

現状:デバイスには非搭載

 CFは、Windows CE .NET、Pocket PC 2000、Pocket PC 2002の各リファレンス・プラットフォームに対応しており、小型デバイスで必要なストレージ容量は約1.5MBとなっている。プラットフォームの違いから、CFの最初のリリースはMicrosoftのSmartphoneリファレンス・プラットフォームと互換性がない(ただし、よりサイズが大きいPPC Phone Editionには対応している)。Microsoftは、CFのSmartphone対応バージョンの開発が優先事項であることを明らかにしている(MicrosoftのSmartphoneに関する計画の詳細は、Directions on Microsoft日本語版2002年11月15日号の「無線WAN戦略が進展、長期戦で狙うデータサービス・インフラ市場」を参照)。

 CFはWindows CEの「XIP」(Execute in Place)アーキテクチャをサポートしている。このアーキテクチャにより、複数のアプリケーションがCFの複数コピーをロードせずに同時にCFを使用できる(CFの複数コピーのロードは必要メモリ量の増大につながる)。CFがROMに搭載されていればこの機能を最も有効に活用できるが、いまのところCFをROMに搭載して出荷しているデバイスメーカーはない。

 Microsoftは、CFがいつ小型デバイスに搭載されるかの具体的な見通しを発表していない。DellやHewlett-PackardなどのメーカーがCFをデバイスに搭載するまで、顧客はCFを独自にデバイスに配備する必要がある(Visual Studio .NETでは、このプロセスを比較的容易にするツールが提供されている)。End of Article

参考資料

.NET Compact Frameworkに関する詳細は、msdn.microsoft.com/vstudio/device/compactfx.aspを参照。

■Microsoftの開発者向けWebキャストプログラム「The .NET Show」の最近の回では、.NET Compact Frameworkのデモとプロダクト・チームの解説が放映された。msdn.microsoft.com/theshow/Episode029/default.aspを参照。

■.NET FrameworkのWebサイトは、msdn.microsoft.com/netframeworkを参照。

 
Directions on Microsoft日本語版
本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。Directions on Microsoftは、同社のWebサイトより定期購読の申込みができます。
 
 

 INDEX
  [特集]
    モバイル開発を支援する.NET Compact Framework、.NETの世界を小型デバイスに(1)
    モバイル開発を支援する.NET Compact Framework、.NETの世界を小型デバイスに(2)
  モバイル開発を支援する.NET Compact Framework、.NETの世界を小型デバイスに(3)
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間