Skip to content

Fluxo de Estados ​

Para garantir que a aplicação seja previsível e forneça uma boa experiência para o desenvolvedor, criados um fluxo de estados onde as funcionalidades se limitam em funcionamento, ou seja, dependendo do estado atual da aplicação, certas funcionalidades não podem ser executadas e certos elementos da interface também são omitidos.

Esse fluxo de estados não se limita somente as funcionalidades, ele ajuda também ao desenvolvedor, fornecendo a ela uma maneira de integrar o SDK com a sua solução de maneira reativa e orientada a eventos, ou seja, o desenvolvedor pode aguardar um determinado estado ocorrer, para executar certa ação na própria solução.

Diagrama de Fluxo ​

Abaixo, você pode ver o desenho para o diagrama de fluxo que nosso SDK segue para mudar entre estados.

Diagrama de Fluxo

Exemplos de Fluxos do Lado do Desenvolvedor ​

Abaixo você pode ver alguns exemplos de fluxos que você poderia implementar em sua solução usando o fluxo de estados da nossa SDK. Leve eles como uma sugestão para se inspirar, tenha em mente que o SDK é versátil o suficiente para você conseguir comportar suas funcionalidades em seu próprio fluxo de estados.

Repetir tradução a cada X tempos; ​

Esse fluxo pode ser útil quando você quer realizar uma tradução, e que ela se repita a cada X tempos. Um dicionário de palavras se beneficiaria disso, pois a ideia seria permitir a repetição da palavra para o entendimento do usuário.

Exemplo de fluxo Repetir tradução a cada X tempos

  1. Traduzo uma palavra: ready -> translating;
  2. Aguardo a tradução terminar: translating -> ready;
  3. Faço um timer de 5 segundos;
  4. Ao final do timer chamo a funcionalidade de repetição
  5. Repete o fluxo...

Maximizar, Traduzir, Minimizar; ​

Exemplo de fluxo Maximizar, Traduzir, Minimizar

Esse tipo de fluxo é interessante se você quiser que a janela de tradução só apareça traduzindo por curtos momentos. Esse tipo de fluxo economiza espaço e é muito aceito em locais como aplicações de chat.

  1. Minimizo a janela: ready -> minimized;
  2. Maximizo a janela: minimized -> ready;
  3. Traduzo uma frase: ready -> translating;
  4. Aguardo a tradução terminar: translating -> ready;
  5. Minimizo a janela: ready -> minimized;
  6. Repete o fluxo...

Lançado sob Licença MIT.