Telerik UI控件与使用jQuery的客户端UI相比如何?

20

我正在决定如何处理外部面向的Web应用程序的用户界面(UI)。由于是外部面向,页面过重导致的延迟可能会成为一个问题。

我以前使用过jQuery,并且现在正在评估Telerik控件。我看到了很多关于Telerik控件的好推荐,包括一些在StackOverflow上的推荐。它们似乎相当全面。我也毫不怀疑使用这些控件可以比使用jQuery更快地开发应用程序。但是,我担心它们会在我的页面上造成太多负载。

你们中有没有人有比较这些控件与纯jQuery实现性能的经验?具体来说:

  • Telerik中的RadScriptManager是否真的比MS Ajax ScriptManager更好?
  • Telerik控件是否存在性能问题?
  • 是否有任何接近RadGrid网格功能的jQuery插件?

任何其他相关信息也将非常有用。

14个回答

44
我多年来一直使用Telerik和JQuery。 "全功能"通常意味着大量的膨胀,您不需要的功能以及难以(或不可能)优化的最终页面。 放弃Telerik并使用像JQuery这样的裸金属框架。 您会发现它将允许您构建所需的特定功能,并且您永远不会回头。 许多全功能UI套件(如Telerik或ComponentArt)非常诱人,但我认为它们鼓励了很多糟糕的编程。
例如....您真的需要在网格上拖放列吗? 可能不是。 最好有一个设计区域,您的用户可以在其中布置其列首选项,然后是主视图,其中网格快速轻巧。 不要在每个页面视图中呈现您的用户永远不会(或很少)使用的兆字节的附加功能。

2
同意。 Telerik 工具让我实在失望了。听说它们很好用,但我的评估结果并不尽如人意。 - nshaw
3
有Mort、Elvis和Einstein程序员。UI组件最适合Mort和Elvis。Einstein认为他们足够聪明,可以自己开发-或者至少享受挑战-因此常常得到的服务最少。你只需要知道自己是哪种类型的开发者即可。 - Todd
2
我认为Telerik非常适合内部应用程序,但对于大型面向客户的应用程序来说,它并不总是最佳解决方案(在我看来,其他控件套件也都一样)。 - Beep beep
6
我不知道是什么让你们认为,仅仅因为一个实现有很多也许对大多数人来说是不必要的高级特性和代码...就一定会臃肿。在服务器/客户端编程中,尤其是在使用jQuery/JavaScript和HTML渲染时,如果一个特性被关闭或未被使用,那么这个特性不会导致客户端臃肿,它将被关闭并且不会使程序变慢。这与典型Win32桌面应用程序中的增值软件非常不同,后者总是处于“常开”状态。在服务器/客户端应用程序中,可能遇到的问题的范式确实非常不同。 - Erx_VB.NExT.Coder
6
尝试告诉你的客户,他们是否真正需要那个功能!使用Telerik,您可以获得许多开箱即用的功能,否则将很难使用jQuery编写。这对于内部网络应用程序以及需要快速构建应用程序时非常有用。像任何框架一样,您需要学习它并进行一些自定义,还可能会出现错误,但他们的支持非常好。 - jlp
显示剩余3条评论

24

这里有一些好的讨论。以下是一些澄清:

  • Telerik 在很多控件中内部使用 jQuery(随着微软对其支持的增加,Telerik 会越来越多地使用它)来增强客户端特性(减少客户端代码)。
  • jQuery 是一个用于 JavaScript 开发非常好的客户端库。但如果你需要解决可访问性问题,则使用 jQuery UI 实现可能会遇到困难,因为它们所有的功能都依赖于 JavaScript。 Telerik 的独特优势在于您可以同时进行客户端和服务器端渲染,这意味着您可以支持未启用 JavaScript 的客户端。
  • 对于很多 Telerik 的控件,你要么A)通过禁用功能(由内部“按需加载”脚本逻辑)减少页面上的额外代码,要么B)使用提供的脚本组合器和压缩器来大幅减少客户端代码的影响。

然而,作为一名长期的网页开发者,我总是鼓励人们使用适合工作的正确工具。如果您不需要 RadControls 的强大功能、可访问性支持或广泛的文档(帮助继承您的应用程序的人),则不要在您的站点中使用它们。如果您只需要基本的 UI,则 jQuery 可能已经足够了。但我发现,当开发者可以为用户提供高级功能(有时我们认为这是“臃肿”)而不需要额外工作时,用户会对最终产品印象深刻,并且更容易使用。

