我已经用 C# 和 F# 进行了大量的 GUI 和非 GUI 编程,在工作和娱乐中,繁重的编程和静态......我相信你所说的印象是准确和实用的。(请注意,我对 WinForms 比对 WPF 更熟悉,但我认为这里的差异并不重要)。
我的印象是 C#+XAML 让您可以轻松构建静态 GUI(一些滑块、一些文本框等),但我看不出 GUI 设计器如何帮助编程 GUI,如业务规则引擎。
这绝对是我的经验。对于大多数静态 GUI,我更喜欢使用带有 C# 的 WinForms 设计器。工具组合非常适合这些场景,并且比使用 F# 且没有设计器的 GUI 手动编码更有效率(现在,如果设计器支持 F#,我会毫不犹豫地选择它)。I'm Only Resting是一个例子,我更喜欢 C# 和 WinForms 设计器,而不是纯 F#。
对于繁重的程序化 GUI,我认为最好完全避免使用设计器,而不是尝试一半设计器一半程序化(它变得非常混乱,非常快)。因此,在这些情况下,我肯定更喜欢在 F# 中手动编写 GUI,因为每个人都知道 F# 是更具表现力的语言;) FsEye是一个例子,我在 WinForms 设计器中更喜欢纯 F# 而不是 C#。
我是否认为维护一组大部分是静态的 GUI(例如,向 100 个单独的 GUI 添加一个新字段)需要体力劳动?
大概。我不相信这个问题真的有任何现成的解决方案,因为它确实是一个相当大的问题。但是可能有一些最佳实践可以为您的软件套件构建自定义解决方案。
另外,我是否认为 GUI 设计器在大量程序化 GUI 的上下文中几乎没有用,所以像业务规则引擎之类的东西将主要用 C#+XAML 编写,很少使用 GUI 设计器?
是的,就像我之前所说的,我认为您不应该尝试将 GUI 设计器与繁重的程序化 GUI 编程混为一谈。