RxJava

 RxJava

Palestra sobre RxJava na trilha de Scala do TDC 2013 em SP

22cac40ebe7d9e1e7854ea9808debd7b?s=128

Breno Ferreira

July 13, 2013
Tweet

Transcript

  1. PROGRAMAÇÃO REATIVA COM RXJAVA Breno Ferreira @breno_ferreira http://www.github.com/brenoferreira

  2. FUNCTIONAL REACTIVE PROGRAMMING

  3. NA MAIOR PARTE DO TEMPO, ESTAMOS REAGINDO AO AMBIENTE

  4. • Dados de geolocalização (GPS) • Push notifications • Eventos

    complexos
  5. ITERATOR VS OBSERVER interface IEnumerable<T> { IEnumerator<T> GetEnumerator(); } interface

    IEnumerator<T> { bool MoveNext(); //throws Ex T Current { get; } }
  6. ITERATOR VS OBSERVER interface IObservable<T> { IEnumerator<T> GetEnumerator(); } interface

    IEnumerator<T> { bool MoveNext(); //throws Ex T Current { get; } }
  7. ITERATOR VS OBSERVER interface IObservable<T> { IEnumerator<T> GetEnumerator(); } interface

    IObserver<T> { bool MoveNext(); //throws Ex T Current { get; } }
  8. ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }

    interface IObserver<T> { bool MoveNext(); //throws Ex T Current { get; } }
  9. ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }

    interface IObserver<T> { void OnNext(T item) T Current { get; } }
  10. ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }

    interface IObserver<T> { void OnNext(T item) void OnError(Exception ex) }
  11. ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }

    interface IObserver<T> { void OnNext(T item) void OnError(Exception ex) void OnCompleted() }
  12. 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
  13. RXJAVA Implementação do Rx for .NET em Java Feito pela

    Netflix Adaptors para Scala, Groovy, Clojure, JRuby
  14. HTTP://GITHUB.COM/NETFLIX/RXJAVA

  15. LIBRARYDEPENDENCIES ++= SEQ( "COM.NETFLIX.RXJAVA" % "RXJAVA-SCALA" % "0.9.0" )

  16. HTTPS://GITHUB.COM/BRENOFERREIRA/RXJAVATESTS

  17. PERGUNTAS?

  18. OBRIGADO! @breno_ferreira