fbpx

Programação Reativa (Reactive Programming) vem ganhando cada vez mais popularidade e tem sido cada vez mais utilizada por organizações ao redor do mundo para criar aplicações altamente disponíveis e de baixa latência.

Em 16 de Setembro de 2014 foi lançado o Manifesto Reativo (Reactive Manifesto) que apresenta os princípios da Programação Reativa. Em Novembro de 2014, o Coursera lançou um curso sobre o assunto, e já houve até uma conferência dedicada ao Tema, a React 2014 que ocorreu em São Francisco na Califórnia.

Bibliotecas em diferentes linguagens de programação vem surgindo para facilitar o desenvolvimento de software nesse paradigma: React para Javascript, Reactor, RxJava, Netty Akka, para Java, Reactive Extensions para .NET, Rx.rb para Ruby, além muitas outras iniciativas.

O principal apelo para a adoção desse paradigma de programação é o contínuo crescimento da Internet nos mais diversos aspectos como maior quantidade de usuários, maior quantidade de requests, mais dados, e maior exigência de performance e tempo de resposta, além da intolerância a downtime e maior quantidade de nós de servidores por aplicação necessários para atender a toda essa demanda.

A programação reativa tem 4 pilares:

reactive

Elástico: Reage à demanda/carga: aplicações podem fazer uso de múltiplos cores e múltiplos servidores.

Resiliente: Reage à falhas, aplicações reagem e se recuperam de falhas de software, hardware, e de conectividade.

Message Driven: Reage à eventos (event driven): em vez de compor aplicações por múltiplas threads síncrona, sistemas são compostos de gerenciadores de eventos assíncronos e não bloqueantes.

Responsivo: Reage à usuários: aplicações que oferecem interações ricas e “tempo real” com usuários

Para aprender mais, veja esses vídeos de Martin Odersky (criador da linguagem Scala)

Para ter uma compreensão mais avançada do assunto, descobrir algumas empresas que vêm investindo em programação reativa e incluir ver uma implementação de exemplo, recomendo ver essa apresentação de Jon Brisbin e Stephane Maldini no evento SpringOneGX 2014.

Programação Reativa com Netflix OSS 

A Netflix promoveu um encontro no qual aconteceram diversas palestras sobre Programação Reativa, veja o vídeo e slides do Meetup da Netflix OSS realizado em Julho de 2014:

Livros

Bestseller No. 1
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications (English Edition)
  • Tomasz Nurkiewicz, Ben Christensen
  • O'Reilly Media
  • eBook Kindle
  • Edition no. 1 (10/06/2016)
  • Inglês
Bestseller No. 3
Reactive Programming on Android with RxJava (English Edition)
  • Christopher Arriola, Angus Huang
  • eBook Kindle
  • Inglês
Bestseller No. 4
Bestseller No. 5
Hands-On Reactive Programming in Spring 5: Build cloud-ready, reactive systems with Spring 5 and Project Reactor (English Edition)
  • Oleh Dokuka, Igor Lozynskyi
  • Packt Publishing
  • eBook Kindle
  • Edition no. 1 (10/08/2018)
  • Inglês

Aprenda mais

Sua vez

Ainda há pouco conteúdo sobre o assunto, especialmente em português. Que tal você começar deixando um qui comentário sobre suas impressões Reactive Programming? Além disso, te convido a testar o paradigma conhecer as bibliotecas open source, e também compartilhar o que descobrir e aprender.

Share This