(Windows)桌面应用程序开发的未来:WPF和Silverlight的未来

10

最近我读了一些关于WPF和Silverlight发展历史的文章/博客/评论。在一些论坛上,许多开发人员和用户批评WPF应用程序(例如Visual Studio 2010)的性能。实际上,与Flash相比,Silverlight市场份额并不是很高。在PDC 2010上,Bob Muglia说过类似“我们的Silverlight战略和重点正在转变......”,微软希望未来推动HTML5。

几个月前我开始学习WPF和Silverlight,现在我必须问自己,是否应该继续投资时间学习和实践这些(在我看来)非常好用和强大的技术?它们有未来吗?桌面(客户端)应用程序(Windows)有未来吗?所谓的“丰富互联网应用程序”有未来吗?还是HTML5将成为“绝对真理”-软件开发的主要平台?

你的意见是什么?你认为会怎样?


2
更适合于http://programmers.stackexchange.com。 - Michael Petrotta
2
我在programmers.stackexchange.com上问了同样的问题:http://programmers.stackexchange.com/questions/28078/the-future-of-the-windows-desktop-application-development-the-future-of-wpf-an - Elmex
4个回答

10

这只是一种猜测,但有几个关键点:

  1. 在软件开发中不会有单一的“绝对真理”。不同的工具用于不同的目的来解决不同的问题。
  2. 你喜欢使用WPF和Silverlight编写软件吗?你认为它们是制作优质软件的有用工具吗?你擅长吗?如果是,那么为什么要停止呢?
  3. 更专注于编写软件,而不是使用的工具。熟悉广泛的工具选择很重要,但不要让工具脱离你正在做的事情...编写软件。如果工具成为了一个支撑,那么就有问题了。如果你的职业生涯是通过熟悉特定工具来实现的,那么就有问题了。成为一个“知道Silverlight的软件开发人员”比成为一个“Silverlight开发人员”更好。

7
我有和你非常相似的问题。由于这些问题是主观的,人们对WPF和Silverlight的未来往往有不同的答案。对我来说,HTML5永远无法取代像WPF这样的技术。虽然有句话说“永远不要说永远”,但即使它要被取代,那也不会很快发生。HTML5在我的看来就像Silverlight和Flash。我们将不需要安装插件(即使这种说法是主观的,因为Silverlight和Flash都在进步,所以HTML5真的会完全赶上它们吗?)。此外,上次我查看了一些HTML5示例时,我注意到一旦刷新网页,动画就会从头开始——这是Flash(对我来说)臭名昭着的地方。
WPF是一种不同的技术。我本身不是Web开发人员,但老实说,我讨厌必须拥有一堆工具,如HTML、CSS、Javascript。相反,您可以使用单个框架并在WPF中开发所需内容。这是一项伟大的技术,尚未被许多开发人员发现。当然,这就引出了“我选择桌面还是Web”的问题?
至于桌面开发的未来,它也不会很快消失。我看到越来越多的趋势是开发Web应用程序,但我们必须意识到桌面开发和云开发都有其优缺点。现在,我发现Web应用程序很慢,而且我猜测Web应用程序不像桌面应用程序那样功能强大。Windows开发的未来取决于Windows的市场份额。如果微软能够保持他们的垄断地位,并且您的应用程序有用且有趣,我认为用户不会忽视它。我认为桌面开发和Web开发之间的区别正在变得模糊,随着物理机器变得越来越强大,将会有更少的用户抱怨性能问题和频繁更新。我们为什么要询问用户是否要更新软件?我认为这样的提示非常烦人。最好以静默方式安装更新并让用户在下次运行应用程序时使用它。
此外,WPF将比WinForms更受欢迎,希望微软有一天会停止后者。因此,这为您提供了另一个投资的机会。
另外,我一直讨厌我的应用程序在浏览器中运行的想法。我想这让我显得自私,但我不想担心浏览器崩溃、浏览器不兼容、浏览器尚未支持某些技术的功能等问题。

3

Bob Muglia的话被误解并夸大了。 微软的重点并没有从Silverlight转移,正如许多人从他的采访中所认为的那样。 只是Silverlight现在以不同的方式使用(商业应用程序,手机应用程序等),因此他们的重点也随之改变。

然后拿Flash来比较并不公平,因为Flash已经领先很多。Flash于1996年推出,并有很长时间去推广。我更加关注的是Silverlight在这些年里的增长。现在RiaStats.com显示Silverlight 4的采用率达到了63%,相当不错。对于主流应用程序来说,采用率有时仍然有点低。但它不断增长的事实显示了Silverlight未来的前景。
稍微主观地说,我喜欢Silverlight的可移植性。它只需 ~5MB 的下载量,并且可以在PC或Mac上的浏览器内外运行,非常好用。此外,Silverlight也被用在WP7上,很快也将在XBOX上使用。通过学习Silverlight,您可以为各种计算机和设备开发应用程序。

2
HTML在开发者和视觉对象模型之间强加了一个重要的抽象层。 这种抽象的好处是巨大的。 但是这种抽象意味着HTML应用程序中可以做的事情与那些直接与操作系统进行交互的技术相比,总会存在相当大的差距。
WPF应用程序运行在Windows下。 浏览器应用程序也是如此,但区别在于WPF应用程序知道它。 您可以构建一个WPF应用程序,该应用程序知道当前登录的Windows用户可用的资源。 您可以构建一个WPF应用程序,它可以与文件系统、数据库、消息队列进行交互。 如果HTML应用程序与Web服务进行交互,则可以完成其中的许多工作,但这会引入更多的抽象层。
从实质上讲,“WPF有未来吗?”这个问题实际上是“Windows有未来吗?”的问题。 毕竟,如果您不打算使用桌面应用程序,为什么需要桌面操作系统? 虽然我认为这不是一个答案自明的问题 - 或许ChromeOS(即Android)将使我们惊叹 - 但现在我不会为此失眠。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接