2019独角兽企业重金招聘Python工程师标准>>>

近日微软公布了最新的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的利益相关者,这也会是你所担心的。

WPF团队博客断更

如所有微软的技术团队一样,WPF团队也有自己的博客,主要话题集中在向社区分享团队内部成员在WPF上的各种经验。    
该博客的最后一篇文章发表于三年前,2011年五月,或者另一个精确的说法是当WinRT宣布开始并作为下一个重大目标的时候。    
一个断更的博客会暗示很多问题,恕我直言,从来没有好的方面的:或许这个团队被缩减到极小,以至于博客被挤出任务优先级列表了;也可能是最优秀的团队成员已经转到其他项目,比如WinRT;更甚者,或许这就是团队隐晦的给社区传递出来的信号……    
从公共关系角度来看,一个活跃的团队博客是很基本的点,因为它对外展示了技术发展和忠实的开发团队向社区主动表达工作的满意和分享的意愿。    
你或许已经注意到微软的MSDN博客其实并不活跃,为数不多的例外是EntityFramework团队博客,这应该归功于经常更新博文的Rowan Miller,而这恰恰就是我一直偏爱这项技术的一个主要理由:这是一个天才团队和有责任的团队开发出来的。

官方WPF Toolkit不再更新

WPF Toolkit是一个由微软团队开发的开源免费项目,目标是WPF的重要辅助套件和前哨。

   
一个很典型的例子是DataGrid控件,在WPF的起初的发行(WPF3.0和WPF4.0)是没有的,但在Toolkit里面有,到后来,最终WPF4.0把它放到正式的发行里了。    
官方的Toolkit一直扮演这样的角色一直到2010年,但是自从项目开始清减之后,也就没有什么人关注所谓的下一版本的发布了。    
表现出不活跃的信号是:Google搜索引擎对关键字“WPF Toolkit”的排次把官方的toolkit放第二,而第三方的反倒占据第一(本文第二部分会有更细节的描述)

WPF不再进行认证考试

官方的WPF认证考试(70-511)已经不在延续,并将在2015年夏天终止。

   
这给开发人员一个强烈的明确信号,就是不要在该项技术上投入了,相应的可以考虑投入时间和精力到WinRT上,这样才会从认证考试获得回报。    
或许将来某一天微软会推迟这个认证考试的吊销,正如他们曾经做过的,在收到大量社区开发者的诉求之后会有一定的妥协,但是都不可避免的是,WPF已经不在重要。    
就我个人而言,我一直很犹豫要不要过这项认证考试,因为我实在无法保证时间和物有所值(是的,我自己付费)。反而很坚定的认为可以准备WinRT的认证考试,因为它在将来的几年都会是有效。

不再提供Window 8+系统集成

回想WPF4.0发布,同时发布了很多的Window 7系统相关的集成和增强,比如任务栏定制(弹出列表,进度,遮罩等等……)。  
但是当WPF4.5到来时,却没有给Window 8+系统功能做完全的集成,比如则边栏(Charm Bar),大多数应用只能通过互操作来交互。    
因此,微软没有投资在这些集成工作上,这很明显的揭示WPF已经不再是Window系统的一等公民,实际上它首选投入WinRT的怀抱,个人认为这是一个合理的决策。

WPF不支持WinRT

微软,这个曾经的老牌软件供应商,如今业务多样化,开始成为一个硬件供应商,效仿它的竞争者苹果和三星。  
为此微软收购了诺基亚,以期获得移动市场的长期席位。

   
在平板和笔记本这方面,为了和苹果的iPad平板和MacBook Pro笔记本相竞争,微软推出了Surface系列。    
Surface 一代和二代根据硬件架构(x86和ARM)分成两种版本,而后者对应有了自己的专有系统:Windows RT(不要和作为软件层的WinRT混淆);但是Windows RT不支持(至少官方不支持)老的应用接口,比如优秀的老式Win32接口,因此也不支持在此基础上“包装”出来的衍生技术,像WinForm等等,当然包括WPF,因此无法在Surface版本上运行WPF应用程序。    
微软不在此投入理由很简单,就是它想在最新的IT趋势中去除Win32,让量身定做的WinRT代替。

完整系列文章:

  • WPF老矣,尚能饭否——且说说WPF今生未来(上):担心

  • WPF老矣,尚能饭否——且说说WPF今生未来(中):策略

  • WPF老矣,尚能饭否——且说说WPF今生未来(下):安心

