我正在开发一个ASP.Net Web API应用程序,并使用kendoUI进行客户端开发。我发现this的博客文章描述了KendoUI和Telerik之间的差异,但它没有反映出这两者之间的任何架构差异。在架构方面,这两个UI框架是否存在较大差异,可能导致性能差异?我很想知道深入的差异以及Telerik团队为什么决定推出一个新的解决方案,即KendoUI。
早期我们有所谓的Telerik扩展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实际上是从服务器中提取出来的。
现在,使用基于HTML5和JavaScript的UI控件库Kendo UI,可以在客户端初始化一堆UI控件,而不必担心来自服务器端的管道连接。如果使用Kendo UI Web控件,作为开发人员,您将在客户端初始化所谓的小部件并使用AJAX来获取JSON负载并将其绑定到小部件,例如
<div id="calendar"></div>
<script>
$(document).ready(function() {
// create Calendar from div HTML element
$("#calendar").kendoCalendar();
});
</script>
以上代码将创建一个肯德基日历小部件,但它是在客户端初始化的。
我们还有Kendo UI Web for ASP.NET MVC包装器 - 这意味着 - 也存在类似于Telerim MVC扩展的Kendo UI Web包装器,例如:
@(Html.Kendo().Grid<Product>()
.Name("Grid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("AjaxBinding_Read", "Grid"))
)
)
以上代码将在客户端呈现一个Kendo UI Web网格。
我试图告诉你Telerik MVC扩展和Kendo UI Web控件之间的基本区别。我们建议您切换到Kendo UI控件,因为它们遵循HTML5标准,并且也适用于便携设备的触摸操作。
希望这回答了你的问题。
Lohith(技术布道师,Telerik India)