react e reactividade meetup facebook developer circles

65
React e Reatividade by José Barbosa

Upload: jose-barbosa

Post on 12-Apr-2017

90 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: React e reactividade Meetup Facebook Developer Circles

React e Reatividade

by José Barbosa

Page 2: React e reactividade Meetup Facebook Developer Circles

Acompanhe nosso podcast:http://blog.lambda3.com.br/category/podcast

Page 3: React e reactividade Meetup Facebook Developer Circles

@kidchenko

https://twitter.com/kidchenko

Fullstack na Lambda3;DeveloperçAgilista;Empreendedor digital;Apaixonado por JS;

Page 4: React e reactividade Meetup Facebook Developer Circles
Page 5: React e reactividade Meetup Facebook Developer Circles
Page 6: React e reactividade Meetup Facebook Developer Circles

ANGULAR COMPONENTSTYLE

JOSÉ BARBOSA@kidchenko@lambdatres

Eu uso angular também, mas o assunto de hoje é...

Page 7: React e reactividade Meetup Facebook Developer Circles

As stack do facebook vai dominar a web!?

REACTREACTREACT

JOSÉ BARBOSA@kidchenko@lambdatres

Page 8: React e reactividade Meetup Facebook Developer Circles

Você já viu um manifesto?

Page 9: React e reactividade Meetup Facebook Developer Circles
Page 10: React e reactividade Meetup Facebook Developer Circles

Nós acreditamos que é necessária uma abordagem coerente para arquitetura de sistemas... ...nós queremos sistemas Responsivos, Resilientes, Elásticos e Orientados a Mensagens. Nós chamamos isso de Sistemas Reativos.

Essas transformações estão acontecendo por causa dos requisitos que mudaram drasticamente nos últimos anos... ...Hoje há aplicações em produção em todos os lugares, desde aplicativos móveis até aplicações na nuvem com clusters rodando milhares processadores multi-core. Geralmente os usuários esperam respostas em milisegundos e 100% de disponibilidade.

– The Reactive Manifesto

Page 11: React e reactividade Meetup Facebook Developer Circles

Onde existe uma tela...

Page 12: React e reactividade Meetup Facebook Developer Circles

1995-2015

Page 13: React e reactividade Meetup Facebook Developer Circles

Os 4 princípios reativos

Page 14: React e reactividade Meetup Facebook Developer Circles

Responsive• Que responde em tempo hábil;• Uma aplicação responsiva é o que queremos;• Responsividade é impossível sem escalabilidade e resiliência;

“A responsive system is quick to react to all users — under blue skies and grey skies — in order to ensure a consistently positive user experience.”

Page 15: React e reactividade Meetup Facebook Developer Circles

:c

Page 16: React e reactividade Meetup Facebook Developer Circles
Page 17: React e reactividade Meetup Facebook Developer Circles
Page 18: React e reactividade Meetup Facebook Developer Circles

Resilient• O sistema continua respondendo em caso de falha;• Qualquer sistema que não é resiliente ficará fora do ar depois de uma

falha;

Page 19: React e reactividade Meetup Facebook Developer Circles
Page 20: React e reactividade Meetup Facebook Developer Circles

Elastic/Scale• O sistema continua responsivo mesmo sob variações de demanda;• Projetos que não tenham pontos de contenção ou gargalos centrais;• Prove métricas relevantes e em tempo real;

Page 21: React e reactividade Meetup Facebook Developer Circles

Message Driven• Não bloqueante;• Programação Assíncronia;• Message-driven = event-driven, actor-based, ou combinação das

duas;

Page 22: React e reactividade Meetup Facebook Developer Circles
Page 23: React e reactividade Meetup Facebook Developer Circles

Event Driven

Page 24: React e reactividade Meetup Facebook Developer Circles
Page 25: React e reactividade Meetup Facebook Developer Circles

Programação Reativa é?

“Reactive programming is programming with asynchronous data streams.”

Page 26: React e reactividade Meetup Facebook Developer Circles

Stream?

“A stream is a sequence of ongoing events ordered in time”

Page 27: React e reactividade Meetup Facebook Developer Circles
Page 28: React e reactividade Meetup Facebook Developer Circles

“Anything can be a stream: variables, user inputs, properties, caches, data structures, etc.”

Page 29: React e reactividade Meetup Facebook Developer Circles
Page 30: React e reactividade Meetup Facebook Developer Circles
Page 31: React e reactividade Meetup Facebook Developer Circles
Page 32: React e reactividade Meetup Facebook Developer Circles
Page 33: React e reactividade Meetup Facebook Developer Circles

Observables

• Não é nada novo;

Page 34: React e reactividade Meetup Facebook Developer Circles
Page 35: React e reactividade Meetup Facebook Developer Circles

Streams are like you twitter feed

Page 36: React e reactividade Meetup Facebook Developer Circles

Streams vs Collections

Page 37: React e reactividade Meetup Facebook Developer Circles

• Você pode fazer “merge” de duas streams. Você pode fazer “filter”, “map”• Streams são o centro da reatividade

Page 38: React e reactividade Meetup Facebook Developer Circles
Page 39: React e reactividade Meetup Facebook Developer Circles

Trends?

Page 40: React e reactividade Meetup Facebook Developer Circles

Porque react?• Declarativo;• V do MV*;• Componentes!!!• Virtual DOM

Page 41: React e reactividade Meetup Facebook Developer Circles
Page 42: React e reactividade Meetup Facebook Developer Circles

Declarative

Page 43: React e reactividade Meetup Facebook Developer Circles

Imperative

Page 44: React e reactividade Meetup Facebook Developer Circles

http://blog.percolatestudio.com/engineering/reactive-user-interfaces/

Page 45: React e reactividade Meetup Facebook Developer Circles

http://blog.thefirehoseproject.com/posts/elixirl-rule-development-2017-2020-beyond/

Page 46: React e reactividade Meetup Facebook Developer Circles
Page 47: React e reactividade Meetup Facebook Developer Circles

Virtual DOM• FAST! FAST! FAST!• Isomorfismo;

Page 48: React e reactividade Meetup Facebook Developer Circles
Page 49: React e reactividade Meetup Facebook Developer Circles
Page 50: React e reactividade Meetup Facebook Developer Circles
Page 51: React e reactividade Meetup Facebook Developer Circles
Page 52: React e reactividade Meetup Facebook Developer Circles
Page 53: React e reactividade Meetup Facebook Developer Circles
Page 54: React e reactividade Meetup Facebook Developer Circles
Page 55: React e reactividade Meetup Facebook Developer Circles

React Compoent Lifecycle

Page 56: React e reactividade Meetup Facebook Developer Circles

webpack

Page 57: React e reactividade Meetup Facebook Developer Circles

React Native

Page 58: React e reactividade Meetup Facebook Developer Circles

F8 App

Page 59: React e reactividade Meetup Facebook Developer Circles
Page 60: React e reactividade Meetup Facebook Developer Circles
Page 61: React e reactividade Meetup Facebook Developer Circles
Page 62: React e reactividade Meetup Facebook Developer Circles
Page 63: React e reactividade Meetup Facebook Developer Circles
Page 65: React e reactividade Meetup Facebook Developer Circles

Duvidas?

Obrigado!@kidchenko

https://twitter.com/kidchenkom.me/kidchenko