看上去,WPF比silverlight有前途一点。毕竟,微软还没有宣布,WPF停止更新。

但我怀疑,不久的将来,WPF也会步其子集silverlight的后尘,要么不再出后续版本,要么向HTML5 + CSS3转型。

WPF主要负责UI。虽然只要我们愿意,也可以像WINFORM那样,做出很强的逻辑处理程序,但其本意,只在于负责界面工作,有逻辑处理,也是跟界面有关。写WPF程序,一般会倾向于遵循MVVM模式吧。

这种思想挺不错,问题在于,WPF自己搞了一套界面定义语言:XAML。

多么复杂的一套东西!为了呈现一些样式,图片,又模板,又资源,层层嵌套,代码冗长得无以复加。我以前一直从事WEB开发,自问对HTML 、 CSS 都比较熟悉,按理看WPF的Style之类,不会觉得太困难,但事实上,那么多的代码,我头都大了。

为什么要这么做呢?进入互联网时代那么久了,WEB前端处理的界面是如此绚烂多彩,数以万计的程序员对CSS都是那样的了解,又何必另起炉灶,独辟蹊径,再搞一套什么XAML!可能当年WPF出来时,HTML5 和 CSS3 还没有出来,但HTML 和 CSS的确早已成为业界标准,人人耳熟能详,那么出个CSS + HTML的加强版不就行啦。

微软可能自大惯了,总以为自己能创立业界标准,搞了许多昙花一现的短命产品,苦了我们这批跟着微软屁股后面跑的微软系程序员,整天学着用这工具、用那工具,时间都浪费在这里,反而编程思想,真正有用的知识没有学到。

看看伟大的谷歌,人家搞个开发语言,要么是JAVA语法的安卓,要么是javascript的node.js,根本不需要去再学什么语法,下下紧扣互联网,智能手机,反观微软,给人的印象,还拼命停留在PC时代。

所以,现在因为工作需要,不得不用WPF,但我会注意学习MVVM的思想,而不会深究其界面的铺陈,能用就行。这是一种没有前途的语言。

WPF学习笔记——没有前途的WPF的更多相关文章

  1. WPF学习笔记-用Expression Design制作矢量图然后导出为XAML

    WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...

  2. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  3. WPF 学习笔记-设置属性使窗口不可改变大小

    原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...

  4. WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决

    原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...

  5. 【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)

    (应博友们的需要,在文章评论处有源码链接地址,以及WPF学习资料.工具等,希望对大家有所帮助) ...... 承接系列五 上一节讲了,已经把数据保存到数据库并且删除数据,本讲是把已经存在的数据从数据库 ...

  6. WPF学习笔记——依赖属性(Dependency Property)

    1.什么是依赖属性 依赖属性是一种可以自己没有值,并且通过Binding从数据源获得值(依赖在别人身上)的属性,拥有依赖属性的对象被称为"依赖对象". 依赖项属性通过调用 Regi ...

  7. WPF 学习笔记(一)

    一.概述 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,随着.NET Framework 3.0发布第一个版本.它提供了统一的 ...

  8. WPF学习笔记1---初接触

    刚刚接触WPF,微软的一套东西.WPF最大的特点就是UI设计与代码逻辑的完全剥离.这样美工和程序员的分工就变得非常清楚.因为界面和程序的耦合度很低,也增加的代码的灵活性和可重用性. 微软为WPF的UI ...

  9. WPF学习笔记1——XAML之1

    参考文献: http://msdn.microsoft.com/zh-cn/library/ms752059(v=vs.110).aspx <Pro WPF 4.5 in C# > 一.X ...

随机推荐

  1. debounce还是throttle(去抖和节流)

    debounce 去抖 我的理解很简单,比方说window.onscroll会疯狂触发handler,此时给它一个debounce(handler, delayTime). 就是不管你延时时间内触发了 ...

  2. ASP.NET MVC 二维码生成(ThoughtWorks.QRCode)

    原文地址http://www.cnblogs.com/jys509/p/4592539.html

  3. 7、scala面向对象编程之类

    1.  定义一个简单的类 2.getter与setter 3.自定义getter与setter方法 4.仅暴露field的getter方法 5.private[this]的使用 6.Java风格的ge ...

  4. nagios 插件ndoutils 安装配置

    nagios 插件ndoutils 安装配置 原文地址:http://www.cnblogs.com/caoguo/p/5022645.html # Nagios install ndoutils # ...

  5. Codeforces_The least round way

    B. The least round way time limit per test 2 seconds memory limit per test 64 megabytes input standa ...

  6. 发布自己的nuget包

    1.先到www.nuget.org注册账户,然后在用户中心获取apikey 2.到https://dist.nuget.org/index.html下载最新的nuget.exe,放到你的项目根目录下 ...

  7. 数据结构与算法(5) -- deque

    vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空间.所谓双向开口,意思是可以在头尾两端分别做元素的插入和删除操作.stl中deque与vector最大的差异,一在于dequ ...

  8. SCI 计算机 数学相关期刊

    数学,电子通信,计算机类 出版地 收录库 刊名 刊期 ISSN 影响因子 中国大陆 SCI CHINESE SCIENCE BULLETIN<科学通报>(英文版) 半月刊 1001-653 ...

  9. ganlgia-rrdcached

    一.介绍 rrdcached是一个高性能的RRD缓存守护进程,在不带来大量磁盘读/写文件i/o负荷的情况下,允许gmetad实例维护多个RRD文件.rrdcached可通过命令套接字控制,并且包含在大 ...

  10. Spring MVC学习总结(9)——Spring MVC整合swagger自动生成api接口文档

    Swagger 号称:世界最流行的API框架,官网:http://swagger.io/,Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总 ...