Embed presentation
Downloaded 29 times
ReactiveProperty MVVM & Async Extensions for Rx @neuecc - 2011年10月08日
Profile Twitter: @neuecc HN : neuecc ("のいえ"と読ませています) Microsoft MVP for C# LINQ Blog : http://neue.cc/ LINQとかReactive Extensions(Rx)のことがメイン CodePlexに色々ライブラリ公開しています LINQ to ObjectsのJavaScript実装 : linq.js 単体テスト用拡張メソッド : Chaining Assertion 生SQL文ベースのDB用ヘルパー : DbExecutor
Reactive Extensions
Microsoftが開発している データアクセステクノロジ WP7には標準搭載、それ以外は追加インストー ル。.NET4.5には標準で載るかも載らないかも LINQ to Asynchronous LINQ to Events イベントと非同期が LINQで書けるようになる
詳しくはWEBで。 某@ITで近日中に連載予定
ReactiveProperty
XAMLアプリケーション XAMLをUI作成に使うシーンの広がり WPF Silverlight Windows Phone 7 WinRT(Windows 8) WPFが死ぬとかSilverlightは終了とかどうでもいい XAMLをUI作成に使うアプリという枠で考える
RxとXAMLアプリケーション XAMLアプリケーションはイベントの塊 マウス・ジェスチャー・センサーはイベント 通知(INotifyPropertyChanged)はイベント それ経由によりデータバインドも同様にイベント XAMLアプリケーションは非同期の塊 WPFは除く、但しWinRTは非同期中心なのでデスク トップアプリケーションも非同期へ向かうトレンド イベント・非同期 => Reactive Extensions これら二つはRxと非常に相性が良い
ReactivePropertyとは RxをUIと繋げやすくするためのライブラリ RxそのままではXAMLとは繋がりにくい 特に、MVVMとして、Viewが完全に分離されている 状態では不可能に近く、Rxの力をUIをコントロール することに活かしにくかった ReactivePropertyの中身 UIとRxを接続するためのクラス群 非同期をより簡単にするための拡張メソッド群
Demo
言語が思考を規定する (サピア=ウォーフの仮説)
フレームワーク/パターンは? 表現力を広げるものである 同時に、表現力を縛るものでもある 悪い意味ではなく、縛る「ため」もある フレームワーク/パターンも思考を規定する 常に進化を模索しよう 不変の正しさなんて存在しない 時代が、対象が、前提が変わる、その中で変わらないも のなんてあるわけがない あるとしたら、抽象すぎて役にたたないもの 例えばObjectクラス(全ての共通)とかね 大事なのだけど、そのままでは何も使えない
新しいパラダイムへ Reactive Extensionsは異質でしょう LINQも登場時は異質のものとして扱われましたね それをフルに活用するReactivePropertyも相当異質 だからこそ、そこに次の解があるのでは? ないかもしれませんがそんなものは知りません:) 新しいパラダイムを楽しもう! F is for Fun! – F# All or Nothingではない 共存し融合したとき、次の世代へ進むのでは
まとめ ダウンロード・サンプルはCodeplexにあります http://reactiveproperty.codeplex.com/ NuGetでインストールすることも可能 日本語での紹介・説明の記事はこちらに http://neue.cc/2011/10/07_346.html ぜひ、試してください!