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
RxJava
Search
Breno Ferreira
July 13, 2013
Programming
1
320
RxJava
Palestra sobre RxJava na trilha de Scala do TDC 2013 em SP
Breno Ferreira
July 13, 2013
Tweet
Share
More Decks by Breno Ferreira
See All by Breno Ferreira
TDC Globo Sistemas Distribuídos
brenoferreira
1
48
Trabalho Remoto TDC Globo 2020
brenoferreira
1
68
Immutable Da
brenoferreira
0
36
Remote Work
brenoferreira
0
43
Fun with Types
brenoferreira
0
170
Monads na prática - QConSP 2014
brenoferreira
0
91
.NET Além do Mundo Microsoft
brenoferreira
0
63
TDC2013 - Programação assíncrona com Javascript
brenoferreira
1
480
TDD com Javascript
brenoferreira
1
410
Other Decks in Programming
See All in Programming
cmp.Or に感動した
otakakot
3
170
Amazon Qを使ってIaCを触ろう!
maruto
0
410
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
Jakarta EE meets AI
ivargrimstad
0
170
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
as(型アサーション)を書く前にできること
marokanatani
10
2.7k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
0
25
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Speed Design
sergeychernyshev
25
620
How STYLIGHT went responsive
nonsquared
95
5.2k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Being A Developer After 40
akosma
86
590k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
A designer walks into a library…
pauljervisheath
204
24k
GitHub's CSS Performance
jonrohan
1030
460k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Transcript
PROGRAMAÇÃO REATIVA COM RXJAVA Breno Ferreira @breno_ferreira http://www.github.com/brenoferreira
FUNCTIONAL REACTIVE PROGRAMMING
NA MAIOR PARTE DO TEMPO, ESTAMOS REAGINDO AO AMBIENTE
• Dados de geolocalização (GPS) • Push notifications • Eventos
complexos
ITERATOR VS OBSERVER interface IEnumerable<T> { IEnumerator<T> GetEnumerator(); } interface
IEnumerator<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { IEnumerator<T> GetEnumerator(); } interface
IEnumerator<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { IEnumerator<T> GetEnumerator(); } interface
IObserver<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { void OnNext(T item) T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { void OnNext(T item) void OnError(Exception ex) }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { void OnNext(T item) void OnError(Exception ex) void OnCompleted() }
O VERDADEIRO PODER DO RX • filtros (where, distinct, skip,
take, all, any) • agregações (count, min, max, avg, sum, aggregate) • Transformações (map, flatMap) • Combinações (concat, merge, zip) • Schedulers
RXJAVA Implementação do Rx for .NET em Java Feito pela
Netflix Adaptors para Scala, Groovy, Clojure, JRuby
HTTP://GITHUB.COM/NETFLIX/RXJAVA
LIBRARYDEPENDENCIES ++= SEQ( "COM.NETFLIX.RXJAVA" % "RXJAVA-SCALA" % "0.9.0" )
HTTPS://GITHUB.COM/BRENOFERREIRA/RXJAVATESTS
PERGUNTAS?
OBRIGADO! @breno_ferreira