LightSwitchにおける開発スタイル
LightSwitchでは、データ設計と画面設計の2つのプロセスを繰り返すことにより、段階的にビジネスアプリケーションを開発できます。これらの開発スタイルについて、LightSwitchの実際の画面を交えながら見てみることにしましょう。
データ設計
LightSwitchでは、新規にテーブルを作成することもできますし、Excel、SharePoint、SQL Server、SQL Azureなどの既存のデータソースに接続して利用することもできます。テーブルを新規作成する場合には、ローカルのSQL Server Expressにデータが保存されます。
テーブル間の関連の作成も簡単です。[Add New Relationship]ダイアログボックス上でマウス操作により、テーブル間や異なるデータソースを簡単に結びつけることができます(図4)。
![図4:[Add New Relationship]ダイアログボックス](http://cz-cdn.shoeisha.jp/static/images/article/5752/5752_fig4.gif)
テーブル設計の際には、Int32やString、DateTimeなどの通常のデータ型に加えて、ビジネスアプリケーション用の特別なデータ型(EmailAddress、Money、PhoneNumber)も利用できます。
画面設計
LightSwitchには、あらかじめ5種類の画面テンプレートが用意されています。画面テンプレートと表示するデータを関連付けることにより、データ作成や編集、表示のための画面を生成できます(図5)。
![図5:[Add New Screen]ダイアログボックス](http://cz-cdn.shoeisha.jp/static/images/article/5752/5752_fig5.gif)
表1に、これらの画面テンプレートについてまとめてみます。
| 画面テンプレート | 説明 |
| New Data Screen | 単一レコードの新規作成画面。関連する子レコードも作成可能 |
| Seach Data Screen | データの検索画面。詳細画面へのリンクが提供される |
| Details Screen | 単一レコードの詳細画面。子レコードのリストも表示される |
| Editable Grid Screen | 複数レコードの編集可能なグリッド表示画面 |
| List and Details Screen | 複数レコードのリスト表示画面。選択項目が詳細表示される |
画面を生成すると、関連付けられたテーブルの各テーブル列に対応する入力コントロールが自動的に配置されます。
LightSwitchには、各データ型に対応した入力コントロールがあらかじめ用意されています。例えば、Date型用入力コントロールにはカレンダーによる入力支援機能が付いていますし、EmailAddressデータ型用入力コントロールにはドメイン名の補完機能やアドレス形式をチェックする検証機能などが付いています。
画面には、カスタマイズモードと呼ばれる、アプリケーション実行中に動的に画面を編集できる機能が備わっています。
LightSwitchとは別のマイクロソフトの新しい開発環境として、2011年1月に正式リリースされたWebMatrixがあります。
実際には、用途や作成されるアプリケーションの種類などの点でかなり異なる開発環境なのですが、同時期に現れた開発環境として何が違うのだろうと思うかもしれません。
表2に、LightSwitchとWebMatrixの比較を簡潔にまとめてみます。
| 項目 | LightSwitch | WebMatrix |
| 開発環境 | Visual Studio 2010 | WebMatrix(VS2010への移行も可能) |
| デスクトップアプリケーション対応 | ○(ブラウザー外実行Silverlightアプリ) | × |
| Webアプリケーション対応 | ○(Silverlightアプリ) | ○(ASP.NETアプリ、PHPアプリ) |
| クラウド対応 | ○ | ○ |
| 主な用途 | データ中心のビジネスアプリケーション | Webアプリケーション全般 |
WebMatrixの詳細については、拙著「WebMatrixで簡単にWebサイトを構築してみよう」(CodeZine)を参照してください。
