第三方WPF控件:Devexpress与Telerik对比

31

我想听听您对这两个控件提供商的看法。

简而言之:我正在构建一个传统的LOB桌面应用程序。该应用程序完全使用WPF创建,并且会大量使用PRISM 4.0。在可能的情况下,我将尝试遵循MVVM模式(如果所选控件易于采用则最好)。

主要我感兴趣的是:

  • 良好的数据网格,支持排序、过滤、分组、导出、打印并能够良好地处理大量绑定记录(10k+)

    支持过滤和自动完成的Combobox。

    导航栏

    布局管理器,类似于VS 2010中使用的布局管理器

长期来看,我还想使用它们的:

  • 报表工具

    "数据挖掘"控件

    本地化支持,以便本地化数据网格操作等。

我已经使用Winforms Devxpress一段时间了,并且感到相当满意。他们的支持团队非常出色。不过,我想检查市场上是否有更好的选择。换句话说,我想知道Telerik的控件是否具有任何额外的价值?

13个回答

15

几个月前,我们也需要做出类似的决定。我们使用的是WinForms、Microsoft Composite UI Application Block和DevExpress WinForms。对于我们从头开始创建的新应用程序,我们决定使用WPF(不使用PRISM),并且我们特别需要一些网格,因此我们使用了DevExpress WPF控件。

这是好与坏并存的决定:

  • 你可以像以前使用 WinForms 控件一样使用这些控件。虽然有些细微差异,但很快就会适应。这是一个巨大的优点,因为在使用 WinForm 控件时,我们花费了相当长的时间来适应它们。

  • 控件,特别是网格控件,使用起来与 WinForms 控件一样顺畅。如果用户习惯于它们,过渡将非常平稳。

  • 应用任何提供的主题都非常简单,不会给您带来太多麻烦,您就能得到一个漂亮的解决方案。它们也适用于纯 WPF 控件,因此整个应用程序看起来更加一致。我们仍然主要使用 Windows XP,并且这些主题也适用于 Windows XP,这对我们来说非常有用。

