我即将开始一个新的Windows应用程序.它将是一个用C++编写的音频处理工具.它将需要所有常见的GUI内容,如菜单,工具栏等.它还将具有嵌入式Web浏览器.
我正在考虑在.NET上构建它,但我想听听所有关于.NET是否仍然很难部署的消息.有多少百分比的常规用户已经拥有.NET运行时?我不想为我的用户带来任何痛苦,比如只需要下载100MB运行时来启动我的应用程序.
什么堆叠溢出者认为?我应该去.NET还是应该坚持使用简单的'ol Win32 API?或者甚至可能是第三方系统,如QT或wxWidgets?
您可以将用户指向.Net引导程序,这是一个100kb的下载,它将检测他们当前拥有的.Net框架的哪些位,并将下载任何缺失的内容.
还有来自@shanselman的http://smallestdotnet.com/倡议
我不知道确切的数字,但Vista内置了.NET,其他版本的Windows可以很容易地从Microsoft Update中获取它.您还可以使用应用程序重新分发.NET运行时.
我不会太担心您的用户是否安装了.NET.
微软非常强烈地推动.NET框架.我相信如果没有在您的计算机上安装.NET框架,您甚至无法安装Microsoft Office 2007.因此,如果Microsoft要求.NET用于其最新的Office程序,那么您可以安全地假设您的基于Microsoft的客户将安装必备的.NET基础库.在课程中,这在很大程度上取决于您正在构建的应用程序类型.我也听说过一些视频游戏开发者用他们的开源Mono版本的.NET发布他们的游戏包.信不信由你,微软Windows实际上有一个强大而稳定的Mono版本.
.Net Framework下载/安装并不是那么繁重.但我建议从另一个角度来看待你的问题.
如果您知道所有用户都安装了Framework,您会选择使用C++还是使用.Net?由于您的GUI要求,我猜您正在使用.Net来获取它带来的所有细节.
您列出的其他选项可能是可以接受的,但是对于那些客户端组件的支持,很难超越.Net Framework.
考虑到所有因素,单个下载与更好的应用程序支持的权衡似乎是一个好的.