Desenvolvimento Mobile ou Web: a integração de dispositivos para uma experiência omnichannel
Em 1977, Ken Olsen, fundador da DEC – Digital Equipment Corporation –, proferiu a frase “There is no reason anyone would want a computer in their home” (em tradução livre: “Não há motivo para alguém querer um computador em sua casa”). Já em 2007, a Apple confirmou que Olsen estava equivocado ao apresentar o primeiro iPhone, o “computador portátil” que deu um novo fôlego ao desenvolvimento mobile.
Pela primeira vez na história, o iPhone e suas variantes possibilitaram que o computador se tornasse verdadeiramente “móvel”, proporcionando aos usuários acesso completo e fácil à internet e outras funcionalidades por meio de um simples dispositivo no bolso. Um simples dispositivo que revolucionou o mercado e mudou completamente a forma como vemos o mundo
Sumário
- 1 Desenvolvimento mobile: como chegamos até aqui?
- 2 Por que a estratégia omnichannel é fundamental para o sucesso no desenvolvimento mobile?
- 3 Implementação de tecnologia: quais as principais diferenças entre o desenvolvimento web e o desenvolvimento mobile?
- 4 Então, como equilibrar recursos e entregar um serviço de qualidade no desenvolvimento mobile?
Desenvolvimento mobile: como chegamos até aqui?
A chegada dos smartphones trouxe consigo um acesso ao consumo digital que, embora não fosse inexistente anteriormente, era mais limitado. A necessidade de um computador, seja um desktop ou um notebook, combinado com uma conexão à internet, gradualmente deu lugar a um aparelho que a maioria das pessoas teria ao seu alcance – o smartphone pessoal.
Desde novembro de 2016, os dispositivos mobile se tornaram a principal forma de acesso à internet em escala global, com uma estimativa de 67,81% em 2023. Assim, o consumo mobile deixou de ser apenas uma opção conveniente para os usuários, tornando-se a preferência predominante.
Com esse novo cenário de possibilidades e oportunidades, a lei da demanda e oferta se direcionou para atender às necessidades desse público. Surgiram, então, sites responsivos, campanhas direcionadas a esse público específico e aplicativos móveis. O mercado passou a considerar o usuário de smartphone como o principal alvo para a conversão de produtos e serviços, e o desenvolvimento mobile, uma prioridade.
No entanto, apesar dos números expressivos, os smartphones não são o único canal de consumo mobile utilizado pelos usuários. É importante não negligenciar outros dispositivos, como smartwatches e tablets, por exemplo.
Por essa razão, ao focar o desenvolvimento mobile exclusivamente em um único segmento, o mercado estaria deixando de oferecer soluções que seus usuários consomem em outros dispositivos, o que facilmente poderia levar à perda de oportunidades e, consequentemente, queda de receita. É nesse contexto que nasce o conceito de experiência omnichannel.
Por que a estratégia omnichannel é fundamental para o sucesso no desenvolvimento mobile?
Antes de falar em estratégias, vamos primeiro entender o que é omnichannel: se você oferta uma experiência de marketing, venda e/ou suporte em múltiplos canais, você está oferecendo uma experiência omnichannel ao seu consumidor.
Cada canal pode – e deve – ter sua própria estratégia, sua própria forma de comunicação, seu próprio formato. No entanto, isso pode causar uma perda do sentimento de continuidade para o cliente. Iniciar o processo de conversão através de um canal, navegar entre canais intermediários, e concluir a jornada em um outro pode frustrar o usuário e, por fim, levar à perda daquela conversão.
Por isso, o conceito de omnichannel vem se tornando o foco da estratégia de consumo digital: mesmo havendo diversos canais da experiência do usuário (loja física, website, aplicativo, website responsivo, wearables, smart TV, etc), todos eles devem ofertar a mesma experiência, ou a mais parecida possível. O intuito é facilitar o entendimento por parte do usuário, mitigando o atrito gerado na mudança de canal.
E uma estratégia omnichannel bem-sucedida só é possível quando há dois pilares muito bem alinhados e definidos: marketing e tecnologia.
Implementação de tecnologia: quais as principais diferenças entre o desenvolvimento web e o desenvolvimento mobile?
Elementos essenciais do desenvolvimento web
Desde a popularização dos smartphones e outros dispositivos portáteis, o mínimo esperado de um website é que ele seja mobile-friendly. Ou seja, que a navegação e pontos de interação daquele serviço sejam tão acessíveis no mobile quanto são via desktop ou laptop. O objetivo é claro: permitir, dessa maneira, que o seu usuário consiga consumir seus produtos/serviços/conteúdos independente do meio pelo qual eles estão sendo acessados.
Além do básico esperado, é de extrema importância que a tecnologia utilizada (ou tech stack) permita ao seu time de desenvolvimento não apenas a maior flexibilidade possível em termos de implementação, do mesmo modo que facilite os serviços de manutenção e evolução ágeis. Portanto, qual a melhor forma de se atingir ambos?
O primeiro passo é a escolha de uma stack moderna e que ofereça suporte especializado (seja de uma empresa que está por detrás da stack, seja pela comunidade no caso de open-source). Já que, certamente, dúvidas e discussões sobre as melhores práticas e implementações surgirão.
Com uma stack robusta e bem suportada, sobretudo é fundamental a adoção de testes automatizados:
- Unitários, para garantir que as peças que compõem o quebra-cabeças final da sua aplicação sejam passíveis de alterações rastreáveis;
- Integração, de forma a trazer segurança quando os conjuntos dessas peças forem unidos;
- Fim a fim (ou end-to-end), a fim de trazer robustez nos testes de regressão e permitir que evoluções e melhorias sejam publicáveis com um mínimo de segurança em tempo hábil
Além dos testes, é importante modelar a aplicação de forma a separar responsabilidades de maneira efetiva e escalável. Caso seja necessário desenvolver um aplicativo mobile que seja uma alternativa ao site, ambos devem atender às expectativas em seus respectivos canais, evitando a repetição desnecessária de implementação. Dessa maneira, o desenvolvimento deve ser terceirizado a um serviço que ambos vão consumir.
Nesse caso, é trivial considerar uma API backend, ou um BFF – backend for frontend – que vai servir ambas as aplicações com as mesmas funcionalidades e processamento de dados. O propósito é que tais aplicações sejam nada mais do que camadas de apresentação da mesma fonte do seu negócio.
Elementos essenciais do desenvolvimento mobile
Independentemente de haver uma aplicação web correlata ou não, é importante sempre ter em mente alguns pontos-chave:
- O tempo necessário para publicar melhorias ou correções em um aplicativo é significativamente maior do que em uma aplicação web.
- O runtime (tempo de execução) de um aplicativo web oferece mais recursos em termos de hardware. Por exemplo, processamento, memória e gerenciamento, em comparação a um aplicativo mobile. Embora o aplicativo possa ter acesso a recursos adicionais, como geolocalização, execução em segundo plano e I/O, a performance e o seu desempenho devem ser tratados de maneira mais crítica do que no ambiente web.
Considerando isso, a qualidade do desenvolvimento mobile ganha ainda mais importância, uma vez que a flexibilidade fica reduzida. Portanto, é essencial considerar além do que já foi mencionado:
- A escolha da stack tecnológica adequada, sobretudo, levando em consideração o objetivo da aplicação.
- Os recursos do dispositivo que serão utilizados.
- A proporção de usuários iOS e Android no público-alvo.
- A qualidade média dos dispositivos do público-alvo, ou seja, se são mais recentes ou mais antigos.
As respostas a essas perguntas levarão a outras indagações, como a necessidade de desenvolvimento nativo (Swift e Kotlin) ou se o desenvolvimento híbrido seria suficiente (React Native, Flutter), por exemplo.
Somente após avaliar criteriosamente essas questões e suas respectivas respostas é possível fazer uma escolha saudável e definir a stack a ser utilizada.
Então, como equilibrar recursos e entregar um serviço de qualidade no desenvolvimento mobile?
Antes de nos tornarmos fornecedores de serviços, também somos consumidores em várias facetas de nossa vida. Sabemos, de uma forma ou de outra, a importância de uma experiência fluida ao utilizar um serviço em diferentes meios. Quem nunca viu um produto em um site e preferiu adquiri-lo em uma loja física? Ou quem nunca visualizou um serviço em uma loja física e concluiu a aquisição por meio de um aplicativo?
Nesse sentido, é fundamental equilibrar o tempo e os recursos disponíveis. Isso, para que, haja uma entrega de um serviço digital com a qualidade e a completude esperadas pelo público-alvo quando o serviço for lançado. Será que inicialmente um MVP é suficiente? Quais funcionalidades trarão o maior valor inicial? Quais plataformas e canais de atendimento? Em quanto tempo é possível alcançar o maior número de canais que fazem sentido?
A escolha de uma estratégia correta e eficaz deve, primeiramente, considerar todas essas perguntas como pontos de partida. É natural que dúvidas, erros, falhas e equívocos ocorram, mas o importante é responder e adaptar-se de maneira eficiente a esses cenários. Ao fazê-lo, é possível trilhar o caminho do sucesso no desenvolvimento mobile e alcançar resultados significativos.
Desenvolvimento de Software
Confira outros artigos
Mecanismos de Acompanhamento no Desenvolvimento de Software
O uso de mecanismos de acompanhamento é imprescindível no mundo do desenvolvimento de software e pode potencializar a eficiência digital. O acompanhamento efetivo das operações é fundamental para garantir a entrega de soluções digitais de sucesso. Na nossa empresa, utilizamos uma metodologia única, o dti evolve, que incorpora inteligência artificial (IA) para acelerar nosso processo de […]
Desenvolvimento de Software
Eficiência digital com copilot: um caso de uso do GitHub
Em um mundo em constante evolução tecnológica, otimizar o tempo e potencializar a eficiência digital se torna cada vez mais crucial. Portanto, vamos apresentar alguns experimentos que estão sendo implementados com o Git Hub Copilot em busca de maior eficiência digital. Certamente quem nos acompanha sabe que estamos experimentando e introduzindo as melhores ferramentas de […]
Desenvolvimento de Software
Engenharia de Prompt: A Arte de Conversar com a IA
Sumário1 Falando a Linguagem das Máquinas2 O que é Engenharia de Prompt?3 A Importância da Engenharia de Prompt em Ação: Aplicações do Mundo Real 4 Princípios-chave da Engenharia de Prompt Eficaz4.1 Desconstruindo o Prompt:4.2 Técnicas de Engenharia de Prompt:4.3 Combinando Técnicas e Criando sua Obra-Prima:5 As Armadilhas da Engenharia de Prompt: Navegando pelos Limites dos Modelos […]
Desenvolvimento de Software