Top Banner
TELEPATHY+QT APLICATIVOS DE MENSAGENS Gustavo Boiko – SUSE [email protected]
24

MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

Jul 26, 2018

Download

Documents

trantruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

TELEPATHY+QT APLICATIVOS DE MENSAGENSGustavo Boiko – [email protected]

Page 2: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OLÁ!

Quem é Gustavo Boiko?

Page 3: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

1.SOBRE O QUE VAMOS CONVERSAR?

Page 4: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

SERVIÇOS DE VOZ, VÍDEO E MENSAGENS CADA VEZ MAIS POPULARES

Page 5: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

APLICATIVOS INTEGRANDO MÚLTIPLOS SERVIÇOS

● Cada desktop tem um● Experiência unificada● Integrado ao ambiente

Page 6: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

INTEGRAÇÃO AO AMBIENTE

Page 7: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

AÍ COMEÇAM OS PROBLEMAS!!!

▸ Serviços com API e funcionalidades diferentes▸ Cada aplicativo precisa reimplementar tudo▸ Atualizações nos serviços “quebram” e causam

inconsistências

Page 8: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

TELEPATHY!!

Page 9: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

API UNIFICADA PARA ACESSAR SERVIÇOS

TELEPATHY

JABBER TELEGRAMVOIP

Page 10: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

PRINCIPAIS ASPECTOS

▸ Design modular▸ Fácil substituição de componentes▸ Divisão de tarefas▸ Componentes isolados

Page 11: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

VISÃO GERAL

Cliente

Mediador Central

Protocolo

Cliente

Protocolo

Page 12: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OS PROTOCOLOS

▸ Serviços são definidos como Protocolos▸ Instâncias do protocolo são Contas▸ Capacidades gerais▸ Capacidades extras por Conta

Page 13: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OS CLIENTES

Observadores

Tratadores

Aprovadores

Page 14: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OS CLIENTES

Observadores

● “read-only”

● Histórico

● Indicador

● Notificação em Tela

Page 15: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OS CLIENTES

Tratadores

● Interagem com serviços

● Janela de chat

● Janela de vídeo

● Lista de contatos

Page 16: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OS CLIENTES

Aprovadores

Page 17: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

MISSION CONTROL

Page 18: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos
Page 19: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

TELEPATHY QT

▸ Telepathy é definido na camada IPC (DBus)▸ Converte a API do Telepathy em algo Qt-friendly▸ Operações assíncronas▸ Introspecção seletiva▸ Classes para tarefas simples

Page 20: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

CHAMADAS ASSÍNCRONAS

▸ Chamadas baseadas em PendingObjects, exemplo:

PendingChannelReady *pr;pr = account->ensureTextChat(“[email protected]”);

connect(pr, &Tp::PendingObject::finished, this, &onTextChatRequestFinished);

// controle retorna para o loop de eventos

Page 21: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

INTROSPECÇÃO SELETIVA

▸ Prepara objetos para o uso baseado em “Features”:

callChannel->becomeReady(FeatureCallState | FeatureCallMembers);

▸ Evita tráfego desnecessário entre processos

Page 22: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

CLASSES PARA TAREFAS SIMPLES

Exemplos:

▸ Tp::SimpleTextObserver

▸ Tp::ContactMessenger

Page 23: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

EXEMPLO: PASSOS PARA IMPLEMENTAR UM OBSERVADOR

▸ Preparar recursos do Tp::AccountManager▸ Criar uma classe herdando de Tp::AbstractClientObserver▸ Reimplementar o método observeChannels()▸ Informar a lista de filtros de canais a observar▸ Registrar o observador com Tp::ClientRegistrar::registerClient()

Page 24: MENSAGENS APLICATIVOS DE TELEPATHY+QT · AÍ COMEÇAM OS PROBLEMAS!!! Serviços com API e funcionalidades diferentes Cada aplicativo precisa reimplementar tudo Atualizações nos

OBRIGADO!

Perguntas?Gustavo Boiko @gustavoboiko & [email protected]