在项目中代替DevExpress(一)
从Delphi时代开始一直都是DevExpress系列控件的忠实用户,到现在已经有10多个年头了。DevExpress里面的控件基本从头到尾都用过一次,而且也开发过很多基于DevExpress的子控件。对于像我们这样的小团队来说,使用DevExpress控件可以解决界面风格及基本美化的问题,毕竟让程序员代替美工是一件不靠谱的事情。
但是在.NET环境下,DevExpress有一个很大硬伤,就是使用了DevExpress控件的项目,其启动速度可谓惨不忍睹,而且程序运行非常耗费资源!如果客户电脑的配置没有2G以上内存的话,基本上就跑不动了。而且即使在2G内存下,程序的执行速度依然并不理想。一些实施工程师去客户现场测试过,发现如果电脑冷启动后执行程序,从双击程序到出现程序主画面,基本要20秒左右。即使是热启动,程序也基本需要5、6秒的时间。由于开始之初没有料到速度会如此慢,在项目后期再修改已经来不及了。所以这个项目基本就是因为DevExpress速度问题未能解决而失败告终。
立即着手研究第二代产品,首先要做的是在保证界面美观性的情况下,寻找可以编写出美观界面的控件。但经过一段时间的测试,检测了Telerik等大型套装控件后发现,速度问题依然不是很满意,和使用自带WinForm自带控件的程序相比,两者速度有非常明显的差别。
于是决定自行开发基于WinForm的界面控件,结果就有了SMT-WinControl了。SMT-WinControl整个类库只有200KB(DevExpress一整套界面有几十MB),并且里面已经包含了一套皮肤(基于DevExpress Style)。SMT-WinControl的各个控件都是多功能的,这样使用起来更加方便,这个在后面会对每一个控件进行详细说明。但最重要的是,新项目基于这个控件进行开发,启动速度是用毫秒来计算的。
下面是项目的一些截图,自我感觉还不错吧。
当然,这里只是展示了几个最基本的控件。但SMT-WinControl已经包含了数十个控件,可谓功能强大。在后面的章节中,我们会继续逐一介绍。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?