最重要的是,记住,在大多数情况下,您通过构建 应用程序-而不是 UI 组件-为公司/客户创造价值。所以,除非你有充分的理由重新发明轮子,否则你通常最好使用已经构建和测试好的解决你面临问题的东西。

希望这有所帮助。 -Todd


22
+1 虽然你应该提到你是Telerik的首席传道者... - Dror
10
很抱歉如果有任何让人困惑的地方。我已经在我的个人资料中明确了我的头衔。不过最重要的是,作为一个微软MVP和开发者,我最感兴趣的是帮助开发者。希望我的头衔不会妨碍这一点。 :) - Todd
托德:您能详细说明一下“Telerik的独特优势在于您可以在客户端和服务器端同时呈现”的内容吗?当我们谈到没有JavaScript的ASP.NET时(比如doPostBack),我总是感到困惑,我无法想象使用Telerik WebControls会是什么样子。当有人告诉我JavaScript会影响可访问性时,我也感到困惑,这取决于它被制作得有多具有阻碍性。 - smoothdeveloper
让我澄清一下。1)Telerik可以在客户端或服务器端呈现许多控件的HTML。实际上,许多Telerik控件在完全禁用JS时仍然可以工作。当然,功能不如丰富,但基本功能和呈现将保持不变。试试看。2)我并没有称JavaScript为“无法访问”。相反,我建议Telerik采取额外措施确保控件符合“可访问性标准”,例如第508节和WC3。我们还尝试确保所有控件在使用鼠标不方便时都具有完全的键盘支持。--希望这有所帮助。-托德 - Todd
5
"Telerik是太棒了!我是一个独立开发者,需要完成许多有很多功能的小项目,如果只用HTML和jQuery,那就太难了,根本不现实。如果你在Netflix或Google工作,你可能有时间和资源从头开始构建定制的网格 - 但我认识的人没有那种时间和金钱。" - RichC
我对Telerik唯一的问题是,尽管只用了一天,但他们所有的示例都在同一页上具有UI和数据库访问。我认为现在大多数开发人员都会将其分布在几个层次上。我想那些让自己的生活变得更加困难的人应该真正能够解决它 ;) - John Nicholas

9
关于 Brian C(等人)面临的“漏洞性”和其他挑战,我认为应该在这里做出一些额外的澄清。作为一名开发者倡导者,我不会假装 Telerik 控件是完美的-没有一个由凡人编写的软件永远是完美的。那么重要的是如何解决这些漏洞。
人们往往忽略了公司(或开源项目)处理漏洞的方式,直到为时已晚。无论你使用什么工具 - jQuery、Telerik 或甚至 Microsoft - 你最终都会遇到漏洞。Telerik 的优势在于为这些问题提供快速修复,并提供非常彻底的支持,帮助您尽可能地提高生产力。如果您遇到问题,Telerik 将会帮助您解决。对于其他公司,特别是开源软件,这并不总是保证。
所以请记住:无论您使用什么工具,都将面临漏洞。确保您选择具有支持的工具,可以快速响应您的问题并进行修复。由于我知道我的观点无法避免地存在偏见,因此我会让 StackOverflow 上的其他人确认或否认 Telerik 的支持质量。

7
我可以用第一手、不偏颇的经验来说,Telerik的支持确实非常出色。 - Nick
只是想晚几年评论一下,Telerik的支持仍然非常好 :) 他们说他们会在24小时内回复你,他们确实做到了,不少一分钟 XD - Gabriel Espinoza

8
Telerik控件似乎有些臃肿,但我怀疑您无法在JQuery中轻松实现类似的功能。这真的取决于您能容忍多少臃肿。如果它是用于内部网络应用程序,则并不重要,但是由于您指定了外部面向,因此可能会成为问题,这实际上取决于用户的平均连接速度以及最终运行控件的计算机/浏览器的速度。另一个重要问题是:您是否想使用比JQuery使用少得多的专有工具集来标准化您的Web应用程序?我怀疑JQuery不会很快消失。

