+ All Categories
Home > Software > Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Date post: 08-Jan-2017
Category:
Upload: akamud
View: 224 times
Download: 0 times
Share this document with a friend
23
Globalcode – Open4education Programando interfaces reativas com Xamarin e ReactiveUI Mahmoud Ali Desenvolvedor @ Lambda3
Transcript
Page 1: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Programando interfaces reativas com Xamarin e ReactiveUI

Mahmoud AliDesenvolvedor @ Lambda3

Page 2: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Interface Reativas

Usuários esperam interfaces reativas e respostas em milisegundos e 100% de disponibilidadeSeu sistema precisa ser resistente a falhas

http://www.reactivemanifesto.org/pt-BR

Page 3: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Reactive Extensions (Rx)

Reactive Extensions é uma biblioteca para compor programas assíncronos e orientados a eventos utilizando observables e operadores LINQ-style.

Page 4: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Reactive Extensions

Criado pela Microsoft pelo mesmo time de desenvolvedores do LINQ“LINQ para eventos”Conceitos de paradigma funcionalUtiliza o design pattern: ObserverPortada para várias linguagens: Javascript, Java, Ruby, Python...

Page 5: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Streams

Funciona como uma esteira de produçãoÉ uma sequência de eventos ordenados por tempoÉ a base do Rx (IObservable<T> no .NET)É assíncrono e push-basedPodem ser transformados de diversas maneiras

Page 6: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Streams

Quem quiser tratar o conteúdo que está passando pela esteira precisa dar um subscribeNo padrão Observer: o stream (IObservable) é o subject, o subscriber é o observerEmite três estados: OnNext, OnError e OnCompletedSão disposables

Page 7: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Streams

https://gist.github.com/staltz/868e7e9bc2a7b8c1f754

Page 8: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Streams

Tudo pode ser transformado em um stream:Cliques de mouseTeclas digitadasTasks assíncronasTimersInclusive streams

Page 9: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Streams

https://gist.github.com/staltz/868e7e9bc2a7b8c1f754

Page 10: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Onde usar?

Eventos que dependem de infraestrutura (filewatcher)Eventos real-timeEventos de UIStreams (ex.: rede)

Page 11: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Quem está usando?

Page 12: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Demo: Rx

Page 13: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Observable.Range

Page 14: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Throttle

Page 15: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Buffer

Page 16: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

ReactiveUI (RxUI)

Framework open source para facilitar a utilização de Rx na criação de interfaces reativas em qualquer plataforma, reaproveitando código

Page 17: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

ReactiveUI

Também é um framework MVVM

Page 18: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

ReactiveUI

Disponibiliza uma série de helpers para facilitar a criação das interfaces:

BindObservableAsPropertyHelperReactiveCommandsReactiveAdapters

Page 19: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Demo: ReactiveUI

Page 20: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

DistinctUntilChanged

Page 21: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Switch

Page 22: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Referências

The introduction to Reactive Programming you've been missinghttp://rxmarbles.com/ http://www.introtorx.com/https://reactivex.slack.com/http://reactiveui.net/https://goo.gl/KazgWphttps://github.com/akamud/HackDaysRxUI

Page 23: Programando interfaces reativas com ReacitveUI na plataforma Xamarin

Globalcode – Open4education

Obrigado!@akamud


Recommended