Como a multiplataforma conduzirá o futuro da interface com o usuário?

A necessidade de acessar as mesmas informações através de diversos dispositivos diferentes é uma demanda que só tende a crescer nos próximos anos

Author Photo
2:45 pm - 20 de maio de 2019

A limitação física de armazenagem de dados, associada à computação em nuvem cada vez mais barata permite agora concentrar nossas vidas em contas virtuais, que se fazem disponíveis em qualquer dispositivo com acesso à internet.

As particularidades de cada dispositivo são uma barreira aos provedores, que precisam se dedicar ao desenvolvimento de interfaces distintas para cada cenário. Isso vem popularizando o termo “multiplataforma”.

A multiplataforma tornou-se viável na indústria tecnológica com a popularização de arquiteturas de software que segmentam a aplicação em camadas. A arquitetura mais popular é a MVC (Model-view-controller) que, embora exista desde 1979, passou a ser utilizada em larga escala com o advento do AJAX – método de transação de dados capaz de permitir a renderização de páginas web sem necessidade de recarregamento de páginas HTML – em 2006 nas aplicações web.

A MVC, basicamente, divide a aplicação em três camadas distintas, as quais podem ser desenvolvidas e evoluídas separadamente:

• Model, ou modelo, é onde se concentram os dados e principais regras de negócio. Evoluções nessa camada costumam ser essenciais para novas funcionalidades do projeto. Trata-se do coração da aplicação;

• View, ou visão, é a forma como o usuário final visualiza a aplicação e interage com uma determinada finalidade. É muito comum que cada dispositivo possua uma visão diferente, e não necessariamente tenha acesso a todas as regras de negócio do modelo;

• Controller, ou controlador, é a camada responsável pela transação de dados entre ‘model’ e ‘view’. É o ‘controller’ que recebe interações do usuário a partir da ‘view’ e envia os dados para que uma ação esperada aconteça.
Usando um exemplo prático de aplicação multiplataforma, pensemos no aplicativo e website do seu banco e numa finalidade hipotética: pagar uma conta em atraso.

• Você pode escolher uma das duas ‘views’ disponíveis: aplicativo ou website;

• Independente da escolha, para ambos você precisa efetuar login;

• Quando efetua o login, o acesso é exatamente no mesmo sistema, independente da interface;

Cada view foi desenvolvida de forma distinta, mas o controller recebe os dados da mesma maneira:

• O botão “Pagar conta” vai estar por ali. No aplicativo de uma forma, no website de outra;

• Ao acessar, no celular você tem o recurso da leitura de códigos de barras. Já no computador, o ‘copy-paste’ é uma mão na roda. Em muitos casos, sua ‘view’ preferida tende a ser aquela que proporciona mais conforto. No primeiro caso para um boleto digital e no segundo para um impresso. Legal!

• Independente da ‘view’ e do formato, a numeração do boleto é a mesma. O código de barras está dentro da interface e você clica/toca em “enviar”;

• Nesse momento, a ‘view’ envia seu código de barras ao ‘controller’, que normaliza os valores e envia para o model, que vai buscar por aquele número de boleto no banco de dados;

• O ‘model’ responde para o ‘controller’: encontrei o boleto, mas está com a data vencida. Aqui está o cálculo dos juros e multa;

• O ‘controller’, recém-atualizado, já recebe a informação, calcula os juros e multa, e informa à view;

• O website (mais antigo) ainda não sabe que esses cálculos existem. Se resume a dar a má notícia com uma mensagem de erro, e pede para o usuário calcular e preencher multa e juros manualmente. Faz-se necessária uma consulta ao boleto e, com uma calculadora em mãos, o usuário se arrisca nos cálculos;

• Já o aplicativo (mais recente) está preparado para receber essas informações adicionais e, automaticamente faz o cálculo dos juros, deixando o usuário a um clique de finalizar o processo;

• Depois da autenticação por senha, o processo se finaliza.

O exemplo serve para mostrar o ciclo de vida de cada uma das camadas. Enquanto as ‘views’ mudam com grande velocidade para acompanhar as tecnologias móveis, as regras de negócios são mantidas, com pequenas evoluções para que a experiência do usuário seja melhorada em versões mais recentes de interfaces. Com isso os sistemas deixaram de sofrer grandes reformulações, e passaram a disponibilizar ‘controllers’ cada vez mais sofisticados.

Com a popularização da realidade virtual e realidade aumentada, as ‘views’ serão cada vez mais imersivas, enquanto funções triviais poderão perpetuar em ‘controllers’. A experiência de escolher um sofá, que o comprador pode ver virtualmente em sua sala de estar será muito cômoda e assertiva, porém o ‘model’ continuará processando uma venda da mesma maneira.

Evoluções no núcleo do sistema serão focadas em outros pontos de interesse para o negócio, como a produção, logística e preparo para ações de pós-vendas. Cada uma das iniciativas, demandando evoluções no ‘controller’e desenvolvimento de suas respectivas views. Embora as evoluções mais significativas das aplicações multiplataformas tenham se destacado nas ‘views’, uma tendência crescente é a de que o maior passo na evolução de interfaces com usuários para a próxima década esteja na introdução de inteligência artificial *(IA) ao ‘controller’.

Os algoritmos genéticos, que otimizam resolução de problemas e possuem capacidade de aprendizado cada vez mais eficiente, já oferecem experiências impressionantes através de comandos de texto e de voz. E tudo leva a crer que tecnologias usadas por Tony Stark estejam cada vez mais próximas de fazer parte do nosso cotidiano. Com menos foguetes e titânio, claro.

*Will Soares é formado pela Faculdade Cásper Líbero. Pós-graduado pela FIA, fundador da Ever

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.