ちょっとここで、今までの PocketPC用のアプリケーションと今回の .NET ベースのアプリケーションの違いについてご紹介します。

ただしここに書いてあることは、かなり抜粋して概念的に述べており、厳密な意味としては若干違っている表記があるかとは思いますので参考までに見ていただければよいかと思います。


PocketPC はWindows CE OS をベースとして、デバイス用にパッケージをしたものです。

アプリケーションはその上で動くわけですが、.NET Compact Framework の登場によりその開発環境、動作環境が変わってきています。具体的には、今までのPocketPC 上で直接動いていたアプリケーションに対して、PocketPC 上の .NET Compact Framework 上で動作するアプリケーションが新たに追加されています。

これらのアプリケーションは開発時、動作時で大きな違いがあります。

PocketPC ネイティブアプリケーション

これまでは PocketPC用のアプリケーションは主に eMbedded C++ などを使って作っていました。この、eMbedded C++ と SDK と呼ばれる開発キットをあわせて、様々な(というかほとんどの)PocketPC用のアプリケーションを開発できます。皆さんが使っているアプリケーションはほとんどこの環境で作られていると考えて良いでしょう。

しかし、いざこの環境で「作る側」になるといろいろと大変です。

  • C++ の言語がちょっと難解?
  • Windows CE の機能を呼び出す作法が大変
  • すべての作業を自分でプログラムしなければいけない

ウィンドウ1つ出すのにも、ウィンドウのための型を作って、ウィンドウを作って、それを表示するといったようなことを、作法に基づいて書かなければなりません。

.NET Compact Framework アプリケーション

ところが今回進めている、Visual Studio .NET 環境での開発は、かなり簡単に開発が出来るようになりました。

  • Visual Basic / C# はC++ よりもちょっととっつきやすい
  • 面倒な呼び出しは部品として簡単にまとめられている
  • GUI を使って直感的に作れて、必要なコードだけを書けばいい

もちろんプログラミングの知識は必要ですが、難解なWindows CE 機能の利用が、.NET Compact Framework の中に部品化されて、それを比較的簡単に使うことが出来ます。

ただし、WindowsCE / PocketPC のすべての機能が .NET Compact Framework にまとまられているわけではありません。.NET Compact Framework に部品化されていない機能を使いたいときにはどうするかというと、eMbedded C++ と同様に 作法に基づいて機能を呼び出すプログラムを書かなければなりません。逆に言えばこういう風にプログラムを書けば.NET Compact Framework に含まれていない機能も実装が出来ます。

たとえば、レジストリへの読み書きや、キー入力エミュレーション などがそうです。

簡単に済むなら簡単に、どうしても簡単でないときはがんばろう

ということになりますね。

動作環境

これまでのPocketPC ベースのアプリケーションはそまま PocketPC 上で動きます。特に何の追加も必要ありません。

ところが、.NET Compact Framework ベースのアプリケーションを動かすには、デバイス上に .NET Compact Framework が載っていなければなりません。Windows Mobile 2003 にはすでにはじめから載っていますが、Windows Mobile 2002 については .NET Compact Framework を別途インストールする必要があります。

また、これからリリースされる Visual Studio 2005 には .NET Compact Framework 2.0 が搭載されています。今までの 1.0 には含まれていなかった機能があたらに部品化されて追加されています。ですが、.NET Compact Framework 2.0 ベースのアプリケーションを作った場合には、もちろん Windows Mobile 2003 にも .NET Compact Framework 2.0 をインストールしなければなりません。(たぶん、Windows Mobile 5 には標準で .NET Compact Framework 2.0 が載っていることでしょう)

まとめ

このあたりの話は、それほど詳しく知らなくても特に開発に支障はないかもしれません。ただし、「どうしてここだけこんなプログラムを書くのだろう」という際には、こういった知識が役に立つかもしれません。

コメントの入力
タイトル
 
名前
 
Url
コメント