【问题标题】:Is WPF the future of user interface design? Should I learn it now?WPF 是用户界面设计的未来吗?我现在应该学吗?
【发布时间】:2010-10-17 02:48:04
【问题描述】:

关于 WPF 之类的讨论很多。我想知道 WPF 是否会成为图形交互用户界面设计的新标准。这是我们在 Windows 界面方面的发展方向吗?它真的会像大家说的那样起飞吗?

另见

Learning Windows Forms vs. Windows Presentation Foundation

(包含指向 WPF 上许多其他有用帖子的链接)。

【问题讨论】:

  • 这不是骗子。这可能不是一个好问题,但这肯定是一个与所引用的问题不同的问题。
  • @JaredPar - 很好。已编辑。

标签: wpf windows user-interface


【解决方案1】:

我认为在 Win32、MFC,当然还有 WinForms 中仍然有很多应用程序。我认为将 WPF 添加到您的工具带中将是一个明智的选择。您是否应该放弃所有内容并在今天学习?这取决于你。我看到了对 WPF 的更多需求。这不是压倒性的,但 2001 年的 C#/WinForms 也不是。

因此,冗长的答案是您必须抓住机会。没有人知道 WPF 应用程序是否会主导市场。我倾向于这种可能性,并且我也认为 Silverlight 可能是网络应用程序向前发展的真正参与者。由于两者之间有可转移的技能,我通过继续学习 WPF 来对冲我的赌注。

另请参阅Is it better to use WPF over WinForms

抱歉,这不是一个具体的答案。

【讨论】:

    【解决方案2】:

    你要求我们预测未来:)

    我认为解决此问题的更好方法是查看如果您不学习 WPF 可以学习的其他技术。我会权衡各种权衡,然后选择对我更有价值的一种。

    例如,如果选择是 WinForms 或 WPF,我当然会选择 WPF。 WPF 的学习曲线比 WinForms 更陡峭。但是,一旦您通过了学习曲线,使用起来就会容易得多。 WPF 只需几行就可以完成在 WinForms 中需要数百行自定义控件的操作。

    【讨论】:

      【解决方案3】:

      WPF 是适用于 Windows 的终极图形平台。 Win32 的 GDI 是“第一次尝试”,WPF 是“永久结构”。对于 Windows 和平面显示器的组合(例如 3d 显示器可能需要其他东西),它永远不会被替换。所以学起来吧,是个好商品。

      【讨论】:

        【解决方案4】:

        在 WPF 中有很多东西要学。作为一个 GUI 程序员,你需要死而复生。

        但这值得努力吗?为什么?,这是我的答案。

        既然你问这个问题,我假设你是基于微软技术的程序员。

        由于 MS 的方向是 WPF 进行 GUI 开发,我认为别无选择。 Win Forms 将持续很长时间,可能会再持续 2 年。由于 WPF 酷炫的外观和感觉使用户要求的 WPF 应用程序比 Win Forms 越来越多。如您所知,对于许多用户来说,GUI 是 S/W :)

        现在,如果您不是基于 MS 的程序员,可能来自 Java,我说 WPF 与 Java Swing 有很多相似之处。但它是一个非常非常大的 Swing 超级组合。

        让 Swing 赶上 WPF 可能需要至少 2/3 年,到那时 WPF 可能会统治这个词,我不认为 Swing 会比这容易得多,如果不是困难的话。

        由于 silverlight 是一种独立于平台的平台,并且它的模型与 WPF 相似,我预测 WPF 将至少在未来 6/7 年(如果不是十年)中占据主导地位。

        我相信并希望 MS 能让程序员的工作变得更容易,从而缩短学习曲线或将其委托给 GUI 艺术家(使用表达式混合)。

        希望我回答了你的问题。

        【讨论】:

          【解决方案5】:

          Microsoft 有一个习惯,那就是把所有东西都扔到墙上,看看有什么能坚持下来……Pocket PC 平台、J# 等等。关于 WPF,现在判断未来是否会增加采用还为时过早。

          如果您编写过 .NET Winforms 和/或 Webforms,则学习曲线不会那么陡峭。我建议涉足它,但不要把所有的鸡蛋都扔进众所周知的 WPF(甚至 Silverlight)篮子里。正如其他人所指出的,最好将其视为您武器库中的另一个工具。

          【讨论】:

            【解决方案6】:

            WPF 已经存在几年了,微软决定在 WPF 中重写 Visual Studio (2010) 是一个很好的迹象,表明它会继续存在。请记住,这是市场上最受欢迎的 IDE 之一,也是 Microsoft 员工的意图标志。

            我的组织去年采用了这项技术,虽然它有一个陡峭的学习曲线 - 你真的必须学会以不同的方式思考 - 它为我们能够开发的应用程序的丰富性带来了好处。我喜欢 winforms 并且是 asp.net 的忠实粉丝,但 WPF 让我大吃一惊的是,您获得了构建块,并且可能性无穷无尽......

            如果我是你,我会学习 WPF 以获得经验并在以后获得回报。不要忘记 - 如果您采用 WPF,您还将学习 Silverlight 的核心 - 在我看来,这两种技术毫无进展!

            【讨论】:

              【解决方案7】:

              使用 WPF 比使用 WinForms 好得多,您需要有不同的心态。 我只能说微软在创建 WPF 和 Silverlight 应用程序时应该使用 HTML 语法,以便前端可以重用或至少用于 silverlight 应用程序,这样在桌面上开发的人可以在编写可在任何地方使用的浏览器应用程序时重用相同的代码. 如果 HTML5 变得更好,我相信它会随着开源(廉价技术)的趋势而变得流行。毫无疑问,WPF 比我用过的其他任何东西更适合开发桌面应用程序,而且 c# 作为语言(而不是速度)和它的使用方式更强大。

              【讨论】:

                【解决方案8】:

                是的,开始学习吧。它适用于 Silverlight(虽然不是 1 对 1 映射),它也是与 Abobe Flex 的 MXML 范式非常相似的模型,因此您将以 1 的价格获得 3 胜。

                我们开始看到需要它的工作,因此绝对有充分的理由将它放在旧的实用腰带上。

                【讨论】:

                  【解决方案9】:

                  我开始了解它 Matthew MacDonald 写了一本关于它的超级书籍。我向大家推荐这本书(事实上,我在网上冲浪学习 WPF 直到我看到他的书和另一件事“远离微软网站(MSDN)”

                  【讨论】:

                    【解决方案10】:

                    是的,如果您要在 Windows 平台上设计桌面应用程序,那么 WPF 是新兴的标准。 WPF 取代了迄今为止主导 Windows 桌面的 Win32 API,Microsoft 期望 WPF 平台有类似的生命周期。

                    此外,它更酷。

                    当然还有 Silverlight。

                    【讨论】:

                    • WPF 并没有取代 Win32,它建立在比 Win32 更高的抽象层上。
                    • 是的,它独立于 Win32(尽管它与 Win32 的互操作性很好),而不是它的抽象。
                    • Windows 操作系统上的任何东西如何独立于 Win32?我认为 Win32 是操作系统所做的一切的基本 API。
                    • 我的意思是GUI独立于Win32。我指的是应用程序传统上用于与用户交互的 Windows API 的那些部分:GDI (gdi.dll)、GUI (user.exe)、常用对话框 (comdlg32.dll)、常用控件 (commctrl.dll) .这是传统应用程序使用的大部分 Win32,WPF 不再使用。相反,WPF 在 DirectX 上构建用户界面。
                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-04-15
                    • 1970-01-01
                    • 2023-03-25
                    • 2011-02-25
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多