ReactiveProperty - slintokyo4
-
Upload
yoshifumi-kawai -
Category
Technology
-
view
12.256 -
download
0
description
Transcript of ReactiveProperty - slintokyo4
ReactiveProperty
MVVM & Async Extensions for Rx
@neuecc - 2011/10/08
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
Profile
Reactive Extensions
Microsoftが開発している
データアクセステクノロジ WP7には標準搭載、それ以外は追加インストール。.NET4.5には標準で載るかも載らないかも
LINQ to Asynchronous
LINQ to Events
イベントと非同期が
LINQで書けるようになる
詳しくはWEBで。 某@ITで近日中に連載予定
ReactiveProperty
XAMLをUI作成に使うシーンの広がり
WPF
Silverlight
Windows Phone 7
WinRT(Windows 8)
WPFが死ぬとかSilverlightは終了とかどうでもいい
XAMLをUI作成に使うアプリという枠で考える
XAMLアプリケーション
XAMLアプリケーションはイベントの塊
マウス・ジェスチャー・センサーはイベント
通知(INotifyPropertyChanged)はイベント
それ経由によりデータバインドも同様にイベント
XAMLアプリケーションは非同期の塊
WPFは除く、但しWinRTは非同期中心なのでデスクトップアプリケーションも非同期へ向かうトレンド
イベント・非同期 => Reactive Extensions
これら二つはRxと非常に相性が良い
RxとXAMLアプリケーション
RxをUIと繋げやすくするためのライブラリ
RxそのままではXAMLとは繋がりにくい
特に、MVVMとして、Viewが完全に分離されている状態では不可能に近く、Rxの力をUIをコントロールすることに活かしにくかった
ReactivePropertyの中身
UIとRxを接続するためのクラス群
非同期をより簡単にするための拡張メソッド群
ReactivePropertyとは
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
ぜひ、試してください!
まとめ