web-dev-qa-db-ja.com

AngularJSやKendoUIを組み合わせる価値は本当にありますか?

最近、AngularJSを使用する際に、カスタム抽象データファクトリの作成などの多くの機能が本当に気に入っています。

KendoUIには、AngularJSが提供するMVVM、SPAルートなどの同様の機能もあるので、2つを混合することの利点(KendoUIの豊富なUI機能以外)について知りたいですか?

-更新-

私はこの質問を明確にするために、そしてそれぞれの利点について少し混乱しているかもしれない人々のために、そしてなぜ一方が他方の上ではなく両方をプロジェクトで使用するのかについて尋ねています。

例-Javascriptユニットテスト機能(Angularコントローラーで実行されますが、KendoUIでこれを実行している人は誰もいません)。

剣道はそれをすべてやろうとしているようですが、UIは最高です。

ありがとう。

-更新-

この質問を書いた後、私はKendoUIグリッドをAngular ODataを使用して統合し、チュートリアルを作成しました ここ at www.whatsinyourlunch.com これを達成する方法について、これが他の人に役立つことを期待して。

スタックは、AngularJS、KendoUI、OData、WebAPI2、.Net MVC5、C#、汎用リポジトリを介してアクセスされるEntityFrameworkです。

24
ElHaix

私はこれが古いことを知っていますが、ここに私の2セントがあります。 Angularを使えば使うほど、剣道は必要ないことに気付くでしょう。剣道とAngularの統合はちょっとしたハックですが、仕事を成し遂げているようです。唯一の理由は私です。剣道の使い方を見つけるのがグリッドです。Angularグリッドを試してみましたが、バグやフォーマットの問題がたくさんあります。

純粋主義者ではなく、必要なことを実現するツールの組み合わせを使用することが重要だと思います。私は有料の商業図書館に依存することから離れようとする傾向がありますが、グリッドはしっかりしています。有料の製品は、おそらくより多くのサポートと維持、および開発チームへの個人的なアクセスがあります(大企業や単一の開発者プロジェクトからの手入れの行き届いた無料の製品が無駄になります)。私は非常に多くの素晴らしい無料の製品が放棄されるのを見てきました。ただし、優れた無料のグリッドが必要で、グリッドだけでTelerikに$ 1000.00を支払うことができない場合は、DataTables.netが優れた代替手段であり、私が現在使用しているものです。

あなたはTelerikのサポートを愛さなければなりません。それが私の意見で彼らのものを使う最も良い理由です。彼らは剣道で良い日付範囲カレンダー、タグクラウドなどのいくつかのものを欠いています。チャートもハイチャートと比較して欠けています。キース・ウッドの日付範囲カレンダーを使用していますが、彼はメールに応答していないようです。ドロップダウンなどの他のもののためのいくつかの素晴らしいangularコントロールも見つけました。人々がものの寄せ集めを使用する理由を理解していませんでしたが、それは仕事に最適なツールですそれは重要です。

17

個人的には、KendoUIの豊富なUI機能 in Angularディレクティブ。残りはAngularにする必要があります。または、KendoUIを排他的に使用する以外に進むことはありません。

7
meilke

それらを混合することはうまくいきます。 Kendoに含まれているフレームワークコード(MVVMなど)をすべて使用する必要はなく、豊富なUI機能に集中できます。高度にカスタマイズされたバージョンのグリッドなど、いくつかのコントロールを使用します。 Angularは、Kendoコントロールをラップし、毎回発生する80%の構成をカプセル化するディレクティブを作成したため、開発者はページ/モジュールが異なる20%に集中できるため、これに最適です。/whatever。私たちのプロジェクトは、数万行のコードを含むプロジェクトで、分散チームの20人以上の開発者を成功裏に関与させ、Angularで剣道のUI機能を使用して大きな成功を収めました。

5
Jeremy Likness

KendoUIとAngularJsの混合を好まない私の経験のいくつかのポイントは次のとおりです。

  • AngularJには剣道ディレクティブがありますが、多くのI関連のものはコントローラーに配置されます(構成、イベント、複雑なテンプレート)であり、jQueryを除外することは困難です。
  • 剣道コンポーネントの初期化と表示は、各ページ(グリッド、タブストリップなど)に深刻な時間ペナルティを追加します
  • イベントとメソッド引数は、剣道フレームワーク全体で一貫性がありません(つまり、グリッド、リストビュー、コンボボックスのメソッドを選択します)
  • グリッド(またはリストビュー)でのテンプレートの使用またはグリッドイベントへの応答AngularJsのようには感じられません
  • コンポーネントは、置き換えようとするネイティブコントロールとは異なる動作をします(つまり、コンボボックスとネイティブ選択のイベント順序とデータバインディング)
  • 剣道コンポーネントのルックアンドフィールをカスタマイズする必要があるとすぐに、剣道で使用されるCSSクラスに精通する必要があります。

KendoUIグリッドは素晴らしいですが、プロジェクトでそれが必要ない場合は、この2つを組み合わせても何も得られません。

3
marapet

現在のプロジェクトでは、AngularとKendo(主にグリッド用)の両方を使用しています。2つを混合しなかったので、これも私の提案です。Angularはアプリケーションロジックを担当する必要があり、Kendoはウィジェットの管理のみを担当する必要があります。

Kendoは独自の kendo-angular library を提供しており、ほとんどのウィジェットのディレクティブが含まれています。

3
thomaux

それらを混ぜることは良いアプローチではないと思います。 「私のプロジェクトでは魔女の方がもっと必要で便利だ」と自問する必要があります。

グリッドコンポーネントが豊富なため、angular)の横にkendoを使用することにしましたが、キャンセルしました。

kendoUIの主なコントロールはグリッドです。ただし、完全にバインドするには、そのすべての要素を監視する必要があり、処理が遅くなります。また、グリッド内の行のdataItemは元のデータを返しません。ページング、フィルタリング、並べ替えを監視する必要があります..。

しかし、kendoの他のコントロールについては、問題が少なくなります。

1
Alborz