I am developing an ASP.Net web api application and using kendoUI for client side. I found out this blog post which describes the differences of KendoUI and Telerik, but it does not reflect any architectural difference between these two. Is there are big difference in these two UI frameworks in terms of there architecture which could result to performance differences? I am curious to know the in depth difference and why Telerik team decided to come up with a new solution as KendoUI.
Earlier we had what we called as Telerik Extensions for MVC. The Telerik Extensions eased out some of the UI effort in that they would output HTML but for developers allowed to use some helpers to create common controls. For e.g.
<%= Html.Telerik().Calendar()
.Name("Calendar")
.Value((DateTime)ViewData["selectedDate"])
.MinDate((DateTime)ViewData["minDate"])
.MaxDate((DateTime)ViewData["maxDate"])
.TodayButton("d")
%>
Above code would output a calendar ui control when rendered on the client side. This is the basic fundamental of any server side dynamic content creation technology like ASP.NET, JSP, PHP etc etc. The client side HTML is actually spit out from the server when a request is made for the page.
Now with Kendo UI which is a HTML5 and JavcaScript based UI controls library - makes it possible to initialize a bunch of UI controls on the client side without having to worry about the plumbing from the server side. If you use the Kendo UI Web controls you as a developer would initialize what we call as widgets on the client side and use AJAX to fetch lets say a JSON payload and bind it to the widget. for e.g.
<div id="calendar"></div>
<script>
$(document).ready(function() {
// create Calendar from div HTML element
$("#calendar").kendoCalendar();
});
</script>
The above code will create a kendo calendar widget but its intialized on the client side.
We also have the Kendo UI Web for ASP,NET MVC Wrappers - meaning - a very similar wrapper to that of Telerim MVC extension exists for Kendo UI Web also. for e.g.
@(Html.Kendo().Grid<Product>()
.Name("Grid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("AjaxBinding_Read", "Grid"))
)
)
Above code will output a kendo ui web grid when rendered on the client side.
I have tried to tell you the basic difference between the Telerik MVC extension and Kendo UI Web controls. We prefer you switch over to Kendo UI Controls as they follows the HTML5 standards and are also touch ready for portable devices too.
Hope this answers your question.
Lohith (Tech Evangelist, Telerik India)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With