近日微软公布了最新的WPF路线图,一片热议;对于老牌控件提供商葡萄城来讲,这是WPF系列控件一个重要的机遇,所以,Spread Studio for WPF产品作了一次重要更新,并随着Spread Studio 8.0发布。鉴于此,选择翻译并整理了一篇自codeproject的文章:《Is WPF dead: the present and future of WPF》,抛砖引玉,且聊聊程序员心目中的WPF。程序员
做为一个老牌WPF程序员,多年来一直关注的问题是,在微软发布最新的WinRT框架以后,接下来的客户端编程将何去何从。编程
显然我有充分的理由担忧这个,众所周知的Silverlight的中途搁浅,它对下游的开发人员带来了很大的损害;俗话说:一朝被蛇咬,十年怕井绳。这就是真实写照。架构
我从2009年开始就对WPF投入很大的精力,使用它开发财务相关的行业软件,现在,我依然还在这里,可是焦点转向了培训相关工做。做为专业开发和培训讲师,WPF的未来对我来讲相当重要,这也是我深刻思考这个问题的根结。框架
本文我将本着客观和透明的方式给你们分享我所的发现和感悟,但愿起到抛砖引玉的做用,以此为社区提供更好的有前景的WPF。
另外,在本文的结尾,我将为企业和我的开发提供一些策略和我的看法。搜索引擎
首先,我将展现那些我所担忧的标志性信号,若是你是一个WPF的利益相关者,这也会是你所担忧的。spa
如全部微软的技术团队同样,WPF团队也有本身的博客,主要话题集中在向社区分享团队内部成员在WPF上的各类经验。
该博客的最后一篇文章发表于三年前,2011年五月,或者另外一个精确的说法是当WinRT宣布开始并做为下一个重大目标的时候。
一个断更的博客会暗示不少问题,恕我直言,历来没有好的方面的:或许这个团队被缩减到极小,以致于博客被挤出任务优先级列表了;也多是最优秀的团队成员已经转到其余项目,好比WinRT;更甚者,或许这就是团队隐晦的给社区传递出来的信号……
从公共关系角度来看,一个活跃的团队博客是很基本的点,由于它对外展现了技术发展和忠实的开发团队向社区主动表达工做的满意和分享的意愿。
你或许已经注意到微软的MSDN博客其实并不活跃,为数很少的例外是EntityFramework团队博客,这应该归功于常常更新博文的Rowan Miller,而这偏偏就是我一直偏心这项技术的一个主要理由:这是一个天才团队和有责任的团队开发出来的。.net
WPF Toolkit是一个由微软团队开发的开源免费项目,目标是WPF的重要辅助套件和前哨。翻译
一个很典型的例子是DataGrid控件,在WPF的起初的发行(WPF3.0和WPF4.0)是没有的,但在Toolkit里面有,到后来,最终WPF4.0把它放到正式的发行里了。
官方的Toolkit一直扮演这样的角色一直到2010年,可是自从项目开始清减以后,也就没有什么人关注所谓的下一版本的发布了。
表现出不活跃的信号是:Google搜索引擎对关键字“WPF Toolkit”的排次把官方的toolkit放第二,而第三方的反倒占据第一(本文第二部分会有更细节的描述)code
官方的WPF认证考试(70-511)已经不在延续,并将在2015年夏天终止。orm
这给开发人员一个强烈的明确信号,就是不要在该项技术上投入了,相应的能够考虑投入时间和精力到WinRT上,这样才会从认证考试得到回报。
或许未来某一天微软会推迟这个认证考试的吊销,正如他们曾经作过的,在收到大量社区开发者的诉求以后会有必定的妥协,可是都不可避免的是,WPF已经不在重要。
就我我的而言,我一直很犹豫要不要过这项认证考试,由于我实在没法保证时间和物有所值(是的,我本身付费)。反而很坚决的认为能够准备WinRT的认证考试,由于它在未来的几年都会是有效。
回想WPF4.0发布,同时发布了不少的Window 7系统相关的集成和加强,好比任务栏定制(弹出列表,进度,遮罩等等……)。
可是当WPF4.5到来时,却没有给Window 8+系统功能作彻底的集成,好比则边栏(Charm Bar),大多数应用只能经过互操做来交互。
所以,微软没有投资在这些集成工做上,这很明显的揭示WPF已经再也不是Window系统的一等公民,实际上它首选投入WinRT的怀抱,我的认为这是一个合理的决策。
微软,这个曾经的老牌软件供应商,现在业务多样化,开始成为一个硬件供应商,效仿它的竞争者苹果和三星。
为此微软收购了诺基亚,以期得到移动市场的长期席位。
在平板和笔记本这方面,为了和苹果的iPad平板和MacBook Pro笔记本相竞争,微软推出了Surface系列。
Surface 一代和二代根据硬件架构(x86和ARM)分红两种版本,然后者对应有了本身的专有系统:Windows RT(不要和做为软件层的WinRT混淆);可是Windows RT不支持(至少官方不支持)老的应用接口,好比优秀的老式Win32接口,所以也不支持在此基础上“包装”出来的衍生技术,像WinForm等等,固然包括WPF,所以没法在Surface版本上运行WPF应用程序。
微软不在此投入理由很简单,就是它想在最新的IT趋势中去除Win32,让量身定作的WinRT代替。
完整系列文章:
WPF老矣,尚能饭否——且说说WPF此生将来(上):担忧