缺点:

  • 我们希望DevExpress WPF控件能够提供与WinForm控件相同的控件覆盖范围。当时的 DevExpress WPF 控件版本号为 10.1,我们失望地发现某些控件完全缺失(例如 TreeList、Schedulers、Passwordbox 或非常有用的 LookUpEdit)。虽然后面三个控件在版本 10.2 中已经可以使用,但 TreeLists 仍然不在其中。如果您正在寻找 WinForms 包中未列出的其他控件,请先检查它们是否存在于 DX WPF 控件中。

  • 有些部分显得匆忙完成。需要一些快速修复才能使控件按照我们打算使用它们的方式运行。好的是,这些问题大多数都在 10.2 版本中得到解决。

  • 相较于WinForms文档,WPF控件的文档和支持中心感觉不够完整。虽然这可能只是我的个人印象,但我几乎总能在DX网站上找到关于WinForms控件的某些问题的答案,但对于WPF控件,我并不那么成功。不过支持团队一如既往地很有帮助。

  • 此列表并非详尽无遗,这些只是我立刻想到的事情。

    那么,如果我再做同样的决定,我很可能会再次使用DevExpress。大部分让我不爽的负面因素都在10.2版本中得到了修复,所以现在控件相当可用。我特别喜欢您可以利用WinForm控件的经验(当然有限制)。后者也是购买DX组件的主要原因。不幸的是,我不了解Telerik控件足够多,无法对它们进行任何评论,因此,如果有人既有DX组件的经验又用过Telerik组件,尤其是从DX转向Telerik,那肯定会是非常有趣的信息。

    我们没有使用MVVM模式来处理网格,因为“传统”的数据加载和显示方式已经足够满足我们的需要。我们的一些网格包含10万个以上的值,网格的性能始终可以接受。这些控件看起来似乎没有内置MVVM支持,如果您要使用它,似乎必须手动完成所有事情。也许10.2在这方面有所改变,我没有检查,但我不认为会有太大差异。

    我们使用自己的本地化实现,因此我不了解DX的本地化支持。


    8

    我评估了几个 WPF 控件包,如 Telerik、DevExpress、Xceed、SyncFusion 等。我们主要关注能够处理大量数据并具有良好性能的网格控件。

    在简单测试中,我们将 120,000 项加载到网格中,并对字段进行分组。DevExpress 相比其他控件速度更快。它只需要 15 秒就可以加载,而其他控件都需要大约 45 秒。DV 只需 7 秒即可分组,而其他控件则需要近 45 秒。其中几个控件甚至会锁死!(注意,这些数据是从 MongoDB 加载的)。

    当在 Telerik 中为列带出过滤对话框时,它会超出屏幕底部而没有滚动条。此外,单击下拉组合框中的过滤项将立即进行过滤,而不是等待我选择其余的过滤项。因此,如果选择 5 个项目,则需要花费 5 倍的时间。

    我希望 DevExpress 能够有一个复选框下拉过滤选项(类似于 Excel)。虽然您只能选择单个值,但它确实有一个非常好的过滤对话框,可以让您执行更复杂的过滤操作。但是,我仍然希望能够轻松选择几个值并快速移动。

    Telerik 与 Sql Server 集成使用 Entity Framework 很好。它的分页、排序、过滤等功能直接与 EF 集成,使 Sql Server 在数据库中执行这些操作。非常好用!我在进行操作时监视了 sql 命令。如果您正在查看大量 Sql Server 数据,请选择 Telerik,因为它可能是唯一能够很好地处理此类数据的控件。(除了没有很好处理大型数据的下拉过滤组合框)。我们正在使用 Mongo 进行大规模数据操作,因此这对我们没有太大帮助。在测试数据时,我们还遇到了一些 Telerik 的异常情况。DevExpress 没有分页选项,除非您自己实现。

    最终,我们选择了由于 DV 具有大数据性能和稳定性。


    7

    我会毫不犹豫地选择DevExpress,他们的组件在我看来比Telerik的更好,API也更好。而且你已经了解他们的对象模型、命名约定和API来自Windows Forms世界,这并不是一个小事,因为你很可能会重复使用你的专业知识,这远比其他事情更重要和有价值。


    6

    Telerik RadDataGrid支持MVVM和命令模式,可以直接使用。而DevExpress需要额外编写大量代码才能正确使用MVVM。


    1
    这是一个重要的问题。在DevExpress中使用MVVM确实很头疼。它的实现方式与WinForms非常相似,因此MVVM并没有得到很好的实现。 - Raúl Otaño
    我在即将完成的项目中使用了5-7个DataGrids,并且没有需要额外编写的代码,使DevExpress DataGrids可以在我的MVVM架构中工作。 - pdschuller
    我的MVVM框架(Prism)与UI控件(DevExpress)解耦,对我来说非常完美。 - Jan Paolo Go

    4

    DevExpress WPF的性能较慢且未进行优化。我已尝试过DevExpress和Telerik的富文本编辑控件。在性能方面,Telerik控件表现优于DevExpress。


    3

    我同时使用Telerik和DevExpress。根据我的经验,在Win Form控件方面,DevExpress更好。但在Asp.NET控件方面,Telerik更好。 DevExpress在服务器控件的呈现结果在客户端非常凌乱。他们使用表格标签创建按钮控件。


    6
    问题是关于WPF而非ASP.NET的。 - Joe White
    我使用过DevExpress和Telerik WPF控件,我更喜欢DevExpress :) - Jan Paolo Go

    3

    几个月前,我也在为新的WPF项目评估WPF控件时面临同样的问题。不知道你是否已经做出决定,但我可以分享一下我的Telerik使用经验,希望能对你有所帮助。

    在我的项目中,特别需要使用TreeListView,但提供此控件的知名供应商很少。我花了一些时间进行研究,并发现Telerik提供了我所需的内容。我下载了试用版并使用了两个月,联系了他们的技术支持,查看了他们的论坛。我可以告诉你,他们的支持非常好!通常,支持会提供带有示例代码的解决方案。像所有开发人员一样,我们会遇到障碍,因此我们需要学习API、文档和示例。对我来说,支持很重要,因为它可以节省开发时间!我的反馈是Telerik提供了极佳的UI控件,拥有广泛的收集和自定义选择,以及出色的技术支持。然而,他们的文档不是那么好。此外,在WPF控件中要注意性能,我的经验是如果数据源很大,性能会受到一定影响。如果性能是关键要求,请确保在关键的架构区域进行一些原型制作。

    只需尝试一下,看看它是否符合您的需求。

    顺便说一句,我也是ComponentOne的客户。如果可以节省时间,请获取所需的控件。重要的是,它能帮助你按时交付产品!希望这可以帮到你。


    2
    我会毫不犹豫地选择Telerik......第一原因是支持,第二原因是如果控件不能满足您的需求,您只需要提交一个工单或在支持论坛上发布,并且可以推动他们的功能开发。这很酷 :)

    1

    我相信在WinFormApp中,devexpress真的更好。我已经使用它几年了,它真的很不错。 另一方面,最近我尝试了它的WPF控件,它很糟糕,充满了错误,我没有时间为这个项目切换到telerik。 我遇到的另一个问题是devex的RTL。如果您想要一个多语言应用程序,这可能很重要。 Telerik可以支持RTL,但Devex在WinApp中不支持,在WPF中也不完全支持。 正如我所说,devex在没有RTL的WinApp中更好。


    0

    我同时使用过Telerik WPF RadControls和DevExpress!根据我的经验,作为提高生产力并在短时间内交付具有良好用户体验的桌面应用程序的主要目标,我对Telerik控件感到满意!Telerik广泛使用mvvm模式,并推荐使用它,因为他们的大多数演示都是基于此模式的!至于文档,查看演示源代码对我来说足够快速入门!另一方面,DevExpress更加成熟。换句话说,Telerik会存在一些bug,但只要你提出问题,支持团队总能找到解决方法。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接