Developer

3 lições para evitar com suas APIs em aplicativos móveis

O que podemos aprender com a falha do aplicativo Iowa Caucus para nos ajudar com nossa estratégia para aplicativos móveis e gerenciamento de APIs?

O aplicativo móvel usado para as primárias das eleições americanas de 2020, Iowa Democratic Caucus, recebeu muita atenção no último ano porque a divulgação dos resultados foi atrasada devido a problemas com o sistema. Este não foi apenas um alerta para outras primárias dos EUA que estavam pensando em usar este aplicativo, mas também para empresas em todo o mundo, pois ninguém quer estar nas manchetes por esse tipo de erro evitável. O dano à sua reputação depois de algo assim não pode ser facilmente reparado.

Toda essa situação nos levam para o que sabemos agora:

Aplicativos móveis são complicados.

Se algo der errado com um site ou mesmo com uma API, você pode publicar uma versão atualizada sem que o usuário final esteja ciente disso. 

Não é assim com o celular. Se você lançar uma nova versão, a Apple e o Google podem levar horas ou dias para aprová-la e publicá-la. Mesmo que você o atualize rapidamente e esteja na loja de aplicativos horas depois, você não tem garantia de que o usuário final instalará a versão atualizada com a correção.

É por isso que é absolutamente essencial ter uma API, uma estratégia móvel e seguir as práticas recomendadas ao projetar, desenvolver e publicar seus aplicativos e APIs móveis.

Você pode não ter uma segunda chance.

Aqui está um pouco do que sabemos:

Plataforma:  Android

Nome:  IowaReporterApp

Descrição:  Distribuir os resultados do caucus primário para o local centralizado

Mobile Framework:  React Native

Editora:  Shadow, Inc.

Distribuição:  TestFairy (em oposição à Google Play e App Store)

Tempo de desenvolvimento:  2 meses

Então, quais são as escolhas inteligentes que minha empresa pode fazer para estar segura e evitar esses riscos?

1. Conheça a maturidade da sua estrutura móvel

Uma porcentagem muito alta de aplicativos móveis iOS e Android é escrita usando estruturas móveis nativas de plataforma cruzada. As razões para isso são muitas, mas, em resumo, economiza recursos (e dinheiro) das empresas, ao mesmo tempo em que oferece as vantagens de desempenho das soluções nativas da plataforma. Embora isso seja inteligente e a escolha certa, nem toda estrutura móvel nativa multiplataforma está no mesmo nível de maturidade.

O React Native (criado pelo Facebook) ainda não atingiu o marco de versão 1.0 e está atualmente na versão 0.61 no momento da publicação. O que isso pode significar é que ainda há coisas que não o tornam  “pronto para o lançamento”. Ainda assim, muitas empresas assumem esse risco porque é do Facebook ou porque querem usar a última novidade. Compare essa situação com a estrutura móvel Titanium Native, que faz parte da Plataforma Axway Amplify. A Titanium SDK está atualmente na versão 8.3.1 e está chegando aos 10 anos como uma escolha sólida para o desenvolvimento móvel nativo de plataforma cruzada.

O ponto, no entanto, não é que o aplicativo falhou porque foi escrito em React Native, mas que as empresas (consciente e inconscientemente) se expõem a riscos todos os dias, usando estruturas móveis que não são totalmente testadas e maduras.

2. Entenda as APIs e integrações

Você precisa perceber que está vendo apenas a ponta do icebergquando olha para o aplicativo móvel. Se você não entender isso, terá uma grande surpresa. APIs como sistemas não-humanos (sites, aplicativos móveis e na nuvem) conversam entre si. As APIs rodam o mundo e são usadas para autenticação, mensagens, dados financeiros, vídeo, conteúdo, comércio, B2B, B2C… essa lista continua. Há muitas coisas que você precisa estar ciente ao publicar APIs, mas algumas das principais preocupações são:

  • Segurança (como estou implementando políticas para que minhas APIs e dados estejam seguros);
  • Escalabilidade (como escalonar minhas APIs, se eu tiver muitos usuários);
  • Integrações (como minhas APIs se integram a outras APIs de forma rápida e confiável);

Se você não tiver uma estratégia de API ao projetar, desenvolver e publicar suas APIs, algo tende a dar errado. 

“Não tenho certeza se preciso do Gerenciamento de API!”

O Titanic também não achava que precisava de botes salva-vidas. Se você é uma empresa de médio a grande porte e não tem um plano para gerenciamento de API, adquira um. Comece pequeno, se precisar, mas o ponto é: comece.

As APIs e as integrações são uma parte silenciosa e invisível do sucesso (ou fracasso) de um aplicativo ou site para dispositivos móveis, e elas geralmente não recebem atenção suficiente até que seja tarde demais.

3. Teste, teste, teste

Quando os projetos começam a ultrapassar o orçamento ou tempo, o teste adequado geralmente é uma das primeiras coisas que são cortadas ou reduzidas. Suas APIs e aplicativos móveis precisam de um plano para isso, porque ter algumas pessoas usando o aplicativo aleatoriamente NÃO É TESTE!

Como um negócio empresarial, você deve ter planos de teste completos. Isso precisa ser criado por um Arquiteto de QA experiente e sênior. Se você está terceirizando seus testes, envolva-se para ver quem está criando o plano e tenha um segundo (ou terceiro) conjunto de olhos no rascunho e nos planos finais, para ter certeza de que é um plano sólido e completo.

Aqui estão algumas pistas do que pode faltar algo em seus planos de API e Mobile App Test:

  • Não incluir todos os cenários que o usuário pode ter no aplicativo móvel;
  • Não incluir todos os cenários em que a API pode ser usada;
  • Incluir apenas o “caminho feliz” (as tarefas mais provavelmente usadas pelos usuários);
  • Estar faltando testes negativos (o que acontece se uma entrada ruim for usada com mobile/API);
  • Não abordar a segurança;
  • Não incluir um plano para teste de carga de suas APIs com números muito maiores do que você esperaria usá-lo;
  • Você não se sentir completamente sobrecarregado depois de olhar para o grande número de coisas que precisam ser testadas.

Conclusão: tenha uma estratégia sólida e não dê nada como garantido!

Estratégias de API e Mobile são jornadas que você faz com muitos marcos ao longo do caminho. Eles crescerão e amadurecerão continuamente, assim como sua empresa também. Da mesma forma que você se adapta ao cenário de negócios em constante mudança, suas APIs e suas estratégias móveis precisarão se adaptar às novas tecnologias e ameaças que aparecem todos os dias.