ありがとうございます。
ジョンは、HTの著者として、答えを提供しています。私は、Breezeプロジェクトのプリンシパルとして、彼に同意する傾向があります:)
HotTowelは、あなたが構築するための基盤を生成します。建物そのものではありません。
特定の種類のアプリケーション、協力するJavaScriptとASP.NETテクノロジの特定のセットに基づくCRUDアプリケーション用の基盤です。 Breezeは貢献者ですが、唯一の人ではありません。 MVVM設計と双方向データバインディングを備えたノックアウトは、CRUDアプリに典型的なデータ入力タスクに特に適しています。
もちろん、他の種類のSPAがあります。主に情報を提示し、ユーザーの入力をほとんど受けない重要な種類のアプリがあります。そのようなアプリは、データバインディングの恩恵をそれほど享受しません。そのようなアプリは、一般的なデータバインディングや特にKOについてかなり敵対的になります。
私の指摘は、HTは特定のクラスのアプリケーションをターゲットにしているということです。少なくとも持続的な人気によって測定された場合、非常に成功しています。それらのアプリケーションを構築する人々のための商品を提供します。それは他の種類のアプリのための適切な開始場所ではないかもしれません。
Breezeへの簡単な道は、Web API、EF、およびリレーショナルデータベースを介して実行されることは事実です。それらを取り除くと、サーバー上にコードを書くことができます(クライアント上ではもう少しです)。それはあなたにとって完璧なトレードオフかもしれません。
Breezeの作成者は、そのパスを簡単にしたいと考えています。 BreezeJSが難しくなるとは思わない。私はあなたの声明を理解していません "Breezeは非常に難しくなります。"あなたはそれを試しましたか?
クライアントは、任意の方法でHTTPリソースと通信できます。既存のWeb APIコントローラーを使用するのは簡単です(Breeze Web APIコントローラーでは簡単ですが)。必要に応じてamplify.jsを使用できます(btw、増幅でAJAX呼び出しを行うようにBreezeに指示できます)。あなたがしたくない場合は、Breeze EntityManager
を使ってデータを照会して保存する必要はありません。
残りのBreezeJSは引き続き価値があります。データを取得して保存する方法と、Entity-ChangeSetスタイルまたはCommand/Queryスタイルを好むかどうかを理解した後に、たくさんの作業が残っています。
あなたはこれらの質問に対する答えを見つける必要があります:
- どのようにバインド可能オブジェクトに生のJSONデータを形作っていきますか?
- これらのオブジェクトを保持し、サーバーへの冗長な往復をせずに複数の画面でそれらを共有するにはどうすればよいですか?
- StatesAndProvincesのコンボボックスにアドレスをバインドするときと同じように、オブジェクトから関連オブジェクトにどのようにナビゲートしますか?
- 変更をどのように追跡しますか?
- どのように検証しますか?
- アプリを「墓石」にすると、ローカルストレージにデータの一部または全部をどのように保存しますか?
Breezeは、これらの雑用をクエリして保存したくない場合でも役立ちます。
そして、あなたが答えている場合だけでなく、あなたのHotTowelプロジェクトからブリーズを除去することと同じくらい簡単です...「あなたをありがとう、私はそれをすべて自分自身をやる」のまま:
Uninstall-Package breeze.webapi
サイドノート... Amplifyは素晴らしいですが、Breezeの機能に近づくことはありません。 –
詳細な回答ありがとうございます。私はテンプレートよりもサンプルスターターのようなホットタオルを使用していると思います。私はあなたのポイントを参照してください。私にとっては、既に豊富なWebAPIを持っているので、Breezeがやり遂げられます。他の人にとってはおそらくそれが良いでしょう。あなたはDurandalを結ぶ上で素晴らしい仕事をしたし、Hot Towelのシェルはすばらしく鮮明です。私が望まない部分を交換するのはかなり簡単だったので、それはすべて良いことです。真剣に - それは私に多くのトラブルを救った。ありがとうございました!!! –
+1 moment.jsを含めてください。優れたライブラリ。 –