简介
WPF是windows平台下开发客户端软件热门的选择之一,本文作者通过实战中的经验,对比WPF三种开发模式的优缺点,希望对大家在结合业务进行实际技术选型的过程中有所帮助。
开发模式1:面向对象
接触过WinForm/Delphi的开发者应该对此并不陌生,通过C#和WPF的xaml可以很方便地操作界面/控件和属性。类似于前端的JQuery开发流程。
优点
学习成本低,配置少
界面交互和逻辑简单的情况下,开发效率非常高
缺点
界面逻辑和交互复杂的情况下,开发效率在三者中最低
组件相较于前端较少,诸如分页、播放器等常用复杂组件需要自行封装实现
业务选型
人员配置低的时候,适用于界面交互要求不高、逻辑简单、界面定制化要求低的项目。
人员配置中上也可以考虑。
开发模式2:MVVM
MVVM是WPF的一大特色,修改数据自动调整UI,开发效率相对较高。类似于前端的Vue/React开发流程。
优点
面向数据流开发在业务逻辑复杂多变的情况下有相当的优势
中大型项目开发效率比面向对象的高
缺点
学习成本高,学习资料不多
组件相较于前端较少,诸如分页、播放器等常用复杂组件需要自行封装实现
前期配置多,没有系统地学习容易踩坑
对UI定制要求高的话,开发效率比web低
业务选型
适用于业务逻辑复杂的中大型项目。
开发模式3: Cef.Sharp
Cef.Sharp是开源Chromium嵌入式框架,WPF可以内嵌该浏览器内核,用web开发技术进行开发。
优点
UI定制化程度高,交互设计容易实现
组件相较于客户端多,开发效率高
缺点
学习资料少,集成有一定成本,遇到坑不容易解决
由于内嵌浏览器内核,内存占用高,安装包大
业务选型
适用于UI定制化程度高,交互设计复杂的项目
评论