虽然 jQuery 不会“破产”,但它的发展可能会减缓或停止。但这几乎不可能,就像 Telerik 破产一样。 :) jQuery 很棒,我们在 WebForms 和(完全)ASP.NET MVC 工具中大量利用它。我们的目标只是帮助开发人员更加高效地工作,并提供高质量的结果。 - Todd

7
如果有人需要帮助,我已经放弃了Telerik工具,目前完全使用jQuery。我们将看到是否会遇到无法解决的问题。我对Telerik工具感到失望。我听说过很多好的事情,但它们对我来说效果不佳。在评估Telerik工具时,我发现以下问题:
- Telerik Ajax工具在处理主/内容页设置时存在问题。他们在论坛中承认了这一点,我猜他们正在努力解决。对我来说相当棘手。 - 我看到了许多意外的行为和怪癖,似乎没有任何文档。例如,在使用Web20皮肤和表单装饰器时,Ajax会使fieldset上的圆角变得混乱。 - Telerik工具使我的开发机器减速并且似乎会导致环境问题。我几乎从未遇到过崩溃或内存违规,但在使用这些工具时,两天内就出现了四个问题。在那之前,可能已经一个月了。 - 因此,结合所有这些因素,再加上jQuery是免费且轻量级的,选择非常容易。初始可能需要更长时间,但最终结果会更好。

我很想看看你用jQuery做的一些样例。我也在使用Telerik,并寻找外部网站加载更快的替代方案。 - Picflight
在使用Telerik一年之后,现在又用了几个月的jQuery,我必须说,在许多情况下,jQuery可以让你完成80%或更多的工作。更不用说它是免费且轻量级的。而Telerik的优点在于他们的控件更完整,需要的调整更少。 - Dave Swersky
我也要补充一下,Telerik 提供了基于 jQuery 的 ASP.NET MVC 工具。如果你在 WebForms 性能上遇到问题,这是一个不错的选择。此外,不要忘记纯客户端 UI 在 SEO 和可访问性方面会引入问题。 - Todd

2

您的UI需求对此决策将产生最大影响。我认为在功能方面,Telerik控件无法与jQuery相比。如果您需要服务器端控件来显示数据,请将Telerik与其他竞争控件进行评估。


2
我使用Telerik控件,同时也购买了源代码。所以说,如果公司倒闭的话,源代码仍然存在,这并不是一个巨大的问题。在公共网站上使用Telerik控件的经验并不是很丰富,但我完全不会犹豫。有时,我被指示使用JQuery来实现控件没有的额外功能。
唯一的问题是,因为你不是自己编写所有这些功能,而是使用控件(不仅仅是Telerik的),所以很容易将各种有趣的东西拖放到页面上,这将为每个页面添加处理。尽管如此,请尽量将它们的使用减少到最小程度,我认为它们不会比手工编写的JQuery实现更加臃肿。

2
RadScriptManager与MS Ajax scriptmanager不同,因为它具有一个EnableScriptCombine="true"属性,您可以设置该属性以启用由telerik控件使用的所有javascript文件组合成一个.js文件以提高性能。
最初,Rad Editor运行得相当慢。但是最新版本要快得多。此外,他们有专职员工不断努力改进他们的控件。
我不知道任何东西能与RadGrid相媲美。它非常强大。我现在正在使用它在一个Intranet应用程序上,并且到目前为止运行速度很快。我正在使用它的所有功能,例如分组,导出到Excel等。
话虽如此,如果我正在创建一个供外部使用的Internet应用程序,我会选择JQuery而不是telerik。这样您就可以拥有更多的控制权。

2
我们在内部产品中使用Telerik Editor,我必须说它比我们之前使用的任何编辑器都更易于使用、定制和升级等。如果您需要一些高级功能和/或更复杂的控件,并且Telerik提供了这些功能,那么我认为排除它们还为时过早。如果您只需要jQuery UI可以提供的基本UI功能,则对于这些特定部分,请使用jQuery。
没有必要选择其中一个,使用多种工具来完成工作即可。

1

我认为Telerik宣布他们将使用JQuery作为客户端。


这是真的。我们针对ASP.NET MVC的工具完全基于jQuery,而针对ASP.NET AJAX的RadControls越来越多地使用jQuery来替换MS AJAX客户端库(与微软自己的JS库方法一致)。 - Todd

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