Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Ryo Kamimura
4,561 views
FRP - Functional Reactive Programming
関数リアクティブプログラミングをAndroidやiOSで使ってみた話
Technology
◦
Read more
20
Save
Share
Embed
Embed presentation
Download
Downloaded 13 times
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PPTX
Pop star homework3
by
shipy02
PPT
Padrins i fillols de 5è B i 1r B
by
ciclesuperiorescolapalau
PDF
Tend, Gather and Grow Curriculum: Berries
by
Sheila Wilson
PPT
E&C Вrodaband 2015 Диалог бизнеса и государства
by
Expert and Consulting (EnC)
PDF
5-13_Satisfaction Level of the First Thai-Laos Friendship Bridge and Cross-Bo...
by
Sethapong Jarusombathi
PDF
Women Relationship
by
broxtermanc
PPSX
HENSCO_Tea
by
Amelia Hadin
DOCX
#TIM 2015 Telecom IT Media Postrelease
by
Expert and Consulting (EnC)
Pop star homework3
by
shipy02
Padrins i fillols de 5è B i 1r B
by
ciclesuperiorescolapalau
Tend, Gather and Grow Curriculum: Berries
by
Sheila Wilson
E&C Вrodaband 2015 Диалог бизнеса и государства
by
Expert and Consulting (EnC)
5-13_Satisfaction Level of the First Thai-Laos Friendship Bridge and Cross-Bo...
by
Sethapong Jarusombathi
Women Relationship
by
broxtermanc
HENSCO_Tea
by
Amelia Hadin
#TIM 2015 Telecom IT Media Postrelease
by
Expert and Consulting (EnC)
Viewers also liked
PDF
Mussel Magic
by
Sheila Wilson
PPTX
Video games, literacy, and identity
by
Nicky Rosi
PPTX
The thin green line
by
Sheila Wilson
PPTX
Nisqually National Wildlife Refuge - Habitat types
by
Sheila Wilson
PPTX
Баян-Өлгий аймгийн Өлгий сумын 1дүгээр бүрэн дунд сургууль 2015.10.13
by
lena lena
PPTX
NREP Ohop Tree Planting -Fall 2013
by
Sheila Wilson
PPS
ELS SECRETS DE L'AIGUA
by
ciclesuperiorescolapalau
PPTX
Tips On Dating A Girl
by
wilbourntext
PPTX
Ekologi yang terdera dari danau semi alami
by
Devy Ratnasari
PPTX
Updated version of media presentation 2
by
shipy02
PDF
Eye on nature 2014
by
Sheila Wilson
PPT
Els ordinadors de les classes
by
ciclesuperiorescolapalau
PPT
Padrins i fillols de 5èA i 1rA
by
ciclesuperiorescolapalau
PPTX
Intro biomimicry talk- edu
by
Sheila Wilson
PDF
Hardware hacking on the pi; what's js got to do with it
by
Alexander Roche
Mussel Magic
by
Sheila Wilson
Video games, literacy, and identity
by
Nicky Rosi
The thin green line
by
Sheila Wilson
Nisqually National Wildlife Refuge - Habitat types
by
Sheila Wilson
Баян-Өлгий аймгийн Өлгий сумын 1дүгээр бүрэн дунд сургууль 2015.10.13
by
lena lena
NREP Ohop Tree Planting -Fall 2013
by
Sheila Wilson
ELS SECRETS DE L'AIGUA
by
ciclesuperiorescolapalau
Tips On Dating A Girl
by
wilbourntext
Ekologi yang terdera dari danau semi alami
by
Devy Ratnasari
Updated version of media presentation 2
by
shipy02
Eye on nature 2014
by
Sheila Wilson
Els ordinadors de les classes
by
ciclesuperiorescolapalau
Padrins i fillols de 5èA i 1rA
by
ciclesuperiorescolapalau
Intro biomimicry talk- edu
by
Sheila Wilson
Hardware hacking on the pi; what's js got to do with it
by
Alexander Roche
Similar to FRP - Functional Reactive Programming
PDF
Reactive android
by
shinnosuke kugimiya
PDF
RxSwift
by
Kosuke Usami
PDF
Why Reactive Matters #ScalaMatsuri
by
Yuta Okamoto
PPTX
Spring 5に備えるリアクティブプログラミング入門
by
Takuya Iwatsuka
PDF
なぜリアクティブは重要か #ScalaMatsuri
by
Yuta Okamoto
PDF
SpringOne 2016 報告 Reactive APIの設計・実装・使用
by
Takuya Iwatsuka
PDF
What is reactive programming?
by
Kenji Tanaka
PDF
Reactive programming
by
Yasuki Okumura
PDF
Reactive cocoaをかじってみた。
by
孝文 田村
PPTX
Reactive extensions
by
yone64
PPTX
Reactive
by
Akihiro Ikezoe
PPTX
関数型言語&形式的手法セミナー(3)
by
啓 小笠原
PDF
Start FRP
by
rf0444
PDF
リアクティブプログラミング
by
Yuuki Takano
PDF
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
by
Toshiaki Maki
PPTX
Reactive Programming
by
maruyama097
PPTX
Reactive Programming
by
Hideyuki Takeuchi
PPTX
ReactiveUI を使った表計算っぽいWPFアプリケーションで Reactiveプログラミング の練習をした話
by
Hironori Suzuki
PPTX
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
by
Roy Kim
PDF
Elmで始めるFunctional Reactive Programming
by
Yasuyuki Maeda
Reactive android
by
shinnosuke kugimiya
RxSwift
by
Kosuke Usami
Why Reactive Matters #ScalaMatsuri
by
Yuta Okamoto
Spring 5に備えるリアクティブプログラミング入門
by
Takuya Iwatsuka
なぜリアクティブは重要か #ScalaMatsuri
by
Yuta Okamoto
SpringOne 2016 報告 Reactive APIの設計・実装・使用
by
Takuya Iwatsuka
What is reactive programming?
by
Kenji Tanaka
Reactive programming
by
Yasuki Okumura
Reactive cocoaをかじってみた。
by
孝文 田村
Reactive extensions
by
yone64
Reactive
by
Akihiro Ikezoe
関数型言語&形式的手法セミナー(3)
by
啓 小笠原
Start FRP
by
rf0444
リアクティブプログラミング
by
Yuuki Takano
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
by
Toshiaki Maki
Reactive Programming
by
maruyama097
Reactive Programming
by
Hideyuki Takeuchi
ReactiveUI を使った表計算っぽいWPFアプリケーションで Reactiveプログラミング の練習をした話
by
Hironori Suzuki
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
by
Roy Kim
Elmで始めるFunctional Reactive Programming
by
Yasuyuki Maeda
FRP - Functional Reactive Programming
1.
FRP Functional Reactive Programming 2014/08/01 Ryo
Kamimura
2.
いいか、みんな (゚д゚ ) (| y
|) 関数型プログラミングの要素をリアクティブプログラミングに合わせると 関数型 (゚д゚) リアクティブ \/| y |\/ FRPになるのだ ( ゚д゚) FRP (\/\/
3.
(reactive) ( ) ( )
(behavior)
4.
(stateless) (immutable) (map, filter, fold)
5.
Java Objective-C FRP RxJava compile 'com.netflix.rxjava:rxjava-core:+' ReactiveCocoa pod
'ReactiveCocoa'
6.
Push Pull Push Pull
7.
( ) Pull java.lang.Iterable, RACSequence(ReactiveCocoa) Push rx.Observable(RxJava),
RACSignal(ReactiveCocoa) Push
8.
Push UI 3 next completed error
10.
(Java) ViewObservable.input(mEditText, false) .subscribe(new Action1<String>()
{ @Override public void call(String s) { Log.d("LOG", "New value: " + s); } }, new Action1<Throwable>() { @Override public void call(Throwable t) { Log.d("LOG", "Error: " + t.getMessage()); } }, new Action0() { Override public void call() { Log.d("LOG", "Completed."); } });
11.
(Objective-C) [self.textField.rac_textSignal subscribeNext:^(id x){ NSLog(@"New
value: %@", x); } error:^(NSError *error){ NSLog(@"Error: %@", error); } completed:^{ NSLog(@"Completed."); }];
12.
FRP KVO UI
13.
Transformation Filtering Combining Injection
14.
Transformation map() / map: flatMap()
/ flattenMap:
15.
Filtering filter() / filter: skip()
/ skip: throttleWithTimeout() / throttle:
16.
Combining merge() / merge: zip()
/ zip:reduce:
17.
Injection doOnEach() / doNext: doOnCompleted()
/ doCompleted: doOnError() / doError:
18.
FRP 1. 2. 3. 500 4. 5.
19.
Java 8 ViewObservable.input(mEditText, false) .filter(text
-> { // 入力値をチェックして return isValidText(text); }) .throttleWithTimeout(500, TimeUnit.MILLISECONDS) // 500ミリ秒以内 .flatMap(text -> { // 入力値をサーバーに送信 return sendTextObservable(text); }) .flatMap(jsonResponse -> { // レスポンスの値を使って再度サーバーからデータ取得 return resultObservable(jsonResponse.get("result")); }) .observeOn(AndroidSchedulers.mainThread()) // UIスレッドで .subscribe(jsonResponse -> { // UIを更新 }, throwable -> { Log.d("LOG", "An error occurred: " + throwable.getMessage()); });
20.
Objective-C [[[[[[[self.textField rac_textSignal] filter:^BOOL(NSString *text)
{ // 入力値をチェックして @strongify(self) return [self isValidText:text]; }] throttle:0.5] // 500ミリ秒以内 flattenMap:^RACStream*(NSString *text) { // 入力値をサーバーに送信 @strongify(self) return [self signalForSendText:text]; }] flattenMap:^RACStream*(NSDictionary *jsonResponse) { // レスポンスの値を使って再度サーバーからデータ取得 @strongify(self) return [self signalForResult:jsonResponse[@"result"]] }] deliverOn:[RACScheduler mainThreadScheduler]] // UIスレッドで subscribeNext:^(NSDictionary *jsonRespoonse) { // UIを更新 } error:^(NSError *error) { NSLog(@"An error occurred: %@", error); }];
21.
FRP GUI UI Push
22.
GUI ON/OFF (Spinner/UIPickerView)
24.
Non-FRP UI
25.
FRP
26.
iOS Android Java Java8
(+ Retrolambda) Objective-C Groovy Swift
27.
THE END
Download