Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ReactiveProperty - MVVM & Async Extensions for Rx
Search
Yoshifumi Kawai
October 08, 2011
Technology
43
0
Share
ReactiveProperty - MVVM & Async Extensions for Rx
Yoshifumi Kawai
October 08, 2011
More Decks by Yoshifumi Kawai
See All by Yoshifumi Kawai
CysharpのOSS群から見るModern C#の現在地
neuecc
2
38k
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
5
53k
.NETの非同期戦略とUnityとの相互運用
neuecc
3
53k
他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例
neuecc
7
41k
Modern High Performance C# 2023 Edition
neuecc
4
16k
CEDEC 2023 モダンハイパフォーマンスC# 2023 Edition
neuecc
9
120k
C#11 による世界最速バイナリシリアライザー「MemoryPack」の作り方
neuecc
1
42k
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
neuecc
1
480
Deep Dive async/await in Unity with UniTask(UniRx.Async)
neuecc
0
510
Other Decks in Technology
See All in Technology
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
230
シン・リスコフの置換原則 〜現代風に考えるSOLIDの原則〜
jinwatanabe
0
160
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
720
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
130
Webアクセシビリティは“もしも”に備える設計
tomokusaba
0
170
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
24
7.4k
2026-04-02 IBM Bobオンボーディング入門
yutanonaka
0
260
Databricksを用いたセキュアなデータ基盤構築とAIプロダクトへの応用.pdf
pkshadeck
PRO
0
230
さくらのAI Engineから始める クラウドネイティブ意識
melonps
0
120
本番環境でPHPコードに触れずに「使われていないコード」を調べるにはどうしたらよいか?
egmc
1
260
Proxmox超入門
devops_vtj
0
150
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
160
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
96
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Done Done
chrislema
186
16k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Limits of Empathy - UXLibs8
cassininazir
1
290
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Designing Powerful Visuals for Engaging Learning
tmiket
1
330
We Are The Robots
honzajavorek
0
210
Leo the Paperboy
mayatellez
6
1.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Transcript
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
ぜひ、試してください! まとめ