加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

担心WPF.我应该使用WPF或不同的库用于Windows GUI吗?

发布时间:2020-12-14 04:28:08 所属栏目:Windows 来源:网络整理
导读:我已经在一个执行数值计算的库上工作了一段时间.它是用纯本地C编写的,直到现在我一直在使用简单的控制台应用程序来测试它的功能. 现在是在库顶部构建GUI的时候了 – 更好地显示结果表并以图形形式呈现它们. 我一直计划使用WPF来实现UI,并花了一些时间研究它,
我已经在一个执行数值计算的库上工作了一段时间.它是用纯本地C编写的,直到现在我一直在使用简单的控制台应用程序来测试它的功能.

现在是在库顶部构建GUI的时候了 – 更好地显示结果表并以图形形式呈现它们.

我一直计划使用WPF来实现UI,并花了一些时间研究它,但我现在有了第二个想法.我对WPF的担忧是:

>仅仅为了用户界面,是否值得将我的程序与.NET框架耦合? .NET和WPF似乎以多种形式增加了开销,包括:

>程序复杂性

>使用.NET意味着使用第二种语言 – 因此编写了大量凌乱的互操作代码.

>运行时性能

>特别是,WPF应用程序似乎启动速度很慢.

>部署

> .NET框架安装是否快速简便?是否需要重启机器?

>渲染质量

>这在WPF 4中有所改进,但在某些领域,标准元素的显示仍然很差.

>关注未来性能和质量是否会提高

>在Microsoft中不再强调WPF(支持Silverlight)是真的吗?

令人担忧的是,人们离开WPF时遇到类似问题的消息更加复杂 – 最新且最引人注目的是Evernote.

你会建议我坚持原来的计划并使用WPF吗?

如果是这样,您如何看待上述问题?
如果没有,我可以使用哪些替代库来创建高质量的Windows GUI?

编辑:

感谢Reed Copsey解决我的个人观点.回复表明,我对WPF的大多数问题都可以解决.

似乎使用WPF将涉及比理想工作更多的工作 – 包括编写互操作代码和进行调整以确保良好的性能和高质量.人们普遍同意这样的说法:尽管如此,制作高质量UI的最佳方法是使用WPF – 而不是使用任何其他框架?

解决方法

我会尝试按顺序解决这些问题.掠夺者:在我看来,在大多数情况下,答案是肯定的.

Is it worth coupling my program to the .NET framework just for the sake of the user interface?

这取决于接口要求.您是否需要一个好的,可靠的现代用户界面?如果是这样,您将需要使用正确的工具来满足该要求.

.NET and WPF seem to add overhead in many forms,including:

  • Program complexity
    • Using .NET implies using a second language – and thus writing lots of messy interop code.

您可以通过C/C++LI使用GDI,并使用一种语言处理所有内容.话虽这么说,人们使用其他语言的部分原因是生产力 – 与在C中制作GUI相比,它实际上非常非常快.通过C/C++LI的互操作代码根本不是很混乱,至少在你的例程是基于类的情况下不是这样.

Runtime performance
– In particular,WPF applications seem very slow to start up.

在某种程度上,这可能是一个问题.但是,您可以做很多事情来缓解它 – 但是这可能总是比精简的本机代码库慢一点,因为它必须启动CLR库.

Deployment
– Is .NET framework installation quick and easy? Does it require rebooting the machine?

通常,这两项都是肯定的.话虽这么说,大多数人已经安装了框架(特别是如果你的目标是.NET 3.5,但4.0很好),所以这是一个非问题.我总是认为这是一次性的事情 – 我宁愿在一段时间内交换一个很好的用户体验,特别是当它是一个相对无痛的部署时(.NET很容易安装,只是大而且有点耗时).

Rendering quality
– This has improved in WPF 4,but display of standard elements still seems poor in some areas.

我在这里强烈反对. WPF是(特别是第4版),是优质用户界面的首选平台.在WPF中击败渲染质量选项很难 –

Concern over whether performance and quality will improve in the future
– Is it true that WPF is being de-emphasized within Microsoft (in favour of Silverlight)?

没有.在PDC的未来WPF上甚至有一个很好的谈话. Silverlight获得了更多的新闻,但这主要是因为它不是那么成熟的技术,所以它的变化更快. WPF仍然是他们的顶级UI体验,并且仍然增加了新功能.它也是与本机代码互操作的建议平台 – 虽然在SL中使用COM是可能的,但它在WPF中并不令人愉快.

根据PDC谈话,性能,线程问题和空域问题似乎是未来的改进.有关详细信息,请观看“The Future of WPF”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读