在上一篇中,笔者跟大家披露了 Kendo UI 和DevExpress两款控件的总体功能和网格控件的评测,今天再跟大家介绍一下两者在易用性、集成时间、代码完成方面的优缺对比。
易用性
Kendo UI
Kendo UI的安装比DevExpress要稍显复杂,因为Helpers必须手动注册,但之后就变得比较简单了,比如:
@Html.Kendo().NumericTextBox().Name("MyNumericText")
Helpers是类型化的,比如NumericTextBoxFor。如果使用带有文本字段的模型,字段只需要用'Name'就可以完成绑定。
在上面提到的例子中,字段设置属性MyNumericText的值,然后就会自动发生转换,即使是文本字段也不例外。日期字段也是一样的。创建一个显示月份和年份的日期字段,如下面的代码:
@Html.Kendo().DatePicker().Name("MyTextBox").Depth(CalendarView.Year).Start(CalendarView.Year).Format("MMMM yyyy")
DevExpress
DevExpress的安装可以说是既简单又复杂。它在安装的时候会自动安装Visual Studio序列模板用于项目所需的各种配置,如果自己去手动添加是非常麻烦的。在任何情况下,我们都可以随意的复制模板,但有时候也会出现误差。
在DevExpress下创建控件的难度比在Kendo UI中要大,因为它的控件都是通用型的,所以我们不得不为每个控件都配置一个helper,比如:
@Html.DevExpress().SpinEdit(settings => {settings.Name = "MyPercent";settings.Properties.MinValue = 0;settings.Properties.MaxValue = 100;settings.Properties.NumberFormat = SpinEditNumberFormat.Percent;settings.Properties.SpinButtons.ShowIncrementButtons = false;}).GetHtml()
这段代码创建了一个百分比字段。这段代码显得有点臃肿,而且它没有类型化助手,同样的问题也出现在Grid控件中。
集成时间
Kendo UI
Kendo UI可以快速集成到当前的项目中,因为它既不需要大量编译也不需要大量配置。改变当前的字段也不需要花太多时间。Kendo的网格非常容易上手,但是我们的项目过于复杂,所有集成也花了相当长的时间。
DevExpress
DevExpress的集成速度稍微比Kendo要慢一些,因为它既要配置我们的站点又要配置每个字段。
自动代码完成
Kendo UI
这基本上是Kendo最好用的功能之一。它生成的HTML和JavaScript代码非常干净,它不使用表格而用Divs代替,这样界面会更加流畅。额外的JS在视图面板是不可见的,因为它全部被放到了代码库中。
DevExpress
个人感觉DevExpress的自动代码完成功能不是很好用,因为它会生成大量临时的JS代码,导致调试比较困难。HTML的生成也不是很友好。另外它用表格代替Divs,导致界面不流畅并且无法重用样式。
总结
Kendo UI | DevExpress | |
优点 |
|
|
缺点 |
|
|
综合以上评估,Kendo UI和DevExpress这两款界面控件在技术支持、控件功能和界面效果方面都不相上下。由于我们比较看重样式的重用,所以最终选择了Kendo UI。