WPF是用户界面设计的未来吗?我现在应该学习吗?

时间:2009-04-02 13:18:08

标签: wpf windows user-interface

有很多关于WPF等话题的讨论。我想知道WPF是否会成为图形交互式用户界面设计的新标准。这是我们在Windows界面方面走向何方?真的会像每个人都说的那样起飞吗?

另见

  

Learning Windows Forms vs. Windows Presentation Foundation

     

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

10 个答案:

答案 0 :(得分:7)

我认为在Win32,MFC以及WinForms中仍然有很多应用程序。我认为将WPF添加到工具带是明智的选择。你应该放下一切并今天学习吗?随你(由你决定。我看到了对WPF的更多需求。它不是压倒性的,但2001年的C#/ WinForms也不是。

所以长篇大论的答案就是你必须抓住机会。没有人知道WPF应用程序是否会占据市场主导地位。我倾向于这种可能性,而且我也认为Silverlight可能是一个真正的网络应用程序向前发展的玩家。由于两者之间存在可转移的技能,我通过继续学习WPF来对冲我的赌注。

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

对不起,这不是具体的答案。

答案 1 :(得分:6)

你要我们预测未来:)

我认为更好的解决方法是查看您未学习WPF时可以学习的其他技术。我会权衡各种权衡,选择对我来说更有价值的权衡。

例如,如果选择WinForms或WPF,我肯定会使用WPF。 WPF的学习曲线比WinForms更陡峭。然而,一旦你超越了学习曲线,它就会更容易使用。 WPF可以在几行中完成,在WinForms中需要几百行自定义控件。

答案 2 :(得分:4)

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

答案 3 :(得分:4)

在WPF中学到很多东西。你需要作为GUI程序员死去并重生。

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

由于您提出这个问题,我假设您是基于Microsoft技术的程序员。

由于MS的方向是针对GUI开发的WPF,我认为别无选择。 Win Forms将持续2年多。由于WPF的酷炫外观使用户要求使用比Win Forms更多的WPF应用程序。正如您所知,对于许多用户而言,GUI是S / W:)

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

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

由于Silverlight是一种独立于平台的模式,因为它的模型类似于WPF,我预测WPF将至少在接下来的6/7年内统治,如果不是十年。

我相信并希望MS能让程序员更容易,这样学习曲线就会缩短或委托给GUI艺术家(使用表达式混合)。

希望我回答你的问题。

答案 4 :(得分:3)

微软有一种习惯,就是把所有东西扔到墙上,看看有什么东西......掌上电脑平台,J#等等。关于WPF,现在判断采用是否会增加还为时过早。

如果您已经编写了.NET Winforms和/或Webforms,那么学习曲线并不是那么陡峭。我建议玩弄它,但不要把所有的鸡蛋扔进众所周知的WPF(甚至是Silverlight)篮子里。正如其他人所指出的那样,最好将其视为你军火库中的另一种工具。

答案 5 :(得分:2)

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

我的组织去年采用了这项技术,虽然它有着陡峭的学习曲线 - 你必须学会​​用不同的方式思考 - 它已经为我们能够开发的丰富应用带来了好处。我喜欢winforms,并且是asp.net的忠实粉丝,但是让我感到震惊的是WPF会为你提供积木,而且可能性无穷无尽......

如果我是你,我会学习WPF的经验并稍后获得奖励。不要忘记 - 如果你采用WPF,你也将学习Silverlight的核心 - 这两种技术在我看来是无处可去的!

答案 6 :(得分:2)

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

答案 7 :(得分:1)

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

我们开始看到要求它的工作,所以绝对有理由把它放在旧的实用带上。

答案 8 :(得分:1)

我开始学习它马修麦克唐纳写了一本关于它的超级书。我向所有人推荐这本书(事实上,我正在上网学习WPF,直到我遇到他的书,还有一件事“远离微软网站(MSDN)”

答案 9 :(得分:0)

是的,如果您将在Windows平台上设计桌面应用程序,WPF是新兴标准。到目前为止,WPF取代了主宰Windows桌面的Win32 API,并且Microsoft期望WPF平台具有类似的生命周期。

此外,它更酷。

当然还有Silverlight。