ホーム > Silverlight > これからSilverlightを学ぶ人へのメール

これからSilverlightを学ぶ人へのメール

オンラインでの友人(リアルで会ったことがない)が、今度仕事でSilverlightを触ることになった、という話を聞いたので以下のような内容のメールを送ってみました。

せっかくここまで書いたのでBlogにあげてみることにします(w


いろいろあるけど、まず書籍の話からしますか。

・「Silverlightで開発するデータ駆動アプリケーション

原書はVer.2のころに書かれたものなので、最新の部分については情報が足りないですがデータのバインディング(画面上のコントロールとデータを連携させる方法)についての説明はこの本がいまのところ一番詳しくてわかりやすいと思います。
基礎を理解する意味で、ぜひ読んでおくべきだと思います。

・「.NET開発テクノロジー入門 Visual Studio 2010対応版

良い本なんですが、頭からひとつずつしっかり読もうとすると失敗するかも(w

https://blogonos.wordpress.com/2011/01/13/%e3%80%90%e6%9b%b8%e8%a9%95%e3%80%91-net-%e9%96%8b%e7%99%ba%e3%83%86%e3%82%af%e3%83%8e%e3%83%ad%e3%82%b8%e3%83%bc%e5%85%a5%e9%96%80-visual-studio-2010-%e5%af%be%e5%bf%9c%e7%89%88/

こんな書評を書きましたが、どこが重要か、を考えたうえで読むと良い本だと思います。
Silverlightの開発、ということではWPF/Silverlightの章(3章)はまず読んでください。
WPFの部分はほとんどXAMLの説明なのでSilverlightでも基礎となる部分です。
Silverlightのところはほんとにそのまま基礎知識ですね。

あと重要なのがWCFの章の最後のほうにあるWCF Data ServicesとWCF RIA Servicesです。
Silverlightは直接データベースに接続できませんから、現状ですとこのどちらかの機能を使ってDB連携を実現するのが標準になります。
なので、4章を読むときはまずこの2つの技術の部分を先に読んだほうがいいでしょう。
サンプルとかみるとわかりますが、すごく簡単に(サンプルレベルでは)動かすことができます。
実際に動かすところまでが簡単すぎるのでその先に進もうとするとひっかかるんですよ。
業務アプリで使うなら認証は必須なはずですが、その認証をどうしたらいいか、とか(w で、4章の前のほうのWCFに関する基礎の知識が必要になってきたりします。
そんなつもりで読むといいと思います。

あと、Entity Frameworkの話ですね。
WCF Data ServicesとWCF RIA Servicesはウィザードでの動作等がサポートされているのは標準ではEntity Frameworkだけです。
なのでEntity Frameworkの知識が必須になります。
スループットの性能要件がものすごく厳しい、というようなアプリケーションでなければそんなに深いところまでの理解はなくても大丈夫かな。

この2冊と別にXAMLについての理解を深めるための本がなにか1冊あるといいかもしれません。
紹介できるような本を私は知らないんですが。。。

さて、Silverlightのアプリをつくりはじめるうえで、自分が気づいた注意点など。

上でも書いてますけど、データへのアクセスがWebサービス経由となるので、そのあたりで気を付けないといけないことがいろいろでてきますね。
SilverlightでのWebサービスの呼び出しは非同期アクセスが基本なので、というか非同期アクセスしか用意されていないのでそのやり方を知る必要があります。

で、データを取り出してきたらコントロールとバインドする必要があるのですが、ここで結構とまどいます。
バインディングの実装方法が何種類もあるので、ネットにころがってるサンプルがなかなか参考にならなかったりするんですよ。
よさそうなサンプルをいくつか拾ってきて、とりあえずそれぞれ単体では動きを確認できて、さあ必要な部分を一つにまとめよう、としたときにサンプルそれぞれで実装の仕方が違ってることが多く、「どうやったら一緒になるんだ?」と迷うことになったりします。
というかそういう状況に陥りました(w

これはいくつかサンプル動かして経験して自分としてはどういうやり方するか、をまとめていくしかないかと思います。
もしかしたら要件によって適切な実装方法が異なるといったことがあるかもしれません。
そこまでの経験はないのでこの考えが正しいかどうかわかりませんが。

あと、Silverlightでとまどうのは画面遷移かなぁ。
基本的にはHTML上のオブジェクトとしてSilverlightの表示域を確保して、という形になりますから、別ウィンドウを起動する、というWinFormだとよくやるパターンが使いにくいです。
画面の切替にしても、ベースになる領域を確保しておいて、そのなかをそっくり入れ替える、といった方法のほうが楽でしょうね。
このあたりは結構設計時に考慮が必要になるかと思います。

このあたりの注意点のいくつかは以下の記事をみていただいてやってみてもらうと経験できる部分があるかと思います。

https://blogonos.wordpress.com/category/wcf-ria-services/

SilverlightのUIは自由度が高いんですが、高いだけに考えないといけないことは多くなります。
このあたり注意しておくといいと思います。

ということで、いまできるアドバイスはこんなところかな。
慣れるのに苦労する部分はあると思いますけど、わかってくると楽しいとこも多いです。
頑張ってくださいませ。

#えと、せっかくこんなふうにまとめたので、具体的なスケジュール管理の個所はのぞいて
Blogにネタとしてアップさせてもらおうと思います(w


さて、私としてはこんなふうにまとめてみたのですが。

他の方の意見も聞いてみたいなぁ。

いろんな方にコメントに書きこんでいただけると、初学者がどういう点に気をつけて学習をすすめていけばよいかの指針ができるんじゃないかと思います。

ぜひ協力してくださいませ。

カテゴリー:Silverlight
  1. 2011年2月9日 10:09 AM

    私は最初、「XAMLはよく解らん」と思っていたこともあるのですが、それはXAMLをHTMLと同じようなもの、つまり『UIを記述する為のビジュアルなテンプレート』くらいに思っていた為だったと思っています。

    途中で『XAMLはUIを書くためダケのものではなく、オブジェクト全般を静的に記述出来るもの』という事を認識してから、今まで腑に落ちなかった部分が割と素直に理解できるようになったと思ってます。

    P.S.
    「 Visual Studio 2010対応版」はSilverlightについての記述が増えてるんですね。前の版を持っているのでスルーするつもりだったのですが読んでみようと思います。

    • 2011年2月9日 10:40 AM

      そうですね。
      XAMLはオブジェクトの初期設定状態をXMLで記述したもの、というのがわかると先が見えてきますよね。

      > 前の版を持っているのでスルーするつもりだったのですが

      逆に前の版を持っていないので、どこが変わったかわからなかったりします(w

  1. No trackbacks yet.

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中

%d人のブロガーが「いいね」をつけました。