BT

LightSwitch に関する高度なシナリオ

| 作者: Jonathan Allen フォローする 594 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2010年9月29日. 推定読書時間: 3 分 |

原文(投稿日:2010/09/13)へのリンク

LightSwitch は Silverlight,マネージ拡張フレームワーク(Managed Extensibility Framework),WCF RIA サービスなど,数多くのテクノロジを結合したものだ。LightSwitch が普及すれば,これらの技術を理解している開発者は,デザインサーフェスを使ってフォームをつなぐだけの開発者に対して大きなアドバンテージを獲得することになる。

LightSwitch は CRUD スタイルの軽量アプリケーションに対する Microsoft の回答であり,先日2つのパートとしてリリースされた。ひとつは LightSwitch ベータ1で,これは トレーニングキット として提供されている。主要な機能 は以前にも紹介したとおり,豊富なバックエンド技術を利用してシンプルなビジネスアプリケーションを短期間で作成可能,というものだが,今回はさらに進歩しだ機能もいくつか見られる。

トレーニングキットで扱うシナリオのひとつはカスタムコントロール開発である。WPF あるいは Silverlight を使う一般的なプログラムでは,カスタムコントロールはどちらかと言えば必要に迫られて開発することが多いのだが,LightSwitch を使う開発においてはもっと大きな意味がある。カスタムコントロールを単に結合するだけのグループと,カスタムコントロールを定義するグループというように,開発者を2つのクラスに分けることができるのだ。

LightSwitch でのコントロール作成は決して簡単ではない。新しいコントロールを作るためには5つものプロジェクトが必要なのだ。最初はコントロール本体の “クライアント(Client)” プロジェクトであり,Silverlight で記述される。そのペアとして,コントロール関連のメタデータを保持する “共通 (Common)” プロジェクトが存在し,同じく Silverlight を使用する。その次の “デザイナ(Designer)” プロジェクトは,Visual Studio 内で LightSwitch 設計サーフェースが使用するものだ。VisualStudio が直接実行するコードなので,CLR 4 で記述される必要がある。このようなプロジェクトが必要になる理由のひとつには,マネージ拡張フレームワークを通じて公開されている拡張ポイントにフックしなければならない点がある。

すべてのコードが完成すれば,次にはコントロールのパッケージ化が必要となる。パッケージプロジェクトには LightSwitch 特有のものと,通常の VSIX プロジェクトの2種類があり,特に指定しなければ Visual Studio 拡張では後者のパッケージ形式が使用される。コントロールライブラリをテストするためには,VSIX パッケージをインストールしなければならない。それが済めば新しいコントロールを LightSwitch アプリケーションで使用できるようになる。

2つめの “高度な” シナリオはあまり推奨できないが,LightSwitch から WCF RIA サービスを通じて非SQLベースのデータソースにアクセスする,というものだ。ここで使用する RIA サービスは通常の方法で開発されるが,アクセス対象を LightSwitch アプリケーションに限定するために,クライアントアクセス部分をオフにする場合もある。初期化,送信(submit),クエリ,挿入(insert),更新(update),削除(delete) など,通常の RIA 操作が必要である。RIA サービスを構築する作業は,予想に反して不思議なくらいに難しいが,少なくとも VSIX パッケージについて気に掛ける必要はなくなる。

警告がひとつ。トレーニングキットは “Program Files” フォルダや[スタート] メニューといった,一般的な場所にはインストールされない。後になってそれを見つけられない場合は ”LightSwitchTK“ というフォルダを検索してみるとよいだろう。私のテストマシンの場合,ルートディレクトリの下にインストールされていた。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT