WPF

来源:互联网 发布:网络用语野生什么意思 编辑:程序博客网 时间:2024/06/14 06:17

知乎:为什么很少看到使用WPF开发的流行的应用程序呢?

因为wpf一点都不棒,你不要看了个tutorial,getting started教程,写了个todo list,就觉得xaml布局很强大,binding很牛逼,写到大型应用你就会发现,坑是无比的多,碰到问题没有社区,你只能自己解决。而且你还会被微软坑,最近的.net 4.7就一堆wpf的狗屁bug。

总结,wpf的开发体验连ios都不如,更不如web android,wpf哪天死了我是很开心的


作者:Linn
链接:https://www.zhihu.com/question/23598623/answer/201420032
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

xaml:

binding:

百度百科:WPF

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。

它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作

同时它提供了全新的多媒体交互用户图形界面???


WPF在国内还有希望和前途吗?
为什么大公司不会使用它?QQ出了个概念版还很少更新,wpf是不是没前途了?

作者:匿名用户
链接:https://www.zhihu.com/question/26862663/answer/76386239
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

作为做过3年多wpf开发,我也来说几句,
先说优点
1、wpf这个ui框架是很前沿的,包含了很多界面开发的特性,非常灵活,因为个人做界面开发比较多,包括web,iOS,android都接触过,wpf是我认为目前设计的最好的ui界面库
2、好的界面库有好的ide支持,vs的好用大家都懂得
3、一个功能多种实现方案,虽说灵活但实际对开发人员的要求更高,需要有更好的设计能力,追求优雅设计,MVVM模式讲究让界面代码尽量xaml化
4、强大的.net类库支持,ms平台的特性一向是入门简单,精通难,而且方案更新快,开发人员都比较依赖微软更新,开源力量还不够
5、基于DirectX渲染,渲染效率好,确实有很多优点
再说缺点吧
1、内存占用高,基于.net的反射机制和wpf的内部机制,你想把控内存真心是难,只能一定程度控制,c++就不一样,内存是可控的
2、功能太多导致学习成本非常高,传统开发理念需要转换MVVM,但由于控件支持不完善,会出现不伦不类的情况
3、平台推广不利,这个才是最大原因,可以说是本人在.net多年学了很多,写代码是需要思考才能积累经验的,这种模式不适合互联网的快递跌代节奏,市场从业的机会太少,导致发展缓慢
4、功能不够完善,ms的客户端技术方案太多了,wpf只是其中一种,本来wp是一个机会,奈何wp又推不起来,个人感觉wp开发功能较wpf缩水厉害,后面又为silverlight加了很多轻量技术方案然后引入wpf,搞得不伦不类,已经把平台分为wpf,sl,wp,win 8 morden ui
5、平台真心混乱 自从 win8出来以后,我看到了win 8 morden ui,看了下sdk,又是一套api,感觉又是一个坑,果断决定放弃了,因为平台没有市场,去学习毫无意义,太多时间耗费在.net平台上了,感觉微软的策略真心是有问题,也得出一个结论,微软是一个比较喜欢玩技术的公司,跟着玩你会发现真的被玩了,现在看ios开发,反而感觉设计的好简单暴力,有时候给太多技术方案给开发人员不是一个好事情

最后总结
1、wpf技术是个好东西,是界面开发技术的精华,值得学习
2、wpf不是一切,是界面开发的一种方案,PC客户端开发坑很多,精通的话门槛很高,光会.net是不够的,底层得学
3、平台推广不给力是关键

以上个人见解


MVVM让开发效率和代码可维护性提高很多。

作者:cabbage
链接:https://www.zhihu.com/question/26862663/answer/74463686
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我是2004年开始在微软内部做WPF的,应该算是国内最早的WPF开发人员了,现在WPF里面应该还有不少我的代码:-), MSDN上也有我做的一些关于WPF的讲座.
我对WPF的看法是它有存在的理由,但是前景要基于Windows接下来的发展,具体能发展到哪一步很难讲.
我觉得WPF本身是一个很不错的语言,容易上手,开发效率高,容易维护,缺点是需要很长时间精通,因为他很多东西设计的太flexible了,导致想实现一个效果有多种选择,而你需要一定的经验才知道那种是最好的选择。另外,现在如果你要开发一个应用,基本上是Android + iOS + Web. 很少有公司会在单独给Windows开发一个客户端,所以也导致WPF的采用率很低。
一开始设计的缺陷和后来微软内部很多脑残决定,导致WPF现在的状态,比如
1) WPF本身很heavy, 你用WPF做的程序,基本上10M+或者100M+内存使用时家常便饭
2) 因为很heavy, 所以,后来出了Silverlight, 有点像缩减版的WPF. 但是微软推了几年,又决定不推了
3) Windows8开始使用Jupiter,这个和WPF很像(毕竟是同一组人做出来的), 但是又有一些区别,导致程序要做不少改动才能运行,在一定程序上也阻碍的WPF的发展
4) Windows Phone最开始用Silverlight, 后来又改成Jupiter, 也让很多开发人员不乐意在微软的平台上开发
总之,微软在失落的10年里犯了很多错误,WPF现在的地位也跟这息息相关。
虽然我个人很希望WPF能越来越好,但是具体如何,是基于Windows和Windows Phone的发展,目前看,Windows Phone应该是没戏了。最新的新闻是微软本来在Windows Phone上做了一套兼容Android App的环境,结果做完后,内部斗争又不发布了,在我看来又是一个脑残决定,所以Windows Phone是注定摆脱不了"没有用户所以没人做App, 没有App所有用户不愿意买"的怪圈了。


不是国内WPF没有前途,而是国内很多公司不了解,不愿意去了解,另外就是WPF的成本高。

其实这个问题从新手看就是这个技术以后对我涨工资跳槽前景如何。对成熟开发者,只要喜欢就足够了:)



原创粉丝点击