Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ReactiveProperty - MVVM & Async Extensions for Rx
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yoshifumi Kawai
October 08, 2011
Technology
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ReactiveProperty - MVVM & Async Extensions for Rx
Yoshifumi Kawai
October 08, 2011
Transcript
14 slides
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
ぜひ、試してください! まとめ
More Decks by Yoshifumi Kawai
See All by Yoshifumi Kawai
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
7.1k
.NET for Android with Native AOT Built with Cursor
neuecc
0
9.1k
CysharpのOSS群から見るModern C#の現在地
neuecc
2
49k
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
5
57k
.NETの非同期戦略とUnityとの相互運用
neuecc
3
56k
他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例
neuecc
7
42k
Modern High Performance C# 2023 Edition
neuecc
4
16k
CEDEC 2023 モダンハイパフォーマンスC# 2023 Edition
neuecc
9
120k
C#11 による世界最速バイナリシリアライザー「MemoryPack」の作り方
neuecc
1
43k
Other Decks in Technology
See All in Technology
マネージャーをエスパーにしない マネジメントされる側から始める、働きやすい現場づくり
comi190327
0
400
Sonnetだけで業務はまわる?
kintotechdev
1
120
Frontier Teams — Amazon は AI で「開発のやり方」をどう変えたのか
kmotohas
0
250
契約書SaaSにAIエージェントを組み込む
sansantech
PRO
0
130
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
190
速くなるほど、深く考える AI時代のQAに学ぶ
kobayashiyorimitsu
0
210
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
300
田んぼの見回りをIoTで減らしたい!水位監視から電池駆動カメラまでの試行錯誤
itosoft
1
200
BALLAS Technology Deck
ballas_inc
0
620
落とし穴にハマってわかった 開発生産性を測るときに気をつけたいこと
munakata
1
180
Steering と Hook (チームの決まりを守らせる) | 目指せ Kiro マスター 06
inariku
PRO
2
120
うちなーぐちが認識できるなら、秋田弁もいけるはず!? Amazon Transcribe方言チューニング検証
ryouto715
1
180
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
450
We Have a Design System, Now What?
morganepeng
55
8.4k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Accessibility Awareness
sabderemane
1
300
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.7k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
770
Odyssey Design
rkendrick25
PRO
3
940
Into the Great Unknown - MozCon
thekraken
41
2.8k
Done Done
chrislema
187
17k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
460