SlideShare uma empresa Scribd logo
Globalcode – Open4education
Programando interfaces reativas
com Xamarin e ReactiveUI
Mahmoud Ali
Desenvolvedor @ Lambda3
Globalcode – Open4education
Interface Reativas
Usuários esperam interfaces reativas e respostas
em milisegundos e 100% de disponibilidade
Seu sistema precisa ser resistente a falhas
http://www.reactivemanifesto.org/pt-BR
Globalcode – Open4education
Reactive Extensions (Rx)
Reactive Extensions é uma biblioteca para compor
programas assíncronos e orientados a eventos
utilizando observables e operadores LINQ-style.
Globalcode – Open4education
Reactive Extensions
Criado pela Microsoft pelo
mesmo time de desenvolvedores
do LINQ
“LINQ para eventos”
Conceitos de paradigma
funcional
Utiliza o design pattern: Observer
Portada para várias linguagens:
Javascript, Java, Ruby, Python...
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-based
Podem ser transformados de diversas maneiras
Globalcode – Open4education
Streams
Quem quiser tratar o conteúdo que está passando
pela esteira precisa dar um subscribe
No padrão Observer: o stream (IObservable) é o
subject, o subscriber é o observer
Emite três estados: OnNext, OnError e
OnCompleted
São disposables
Globalcode – Open4education
Streams
https://gist.github.com/staltz/868e7e9bc2a7b8c1f754
Globalcode – Open4education
Streams
Tudo pode ser transformado em um stream:
Cliques de mouse
Teclas digitadas
Tasks assíncronas
Timers
Inclusive streams
Globalcode – Open4education
Streams
https://gist.github.com/staltz/868e7e9bc2a7b8c1f754
Globalcode – Open4education
Onde usar?
Eventos que dependem de infraestrutura
(filewatcher)
Eventos real-time
Eventos de UI
Streams (ex.: rede)
Globalcode – Open4education
Quem está usando?
Globalcode – Open4education
Demo: Rx
Globalcode – Open4education
Observable.Range
Globalcode – Open4education
Throttle
Globalcode – Open4education
Buffer
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
Globalcode – Open4education
ReactiveUI
Também é um framework MVVM
Globalcode – Open4education
ReactiveUI
Disponibiliza uma série de helpers para facilitar a
criação das interfaces:
Bind
ObservableAsPropertyHelper
ReactiveCommands
ReactiveAdapters
Globalcode – Open4education
Demo: ReactiveUI
Globalcode – Open4education
DistinctUntilChanged
Globalcode – Open4education
Switch
Globalcode – Open4education
Referências
The introduction to Reactive Programming you've be
http://rxmarbles.com/
http://www.introtorx.com/
https://reactivex.slack.com/
http://reactiveui.net/
https://goo.gl/KazgWp
https://github.com/akamud/HackDaysRxUI
Globalcode – Open4education
Obrigado!
@akamud

Mais conteúdo relacionado

PDF
Programando interfaces reativas com Xamarin e Reactive UI
PPTX
Aplicativos Híbridos e Xamarin Test Cloud
PPTX
Publiquei meu site e não funcionou, e agora?
PPTX
Soluções escaláveis com Microsoft Orleans
PDF
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
PPTX
Animation com Xamarin.Forms e Custom Renderers
PPTX
100% de código compartilhado com Xamarin.Forms
PPTX
Animation com Xamarin.Forms e Custom Renderers
Programando interfaces reativas com Xamarin e Reactive UI
Aplicativos Híbridos e Xamarin Test Cloud
Publiquei meu site e não funcionou, e agora?
Soluções escaláveis com Microsoft Orleans
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Animation com Xamarin.Forms e Custom Renderers
100% de código compartilhado com Xamarin.Forms
Animation com Xamarin.Forms e Custom Renderers

Semelhante a Programando interfaces reativas com ReacitveUI na plataforma Xamarin (20)

PDF
Java programação orientada a objetos
PPTX
Introdução ao Habitat
PDF
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
PDF
TDC 2012 Trilha – Android University
PPTX
ASP.NET vNext no .NET Architects Days 2014
PPT
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
PDF
Um método para o desenvolvimento de software baseado em microsserviços
PPTX
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
PDF
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
PPTX
NodeJS - Tutorial de forma simples e pratica.
PPTX
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
PPTX
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
PPTX
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
PDF
Microservices reativos e a experiência do iFood
PDF
Devcamp 2017 Microservices Reativos
PDF
QCon SP 2017 - Reactive Microservices e a experiência do iFood
PDF
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
PPT
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
PDF
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
Java programação orientada a objetos
Introdução ao Habitat
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2012 Trilha – Android University
ASP.NET vNext no .NET Architects Days 2014
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Um método para o desenvolvimento de software baseado em microsserviços
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
NodeJS - Tutorial de forma simples e pratica.
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Microservices reativos e a experiência do iFood
Devcamp 2017 Microservices Reativos
QCon SP 2017 - Reactive Microservices e a experiência do iFood
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
Anúncio

Mais de akamud (20)

PDF
.NET 6: O que há de novo e o que está por vir?
PDF
Hacktoberfest - Contribuindo com Open Source
PPTX
Automatizando os testes da sua aplicação hoje
PPTX
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
PPTX
.NET MAUI - O futuro do desenvolvimento de apps no .NET
PPTX
Azure DevOps + App Center: DevOps multi-staging para seu app
PDF
O Futuro do .NET
PPTX
Interfaces reativas com ReactiveUI no Xamarin.Forms
PPTX
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
PPTX
Mobile Development Simplified with Xamarin
PPTX
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
PPTX
Desenvolvimento cross-platform em C# com Xamarin - 2018
PPTX
O que há de novo no Xamarin.Forms
PPTX
Xamarin em 7 minutos
PDF
Automatizando tudo no mundo mobile com fastlane
PPTX
Tornando o Xamarin.Forms ainda melhor com Prism
PPTX
Animações com Xamarin.Forms
PPTX
Instrumentação completa com Visual Studio Mobile Center
PPTX
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
PPTX
Aumentando reaproveitamento de código com MvvmCross
.NET 6: O que há de novo e o que está por vir?
Hacktoberfest - Contribuindo com Open Source
Automatizando os testes da sua aplicação hoje
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
.NET MAUI - O futuro do desenvolvimento de apps no .NET
Azure DevOps + App Center: DevOps multi-staging para seu app
O Futuro do .NET
Interfaces reativas com ReactiveUI no Xamarin.Forms
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Mobile Development Simplified with Xamarin
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Desenvolvimento cross-platform em C# com Xamarin - 2018
O que há de novo no Xamarin.Forms
Xamarin em 7 minutos
Automatizando tudo no mundo mobile com fastlane
Tornando o Xamarin.Forms ainda melhor com Prism
Animações com Xamarin.Forms
Instrumentação completa com Visual Studio Mobile Center
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Aumentando reaproveitamento de código com MvvmCross
Anúncio

Último (7)

PDF
Evolução em código: algoritmos genéticos com PHP
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
apresentacao introducao computacao ead.pdf
PPTX
Curso de Windows 11 resumido na prática.pptx
Evolução em código: algoritmos genéticos com PHP
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Dos requisitos ao código: como criar código rastreável em PHP
Mapeamento de Objeto para Tabela Relacional
apresentacao introducao computacao ead.pdf
Curso de Windows 11 resumido na prática.pptx

Programando interfaces reativas com ReacitveUI na plataforma Xamarin