4

私は現在、エンタープライズ規模の SPA を構築するためにBackbone.jsAura.jsの使用を評価しています。

私は、抽象化、一貫性、柔軟性を提供し、基本ライブラリに依存しない、優れた Javascript アーキテクチャを計画しています。

私が見ているように、任意の MV* パターン (および特にバックボーン) を使用する場合、マークアップ生成は、直接の dom 操作と外部の html テンプレートの組み合わせを介して、ビュー全体に分散される可能性があります。

Javascript アーキテクチャと同じ原則をビューの html マークアップに適用したいと考えています。

  1. 抽象化- 理想的には、マークアップを生成するための簡素化された API を開発者に提供し、使用されている CSS クラス/マークアップ構造から開発者を保護したいと考えています。

  2. 一貫性- 開発者チーム内で作成されるマークアップの一貫性を促進し、管理したいと考えています。

  3. 柔軟性- 使用されている css クラス/マークアップ構造を変更する必要が生じた場合に、特定のマークアップのすべてのインスタンスを見つけて完全に書き直す必要がないようにしたいと考えています。理想的には、変更を 1 か所で行い、それがシステム内のすべての使用に反映されるようにしたいと考えています。

これをサーバー側で実現する方法の実例として、現在、ASP.NET MVC 内で一連のカスタム HtmlHelper を使用しています (デザインは KendoUI に似ています)。これらのヘルパーは、開発者が生成されたマークアップを使用して集中管理するための優れた流暢な API を提供します。

ただし、クライアント側の UI 生成に移行しているため、サーバー側のマークアップ生成で得られるのと同じ利点を得る方法がわかりません。

テンプレートがUI全体で再利用可能なウィジェットを提供できることを理解していますが、それは、それらのテンプレートとそれらを含むレイアウトを作成するときに適用される上記の問題に完全に対処するものではありません.

だから私の質問を要約すると...

エンタープライズ規模の SPA を開発する際に、チーム内でマークアップ生成の制御と一貫性を実現するには、どのようなプラクティスを採用できますか?

4

1 に答える 1

2

あなたの質問は Backbone.js と Aura に限定されているため、これが回答として適切かどうかはわかりませんが、3 つのことを確認します。

  1. AngularJSおよびAngularUI - ディレクティブの概念は、Web コンポーネント(Web コントロールの進行中の W3C 標準)の概念に似ています。
  2. 型付きコーディングが好きで、最先端を行くのが好きなら、Dart Web UIをチェックしてください。Dart Web UIもかなり似た概念を使用しています。

  3. バックボーンの土地にとどまらなければならない場合は、もちろんバックボーンのUIを確認します

最初の 2 つは、3 つの要件を満たす可能性が高いと思います。

于 2013-04-03T22:45:34.823 に答える