我构建并维护了一个用 .NET 编写的大型桌面应用程序(现在是 1.1、2.0)。该应用程序适用于牙医,它利用 TabletPC SDK 的 MIcrosoft.Ink 命名空间中的 Ink 技术工作。一些牙医使用平板电脑使事情变得更容易,并利用该技术的力量。
另一方面,由于我发现 Windows UI 不好看(XP/Vista)并且发现每个应用程序看起来都相同且不一致,所以我编写了自己的 GDI+ 控件库,同时或多或少地尊重“Windows UI 指南”,我想出了非常漂亮的按钮和其他 UI 元素,使我的应用程序看起来比任何其他“普通”Windows 应用程序“更好”。
我们全屏运行(最大混合,无控件,无应用栏),但我们这样做是因为它是专用于任务的机器中使用的非常特定的应用程序。牙科诊所不会在我们的应用程序中使用 Microsoft Excel 和 ALT-TAB。该应用程序像“ATM”一样工作,触摸触摸,完成。非常简单。它在我所在的欧洲取得了成功。
所以我不得不说,我很高兴该应用程序不是Web 应用程序,因为当我们开始时,用于 Windows 窗体的 .NET GDI+ 比 WEB 所能提供的任何东西都要好得多;即使在今天,Ajax 也无法重现完整的桌面体验(不是应该,而是……)。
那时 Java 有一个丑陋的 UI(现在不知道),所以我们选择了 .NET 并从那时起使用 C#。
桌面应用程序不会很快消亡,有些东西仍然无法在网络浏览器中重现。
在六年前开始使用它之前,我考虑过 Java、C++、Delphi 等。没有一个提供 c#.NET 的简单性和强大功能而几乎没有缺点(比如当时没有人拥有的框架)。现在,每个 Windows 盒子肯定都有 .NET Framework 2.0。
同样,我的消费者应用程序非常具体并且针对封闭市场,但我们没有任何反对.NET 的东西。