转载于:https://my.oschina.net/powertoolsteam/blog/351763

“WPF老矣,尚能饭否”—且说说WPF今生未来(上):担心相关推荐

  1. WPF老矣,尚能饭否——且说说WPF今生未来(中):策略

    本文接上文<WPF老矣,尚能饭否--且说说WPF今生未来(上):担心>继续. "上篇"中部分精彩的点评: 虽然WPF不再更新了,但是基于WPF的技术还是在发展着,就比如 ...

  2. WPF开发学生信息管理系统【WPF+Prism+MAH+WebApi】(完)

    最近通过WPF开发项目,为了对WPF知识点进行总结,所以利用业余时间,开发一个学生信息管理系统[Student Information Management System].前四篇文章进行了框架搭建和 ...

  3. Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决

    Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决 参考文章: (1)Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决 (2)https://www. ...

  4. WPF自学入门(十一)WPF MVVM模式Command命令 WPF自学入门(十)WPF MVVM简单介绍...

    WPF自学入门(十一)WPF MVVM模式Command命令 在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式.正 ...

  5. wpf 使用位图画图为什么断断续续_WPF的未来是微软WinUi!

    WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型.语言和 ...

  6. WPF入门教程系列十五——WPF中的数据绑定(一)

    使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户界面,同时 WPF提供了数据绑定功能.WPF的数据绑定跟Winform与ASP.NET中的数 ...

  7. WPF开发学生信息管理系统【WPF+Prism+MAH+WebApi】(一)

    最近通过WPF开发项目,为了对WPF知识点进行总结,所以利用业余时间,开发一个学生信息管理系统[Student Information Management System].本文主要简述如何通过WPF ...

  8. WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序

    原文:WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序 前面我讲了在win7下使用模拟器,进行调试模拟多点触摸,其实际开发中这样也比较麻烦.. 要拿几个鼠标. 所以更多的人会 买个触摸套 套 ...

  9. WPF界面工具Telerik UI for WPF入门级教程 - 样式控件

    由于提供的主题机制,在使用 NoXAML 二进制文件时自定义 Telerik 控件的外观和样式既简单又直观,要记住的一个重要步骤是始终将自定义样式基于主题的默认样式. 获取Telerik UI for ...

最新文章

  1. BigPipe:高性能的“流水线技术”网页
  2. 用 WEKA 进行数据挖掘,第 3 部分: 最近邻和服务器端库
  3. 视图解析jstlView支持便捷的国际化功能
  4. boost::mpl模块实现max_element相关的测试程序
  5. 首批唯一!阿里云视频直播服务获信通院首批唯一认证
  6. 基于八叉树快速分类的Shear-Warp交互式体绘制算法
  7. STM32位带区和位带别名区的浅谈
  8. 【PAT乙】1005 继续(3n+1)猜想 (25分)
  9. rosdep init 和rosdep update的解决方法,亲测有效
  10. 【程序员的自我修养——链接、装载与库】笔记
  11. Android Theme.AppCompat 和 ThemeOverlay.AppCompat
  12. 【BZOJ5336】[TJOI2018]party(动态规划)
  13. 百度图片爬虫【图片编码处理】
  14. 使用Pixelmator Pro修饰照片
  15. 原创 基于微信场地预约小程序 毕业设计 毕设 源码 源代码 欣赏 - 可用于羽毛球、篮球、乒乓、网球等预约小程序
  16. 告别 Google Reader,告别一个时代!
  17. LASSO回归与L1正则化 西瓜书
  18. 离散数学图论期末复习
  19. 图片编辑工具哪个好?好用的图片编辑工具介绍
  20. Linux Neptune界面,基于Debian Linux 的 Neptune 5.4发布啦

热门文章

  1. python tkinter 滚动条_如何在tkinter窗口中添加滚动条?
  2. 将数据库查询结果导出成Excel表格
  3. mendix归还界面如何只显示登录人自己借阅的书籍,而不显示全部人借阅的书籍
  4. element select 自动展开_原生js 让select下拉框自动展开 可用size 属性来代替展开动作...
  5. 秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)
  6. 图解c/c++多级指针与“多维”数组
  7. pxe cobbler ipmi bmc
  8. (剑指Offer)面试题54:表示数值的字符串
  9. ti的硬件时钟和系统时钟同步
  10. 新年新方向-斩获新职位