对Devexpress ASP.NET组件的一些看法

  使用.net开发的应该都熟悉DevExpress这套组件,强大的功能,显著提高开发效率和提升用户体验。 不过好像大都用winform, 说起用asp.net组件来开发webform,很多人开口就说慢,不考虑使用,最后发现说慢的基本没用来开发过,更多是属于人云亦云或技术较差,就算让他们使用原生控件做的网站也会性能低下。什么东西都需要优化,除非你的程序只输出hello world,对asp.net网站的代码进行优化比winform更有必要性。当然你如果要求一个富客户端UI的性能和winform一样媲美,还想保持原生控件的性能,这是不可能的事情。毕竟像ASPxGridView这种重型控件中各种JS,CSS资源就达1.5M之多,首次加载会需要几秒的时间来加载资源到浏览器缓存。各控件间的资源重复率较高,所以如果某个控件加载过,会明显减少其他控件首次打开时的资源加载时间。

   曾经碰到一个使用DevExpress开发webform的人,让我大跌眼镜的是,对于一套内置ajax的控件,他竟然还用submit来提交数据,我就问他,你用这套控件的初衷是什么,难道仅仅是因为某些功能实现起来方便,界面好看?而这样开发出的网站,又被以讹传讹的方式来进一步对其他未使用这套控件的人进行洗脑:慢。

  好吧,原先我刚学习用这套控件的时候,确实也对这套控件认识粗浅,别谈优化了,学习阶段花了大量时间在搞清楚怎么实现某些功能,在经过1个项目实战后,后期又进行了代码重构和性能优化,才发觉这套控件在带来强大的功能,悦目的界面同时,性能一点也不差。局域网就不说了,即便放在外网,即使我把我的20M光纤限制为2M来进行使用,还是一如既往的流畅。当然对于某些人非要使用N年前的cpu+1G或2G的内存来跑程序,我也没办法,我只想问,你这配置跑win7顺畅不?当然他们会说,我跑xp很顺畅啊,我只能说,你算高配了,xp 512M内存就够了。 这就相当于我送你一辆跑车你非要在满街都是人的步行街跑,然后喷跑车垃圾速度一样无聊。当然要顺畅跑这套控件,也不是非要你弄个I7档次,在我的最早期i3cpu+4g内存,外网2M宽带上,已经非常流畅,当然我没有很多硬件资源去进行更多的测试得出流畅运行的最低配置.如果配合自制轻量级chrome内核浏览器,没有了被一堆乱七八糟插件占领的环境,性能还会有一定的提升。

  所以大家对使用这套控件前应该有个清晰的认识,而不是人云亦云。当然我也放出一个实战项目来演示,目前这个演示放在自己的主机,更能体现真实的性能。经多次测试,如果放在虚拟主机上,则会有0.5秒-1秒的延迟。比如打开一个带有20-30个控件的界面,独立主机只需0.5秒,而虚拟主机则可能需要0.5-1秒,而打开一个带有60个左右的控件的界面,独立主机需要1秒的时间,而虚拟主机则需要1.5秒-2秒的时间。在运行N个站点ping平均值在60ms左右的虚拟主机上性能有明显的下降。当然没有哪家企业会把管理系统部署在虚拟主机上,在独立主机上大部分界面具有和winform相近的响应速度。

你可能感兴趣的:(DevExpress)