私は、.NET (現在は 1.1、2.0) で記述された大きなデスクトップ アプリケーションを構築して維持しています。このアプリケーションは歯科医向けであり、TabletPC SDK の MIcrosoft.Ink 名前空間にある Ink テクノロジを利用して動作します。一部の歯科医は、タブレット PC を使用して作業を簡単にし、そのテクノロジの能力を活用しています。
一方、私は Windows UI の見栄えが良くなく (XP/Vista)、すべてのアプリケーションが同じように見え、一貫性がないことに気付いたので、独自のコントロールの GDI+ ライブラリを作成し、多かれ少なかれ「Windows UI ガイドライン」を尊重しながら、私は、自分のアプリを他のどの「通常の」Windows アプリケーションよりも「はるかに優れた」ものにする、非常に優れたボタンやその他の UI 要素を考え出しました。
全画面表示 (最大化、コントロールなし、アプリ バーなし) で実行しますが、これはタスク専用のマシンで使用される非常に特殊なアプリケーションであるためです。歯科医院では、アプリケーションに Microsoft Excel と ALT-TAB を使用していません。アプリケーションは「ATM」のように動作し、タッチ タッチで完了です。とてもシンプルです。私がいるヨーロッパでは成功しています。
そのため、アプリが Web アプリケーションではないことを嬉しく思います。なぜなら、私たちが開始したとき、Windows フォーム用の .NET GDI+ は、WEB が提供できるものよりもはるかに優れていたからです。今日でも、Ajax は完全なデスクトップ エクスペリエンスを再現することはできません (再現すべきではありませんが…)。
Java は当時 (今はわかりません) 見苦しい UI を持っていたので、.NET を選択し、それ以来 C# を使用しました。
デスクトップ アプリケーションがすぐになくなることはありません。Web ブラウザ内で再現できないものもあります。
6 年前にこれを始める前は、Java、C++、Delphi などを検討していました。c#.NET のシンプルさとパワーを提供するものはありませんでした (当時誰も持っていなかったフレームワークのように)。これで、すべての Windows ボックスに .NET Framework 2.0が必ず搭載されます。
繰り返しますが、私の消費者向けアプリケーションは非常に具体的で、クローズド マーケットを対象としていますが、 .NETに反対するものは何もありません。