Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Redux.swift in Belo Horizonte

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Redux.swift in Belo Horizonte

Speaking at the 15th CocoaTalks BH about Redux in Swift, and about writing iOS apps using Redux.swift, Sympla-style.

Avatar for Fellipe Caetano

Fellipe Caetano

February 01, 2017
Tweet

More Decks by Fellipe Caetano

Other Decks in Programming

Transcript

  1. O que é Redux? “ Redux is a predictable state

    container for […] apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
  2. Princípios Existe uma única fonte de verdade O estado da

    aplicação inteira é armazenado em uma única árvore de objetos de forma centralizada
  3. Princípios O estado é read-only A única maneira de alterar

    o estado da aplicação é emitindo ações: objetos que descrevem um acontecimento
  4. Princípios As alterações são descritas por funções puras* Para especificar

    como a árvore de estados é transformada pelas ações, escrevemos funções puras chamadas "reducers" *Funções puras sempre retornam o mesmo valor para a mesma lista de parâmetros, e não promovem efeitos colaterais
  5. Actions Actions são payloads de informação que são usados para

    transmitir dados da aplicação para o armazém de estado Em geral, actions em Swift são implementadas como enums
  6. Reducers Reducers tem a responsabilidade de decidir como o estado

    da aplicação muda de acordo com cada ação Em geral, reducers são simplesmente funções com uma assinatura bem definida:
  7. Reducers Sendo funções puras, reducers não podem nem devem alterar

    o estado diretamente Em vez disso, para cada action, um reducer retorna uma nova instância do estado refletindo as alterações necessárias para aquela action
  8. Store A store de uma aplicação Redux é o componente

    que centraliza as interações entre reducers e actions
 
 As responsabilidade de uma store são variadas mas giram em torno de um objetivo comum: armazenar e proteger o estado de acessos diretos
  9. Store As responsabilidades de uma store são: •Armazenar o estado

    da aplicação; •Permitir a atualização do estado através do despacho de ações; •Notificar clientes interessados na atualização do estado;
  10. Fluxo de dados A arquitetura de uma aplicação Redux atinge

    previsibilidade ao unir actions, reducers e a store em um fluxo estritamente unidirecional de dados Em outras palavras, todo dado que transita pelas camadas da aplicação segue o mesmo padrão de ciclo de vida, e a lógica da aplicação fica mais fácil de entender
  11. Sobre mim @fellipe @fellipecaetano /fellipecaetano • Líder em desenvolvimento iOS

    na Sympla • 6 anos de experiência com tecnologias Apple • Campineiro de nascença e residência • Ex-Movile e ex-Dextra • Graduando em Ciência da Computação pela UNICAMP • Preguiça do Universo Expandido de Star Wars • Otaku e Pottermaníaco
  12. Sobre a Sympla A Sympla é uma plataforma de eventos

    “do it yourself” que nasceu em BH em idos de 2012 para se tornar a plataforma com o maior número de eventos do Brasil. Nossa solução dá aos organizadores e produtores de evento todas as ferramentas necessárias para gestão de eventos de qualquer porte e segmento: shows, festas, cursos, congressos, eventos esportivos, religiosos, gastronômicos e outros. Nossa presença mobile começou em 2016, em menos de um ano fomos duas vezes destaques na App Store (com direito a arte promocional e tudo ) e estamos só começando. Em nome da #FamiliaSympla, muito obrigado /sympla @sympla sympla.com.br