ASP.Net Web APIアプリケーションを開発しており、クライアント側でkendoUIを使用しています。KendoUIとTelerikの違いを説明しているこのブログ投稿を見つけましたが、これら2つのアーキテクチャの違いを反映していません。パフォーマンスの違いにつながる可能性のあるアーキテクチャに関して、これら2つのUIフレームワークに大きな違いはありますか?深遠な違いと、TelerikチームがKendoUIとして新しいソリューションを考え出すことにした理由を知りたいと思います。
1 に答える
以前は、MVC用のTelerikExtensionsと呼ばれるものがありました。Telerik Extensionsは、HTMLを出力するという点で、UIの作業の一部を軽減しましたが、開発者は、いくつかのヘルパーを使用して共通のコントロールを作成することができました。例えば
<%= 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およびJavcaScriptベースのUIコントロールライブラリであるKendoUIを使用すると、サーバー側からの配管を気にすることなく、クライアント側で一連のUIコントロールを初期化できます。Kendo UI Webコントロールを使用する場合、開発者はクライアント側でウィジェットと呼ばれるものを初期化し、AJAXを使用してJSONペイロードをフェッチし、ウィジェットにバインドします。例えば
<div id="calendar"></div>
<script>
$(document).ready(function() {
// create Calendar from div HTML element
$("#calendar").kendoCalendar();
});
</script>
上記のコードは剣道カレンダーウィジェットを作成しますが、クライアント側で初期化されます。
ASP、NETMVCラッパー用のKendoUI Webもあります。つまり、KendoUIWeb用のTelerimMVC拡張機能と非常によく似たラッパーがあります。例えば
@(Html.Kendo().Grid<Product>()
.Name("Grid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("AjaxBinding_Read", "Grid"))
)
)
上記のコードは、クライアント側でレンダリングされたときに剣道UIWebグリッドを出力します。
TelerikMVC拡張機能とKendoUIWebコントロールの基本的な違いを説明しようとしました。HTML5標準に準拠しており、ポータブルデバイスにもタッチ対応であるため、KendoUIコントロールに切り替えることをお勧めします。
これがあなたの質問に答えることを願っています。
Lohith(Tech Evangelist、Telerik India)