简介

WPF是windows平台下开发客户端软件热门的选择之一,本文作者通过实战中的经验,对比WPF三种开发模式的优缺点,希望对大家在结合业务进行实际技术选型的过程中有所帮助。

开发模式1:面向对象

接触过WinForm/Delphi的开发者应该对此并不陌生,通过C#和WPF的xaml可以很方便地操作界面/控件和属性。类似于前端的JQuery开发流程。

优点

  1. 学习成本低,配置少

  2. 界面交互和逻辑简单的情况下,开发效率非常高

缺点

  1. 界面逻辑和交互复杂的情况下,开发效率在三者中最低

  2. 组件相较于前端较少,诸如分页、播放器等常用复杂组件需要自行封装实现

业务选型

人员配置低的时候,适用于界面交互要求不高、逻辑简单、界面定制化要求低的项目。

人员配置中上也可以考虑。

开发模式2:MVVM

MVVM是WPF的一大特色,修改数据自动调整UI,开发效率相对较高。类似于前端的Vue/React开发流程。

优点

  1. 面向数据流开发在业务逻辑复杂多变的情况下有相当的优势

  2. 中大型项目开发效率比面向对象的高

缺点

  1. 学习成本高,学习资料不多

  2. 组件相较于前端较少,诸如分页、播放器等常用复杂组件需要自行封装实现

  3. 前期配置多,没有系统地学习容易踩坑

  4. 对UI定制要求高的话,开发效率比web低

业务选型

适用于业务逻辑复杂的中大型项目。

开发模式3: Cef.Sharp

Cef.Sharp是开源Chromium嵌入式框架,WPF可以内嵌该浏览器内核,用web开发技术进行开发。

优点

  1. UI定制化程度高,交互设计容易实现

  2. 组件相较于客户端多,开发效率高

缺点

  1. 学习资料少,集成有一定成本,遇到坑不容易解决

  2. 由于内嵌浏览器内核,内存占用高,安装包大

业务选型

适用于UI定制化程度高,交互设计复杂的项目