6

我正在开发一个 ASP.Net web api 应用程序并在客户端使用 kendoUI。我发现这篇博客文章描述了 KendoUI 和 Telerik 的差异,但它并没有反映这两者之间的任何架构差异。这两个 UI 框架在可能导致性能差异的架构方面是否存在很大差异?我很想知道深度差异以及为什么 Telerik 团队决定提出一个新的解决方案作为 KendoUI。

4

1 回答 1

12

早些时候,我们有所谓的 Telerik Extensions for MVC。Telerik 扩展简化了一些 UI 工作,因为它们可以输出 HTML,但允许开发人员使用一些帮助程序来创建通用控件。例如

<%= Html.Telerik().Calendar()
            .Name("Calendar")
            .Value((DateTime)ViewData["selectedDate"])
            .MinDate((DateTime)ViewData["minDate"])
            .MaxDate((DateTime)ViewData["maxDate"])
            .TodayButton("d")
    %>

上面的代码在客户端呈现时会输出一个日历 ui 控件。这是任何服务器端动态内容创建技术(如 ASP.NET、JSP、PHP 等)的基本原理。客户端 HTML 实际上是在对页面发出请求时从服务器吐出的。

现在有了 Kendo UI,它是一个基于 HTML5 和 JavcaScript 的 UI 控件库 - 可以在客户端初始化一堆 UI 控件,而不必担心服务器端的管道。如果您使用 Kendo UI Web 控件,作为开发人员,您将在客户端初始化我们称为小部件的内容,并使用 AJAX 获取 JSON 有效负载并将其绑定到小部件。例如

<div id="calendar"></div>
<script>
 $(document).ready(function() {
                    // create Calendar from div HTML element
                    $("#calendar").kendoCalendar();
                }); 
</script>

上面的代码将创建一个剑道日历小部件,但它在客户端初始化。

我们还有用于 ASP 的 Kendo UI Web,NET MVC Wrappers - 意思是 - 与 Telerim MVC 扩展非常相似的包装器也存在于 Kendo UI Web 中。例如

@(Html.Kendo().Grid<Product>()
    .Name("Grid")
    .DataSource(dataSource => dataSource
        .Ajax()
            .Read(read => read.Action("AjaxBinding_Read", "Grid"))
    )
)

上面的代码在客户端渲染时会输出一个剑道 ui web 网格。

我试图告诉你 Telerik MVC 扩展和 Kendo UI Web 控件之间的基本区别。我们更喜欢您切换到 Kendo UI Controls,因为它们遵循 HTML5 标准,并且也适用于便携式设备。

希望这能回答你的问题。

Lohith (Tech Evangelist, Telerik India)

于 2012-08-06T16:53:11.470 回答