.NET语言真的会对消费者桌面应用程序造成任何影响吗?

时间:2008-09-17 11:03:56

标签: .net desktop native

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

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

虽然.NET语言越来越受欢迎,但这些新的应用程序是否会突破企业和网域成为高街消费者应用?

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

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

16 个答案:

答案 0 :(得分:8)

我构建并维护了一个用.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 Forms的.NET GDI +优于WEB可提供的任何内容;即使在今天,Ajax也无法重现完整的桌面体验(不应该只是......)。

当时Java有一个丑陋的用户界面(现在不知道)所以我们选择了.NET并且从那时起就使用了C#。

桌面应用程序不会很快死掉,有些东西仍然无法在webrowser中重现。

在六年前开始之前,我考虑过Java,C ++,Delphi等。没有提供c#.NET的简单性和强大功能,几乎没有什么缺点(比如当时没人有的框架)。现在,每个Windows框肯定会拥有.NET Framework 2.0。

同样,我的消费者应用程序非常具体,针对的是封闭市场,但我们没有反对 .NET。

答案 1 :(得分:5)

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

答案 2 :(得分:3)

也许你看到了这个,因为许多流行的桌面应用程序的代码库都早于2001年?

编辑:我应该说比2003年或2004年更早...我怀疑任何人都会在.NET发布的第一年或第二年开始使用主要的桌面应用程序。

答案 3 :(得分:3)

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

今年的用户界面与过去几年大不相同,而且大多数情况下更好。由于转换到.NET似乎在去年没有完全改变UI的情况下发生,因此新的UI不能归咎于(或记入)转换到.NET。

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

我认为这是我第一次在野外发现的零售软件包,显然基于.NET。

答案 4 :(得分:2)

这太遗憾了。使用.net阻止桌面开发的唯一原因是桌面计算机上的.net框架的要求,但是当你能够在.net环境中工作时,这是一个很小的代价。

答案 5 :(得分:2)

只要您不需要超级性能,我就看不出任何不使用.NET的理由。使用新的超小型redistriutables,您可以包含一个占用几百KB的.net安装程序。

我想说现代垃圾收集语言的生产力提升应该只使C ++成为一个很好的选择,如果你已经拥有熟练掌握该语言的开发人员,或者有特定的技术要求使得必要或者客户'机器被锁定,无法使用.net平台。

虽然我还不是工作人员的一员(即我是学生),但我能用C#写的所有内容都可以解决。我尝试的其他任何东西都接近这种语言所提供的效率和清洁程度(并提供了Visuall Studio的所有生产力功能)。

答案 6 :(得分:2)

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

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

答案 7 :(得分:2)

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

答案 8 :(得分:0)

那里有应用程序,如 TomboyBeagle可以作为某些Linux发行版的一部分提供,因此我不确定它们是否算作高街消费者应用程序。 想想看,我并不是真的意识到用.NET语言编写的任何其他“非企业”应用程序。

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

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

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

答案 11 :(得分:0)

传统意义上可能不会有很多winforms应用程序正在编写,但是两个windows live messenger的下一个版本将在windows prenetation基础上编写,我认为这是趋势的趋势。

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

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

答案 14 :(得分:0)

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

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

桌面正在失去它对网络环境的影响,但它永远不会消亡;)

答案 15 :(得分:0)

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