質問

Lightswitch Application Frameworkの周りに話題があるようです。いくつかの投稿/フォーラム/記事を読んだり、ビデオを聴いたりして、いくつかの回答を提供しましたが、他のいくつかを提起しました。

拡張性?機能をオーバーライドまたは拡張するためのフックはいくつかありますか?

モジュール性? MEF/プリズムを統合できますか?実行時にロードできる動的モジュールの概念はありますか?

ローカライズ可能? 異なる言語でのローカリゼーションに関する特別な機能はありますか?

versionnable? 同時バージョンが共存できるバージョンの概念はありますか?

抽象化? データソースへの接続は抽象化して置き換えることができますか?

テスト可能性? 異なるコンポーネントは、自動化された方法でテスト可能ですか?簡単に達成するのが難しいですか?

クロスカット / nfr? NFRコードをプラグインできるフックはありますか? (ロギング、キャッシュ、監査、セリュティ)

これは、PAASアプリケーションを構築するための強固なフレームワークですか?

役に立ちましたか?

解決

拡張性? 組み込みのLSコントロールが必要なことを許可しない場合、ほぼすべてのSilverlightコントロール(サードパーティコントロールを含む)を使用するか、独自のカスタムシルバーライトコントロールを作成できます。 LSコントロールには、LSコントロールには追加の「スマート」が組み込まれているため、やるべきことがもう少しあります。そのため、画面にドロップしてバインドして使用できます。また、フレームワークに組み込まれた拡張ポイントがあり、独自の「拡張機能」(シェル、コントロール、テーマなど)を作成できます。

モジュール性? LSはすでにカバーの下でMEFを使用しているため、将来さらに活用できる可能性があります。 ls します コードを生成しますが、それ自体は外部消費用ではありません。ただし、MicrosoftのEric Erhardtによる優れた記事があります

http://blogs.msdn.com/b/lightswitch/archive/2011/04/08/how-do-i-display-a-chart-built-on-aggregated-data-eric-erhardt.aspx

これは、LSが構築するデータモデルを再利用する方法を示しています(エリックの場合、彼はそれを使用して、チャートコントロールでプレゼンテーションのためにデータを集約するRIAサービスを作成します)。

ローカライズ可能? 現在組み込みのローカリゼーション機能があるとは思わない。

バージョン可能? Webベースのアプリの場合、データスキーマが変更されなかった場合、別のバージョンを公開できなかった理由はわかりませんが、デスクトップ(OOB)アプリはクリックオンアプリであるため、そのテクノロジーに準拠しています。

抽象化? データソースのRIAサービスを作成する場合は、実装の詳細を抽象化することができます。

テスト可能性? 残念ながら、V1は「テスト可能性」を念頭に置いて書かれていませんでした。ビジネスロジックをSilverlightクラスライブラリに抽出する場合(クライアントで使用するため、またはサーバーで使用するためにフル.NETクラスライブラリを使用するため)、そのロジックをユニットテストできますが、LSアプリケーション自体で記述するコードはこの時点では、実際にはユニットテスト可能ではありません。

他のヒント

ちょうど私がやった評価に基づいて、私の2セントをあなたに与えさせてください:

拡張性

もちろん、カスタムコントロールを追加できます。明らかに、公開されているExtensability APIがあります。

モジュール性

いいえ。LightSwitchはコードジェネレーターではなく、UIの実装を抽象化します。

ローカライズ可能

何も見えませんでしたが、これは段階的に発生すると思います。

versionnable?

LightSwitchプロジェクトをTFSすることもできますが、実行の観点からバージョン化を意味する場合は、新しいバージョンのアプリをサーバーに展開するのと同じくらい簡単です。クライアントは、私が理解していることから必要に応じて、実行とインストールの更新をチェックします。

抽象化

はい、非常に簡単なWCF RIAサービスレイヤーで抽象化する場合。

テスト可能性

ビジネスルールはRIAサービスレイヤーに実装できますので、テストはスナップが必要ですが、UIを介して駆動されるルールに大きく依存している場合は、別のUIベースのテストツールを使用する必要があります。

クロスカット / NFR

アプリのRIAサービス層をビジネスルールの中心的な場所にすることに焦点を当て、UIがユーザーエクスペリエンスに集中できるようにすると、あまり重複しません。 Lightswitchは多くのソリューションにとって優れたクライアントだと思いますが、そのコアパワーは、それ自体がストレッチによってLightswitchに依存しないRIAサービスのクライアントとして使用することです。

少なくともいくつかの有用な洞察を提供してくれることを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top