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端,越来越大,中心机房处理,服务型的框架
共生共存的

 

posted on 2025-03-19 17:16  张彦山  阅读(180)  评论(0)    收藏  举报