LightSwitch の HTML Client 入りソリューションとデザイナー画面の変更点

そろそろ LightSwitch の HTML Client についても書いていかないといけませんね。
(従来の Silverlight クライアントも面白いと思うので、これも引き続き見ていきたいと思いますが、今日のところは HTML Client ネタで)

操作していればすぐに分かることですが、これまでのソリューション形式(LightSwitch 2012 の v2 形式)と HTML Client 対応のソリューション形式(v3 形式)との違いを確認しておきます。


v2 までは開発者に「レイヤーを極力意識させない」ことを重視していたように思います。開発の抽象度が高いことが LightSwitch らしさでした。そのため、論理ビューではサーバーサイドのプロジェクトは “Data Sources” と表示されていました。(ファイルビューでは “Server” と表示される)

SNAGHTML44342004

レイヤーを意識させないという意味で、デザイナー画面でもエンティティーに関するメニュー項目も画面に関するメニュー項目の1行にまとめて表示されていました。

SNAGHTML44355288

ただ、これは LightSwitch のランタイムと Silverlight ランタイム、WCF RIA Services が通信部分を隠蔽してくれていたから可能だったのだと思います。


HTML Client では文字通り、画面は HTML + JavaScript (jQuery) であるため、画面は MVVM でいうところの View に専念しなければなりません。複雑なロジックはサーバーに任せるべきですし、Silverlight のようにクライアント側のランタイムの助けも期待できません。

HTML Client 対応によって、”Data Sources” はサーバーサイドで実行されるものであることを明示するようになりました。レイヤーを意識させないという考え方を薄めたようです。
※とは言っても、他の開発手法に比べると、まだ直感的な開発が可能だと思います。

image

ソリューションに HTML Client を追加すると、または HTML Client ベースの新規ソリューションを作ると、論理ビューに “Data Sources” プロジェクトが見当たりません。ソリューションファイル形式が変換されると “Server” と表示されるようになります。
データソースはどこにあるかを意識しなくてもいいのではなく、サーバー側にあるものですよ、ということをはっきりと言っていますね。

デザイナー画面にも変更が加わります。
デザイナー画面には新しく “Perspective” という概念が取り込まれます。どの側面に対する操作をするかを指定したあとでメニュー項目をするということです。

SNAGHTML4440f9bf

SNAGHTML44412439

リレーションや計算されたプロパティはデータソースそのものへの操作、画面はテーブルに対応する画面をクライアントサイドに生成する操作、という操作上の区別が出てきました。

 

いずれも開発をする上で支障になるような変更ではありませんが、レイヤーを意識することでこれからの LightSwitch 開発はやりやすくなると思います。もちろん普通の Web 開発に慣れている人であれば自然な考え方だと思いますが、今までの LightSwitch とは少し異なる部分だと思うのでちょっとだけ注意するといいと思います。

広告
カテゴリー: LightSwitch タグ: , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中