使用 .NET 语言编写消费者桌面应用程序? 如果是的话是什么类型?

我的印象是,大多数消费者桌面应用程序仍然是 C、C++ 等本机编译的应用程序。

虽然 .NET 语言的使用率和流行度不断提高,但这些新型应用程序是否曾经突破企业和 Web 领域,成为高街消费者应用程序?

例如看看你现在的桌面?有多少应用程序是用 .NET 语言编写的,Firefox?微软办公软件?雷鸟?iTunes?微软视觉工作室?

我的公司开发高端 CAD/CAE 应用程序,我们利用新技术,但我们的核心开发仍然使用 C++ 完成。

有帮助吗?

解决方案

我构建并维护了一个用 .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 的简单性和强大功能,而且没有什么缺点(就像当时没有人拥有的框架)。现在,每个窗户盒子 一定会 有.NET Framework 2.0。

再说一次,我的消费者应用程序非常具体,并且针对封闭市场,但我们没有任何东西 反对 。网。

其他提示

如前所述,我知道 Tomboy、Beagle,此外还有 F-Spot。所有这些都是大多数 Linux 发行版的一部分。Paint.NET 是另一个应用程序。

也许您看到这一点是因为许多流行的桌面应用程序的代码库都早于 2001 年?

编辑:我可能应该说早于 2003 年或 2004 年......我怀疑有人会在 .NET 版本的第一年或第二年开始开发主要的桌面应用程序。

Intuit 的 TurboTax 2007 和 2008 都是用 .NET 编写的。与我在对另一个答案的评论中抱怨的利基市场视频编辑工具的演示不同,它实际上在我家里稍微老化的 XP 机器上安装得完全干净,没有发生任何事件(包括它的自我更新技巧)。

今年的用户界面与往年有很大不同,而且大部分都更好。由于向 .NET 的过渡似乎是在去年发生的,而没有对 UI 进行太多更改,因此新的 UI 不能归咎于(或归功于)向 .NET 的切换。

我只是一个用户,不知道是什么促使他们的开发团队进行切换。

我确实认为这是我在野外发现的第一个明显基于 .NET 的零售软件包。

太可惜了。阻止使用 .net 进行桌面开发的唯一原因是桌面计算机上 .net 框架的要求,但恕我直言,对于能够在 .net 环境中工作时获得的好处来说,这是一个很小的代价。

Visual Studio(至少 2008 年)是用 .NET 编写的

只要你不需要超强的性能,我就没有任何理由不使用.NET。通过新的超小型可再发行,您可以包含一个占用几百 KB 的 .net 安装程序。

我想说的是,如果您已经拥有精通该语言的开发人员,或者存在使其必要的特定技术要求,或者如果客户的机器是已锁定,无法使用 .net 平台。

虽然我还不是劳动力的一部分(即我是一名学生),我能做的一切都是用 C# 编写的。我尝试过的任何其他语言都无法与这种语言提供的效率和简洁性水平相媲美(并且它提供了 Visuall Studio 的所有生产力功能)。

我注意到在 流程浏览器 我的桌面应用程序越来越多地以黄色突出显示(意味着它们是.Net)。如上所述,ATI 的 Catalyst 是 Windows Live Mesh,许多游戏都有 .Net 更新或配置引擎,以及我编写的大部分尚未完全进入公共领域的内容(因为我没有我想要多少时间来编码和测试)。此外,Visual Studio 的大部分都是 .NET - 至少根据 Process Explorer 是这样的。

我认为,正如上面有人提到的,已经有很多桌面应用程序拥有较旧的代码库,除非这样做有一些巨大的价值,否则它们的所有者不会转换这些代码库。

嗯,有一些应用程序,例如假小子比格犬 它们作为某些 Linux 发行版的一部分提供,因此我不确定它们是否算作高街消费者应用程序。想想看,我并不太了解用 .NET 语言编写的任何其他“非企业”应用程序。

ATI Catalyst Control Center 不是传统的桌面应用程序,而是基于 .NET 的。

事实上,我在我的桌面上发现了一些需要.Net的应用程序。

最著名的是 Paint.Net,但其中还有“Catalyst Control Center”,它是随我的 ATI 显卡一起提供的。

当然,我们公司正在编写我们自己的桌面 .Net 应用程序。我们的目标受众是商业用户。

可能不会有大量传统意义上的 winforms 应用程序被编写,但是 Windows Live Messenger 的下一个版本将在 Windows Presnetation Foundation 中编写,我认为这就是趋势。

Windows Media Center 是用 C# 编写的,令人印象深刻,但话虽如此,它也不是传统的 winforms 应用程序。

TechSmith 的 Jing 是 .NET,实际上它是 WPF,所以它是 3.5,前沿的 .NET。

我工作的地方几乎所有客户端程序都是用 .NET 编写的;它是一个很棒的商业应用程序平台。话虽如此,.NET 是一个很好的目标的大多数程序都被部署为 Web 应用程序;其余的通常是图形和 CPU 密集型应用程序,出于性能原因通常使用 C++ 实现。出于同样的原因,您也不会看到太多用 java 编写的桌面应用程序。

你们大多数人都提到开源。我同意,有一些项目使用 .NET(例如我正在使用 RSSBandit),但它们并不重要(大多数情况下)。但企业应用程序呢?最近我写了一个类似于 MS Surface 的应用程序,它是用于广告目的。在此之前,我必须编写一个应用程序来维护仓库。有些不同?在 WinForms 时代,我编写了一个应用程序来支持类似 eBay 的页面。您还需要更多吗?

就我个人而言,我认为 .NET 在商业中被广泛使用(这是你每天都不会看到的),并且它没有被开源使用(为什么?我不知道,也许贡献者讨厌微软?)。然而,我也认为它将会向 .NET 转变,特别是在 Windows 平台的下一个版本中。而且,我差点忘了 - 安装 .NET 框架不是问题,说真的,用户没那么愚蠢和懒惰!

确实,桌面正在失去网络环境的魔力,但它永远不会消亡;)

Microsoft InfoPath - Microsoft Office 的一部分也是用 .NET 编写的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top