Windows桌面应用开发框架
1、C#语言两大框架:WPF与Winform
WPF:https://github.com/dotnet/wpf
SilverLight:Web富客户端,11-12年类似flash,没有WPF完整阉割版web端
Winform简单容易上手
C++需要很多代码才能写一个窗口
c#所有需要呈现的东西对象化,封装后进行快速开发
非常容易把窗体组件使用起来
一个时代代表的东西,发展推动c#的过程
成熟之后
推出了WPF,设计模式和思路的问题
Winform针对对象,文本框、按钮修改属性设置红色……
1、现在需求,修改样式,重绘按钮好看一些
复杂一些
2、业务开发,第一步拖控件,确定控件
在控件基础上完成业务逻辑处理
输入123是承载文本框textbox里面
先有控件,再有逻辑
关注点在页面上了
页面变一次,业务逻辑改一次
耦合度非常高

WPF关注度,不需要关注页面对象
页面对象与逻辑的切割
不影响业务逻辑的处理,解耦
1、界面的需求改动
2、逻辑控制修改
针对这两种需求,有时候都需要改
而有的只需要改页面或者逻辑一种,winform两者都得该
交叉点多了
2、异/同点
相同:最终的输出结果:客户端应用(人机交互)
不同:大相径庭
- 界面渲染机制不同(视频 Picture 句柄)
- 逻辑控制不同(界面设计:色彩、尺寸) 短时间内完成很多功能:Winform 现成的应用框架
界面设计沾边的,美工层面(色彩、尺寸),怎么设计好看
需要更多精细化的操作
Winform:一般应用的简单交互,
不需要太高的渲染效果
WPF:多线程,持续化的逻辑进程,工控领域非常多的小动画
怎么选择?
第一周期,原型
就是为了快速开发,短时间内完成很多功能,用winfrom
第二阶段
显示效果拉满WPF
WPF要是有现成的应用框架,其实也是非常容易
很多功能模块,按照特定格式添加相应功能
在基础上修改,可扩展性、维护性
3、框架的可移植性
WPF/Winform(表现层):Windows-》.NET5 (运行时框架)/ 上位机
Web应用开发(有一定的局限性,更好的效果,用纯生的桌面效果更好)
界面要求更高也可以用/QT MFC,c++效率是比c#高的,还跨平台
操作系统如果没有表现层
比如Linux没有表现层,只有黑框
根据系统内核不同硬件显示GUI的图形化绘制
合适也业务用合适的技术
4、应用场景
主要还是上位机:局域网,设备访问到就行了,(工业现场),2D 3D
一般的应用程序:对硬件交互比较多的应用,推荐使用桌面应用
Web HTML
多平台的合作开发,移动端,web端,越来越大,中心机房处理,服务型的框架
共生共存的
浙公网安备 33010602011771号