Desenvolvimento

Ξ 1 comentário

Desenvolvimento de apps mobile – Parte I

publicado por Cezar Taurion

Na preparação de uma recente palestra sobre mobilidade acabei pesquisando um vasto material referente ao desenvolvimento de apps.  E gostaria de compartilhar os aspectos que considero mais importantes. Isto será feito em dois posts. Neste abordarei alguns itens relativos ao processo de desenvolvimento de apps e no próximo teremos um debate mais detalhado do modelo a ser desenvolvido, se app nativa, HTML5 ou híbrido.

Os apps mudam de forma significativa a interação das empresas com seus clientes. Com milhões de apps desenvolvidos nas apps stores da vida, a impressão que temos é que desenvolver um app é simples e qualquer um pode desenvolver um. Sim e não! Sim, caso você queira desenvolver um app focado no B2C, sem maiores pretensões de integração com aplicações já existentes na empresa e apenas usando APIs facilmente encontradas como Google Maps. É bem mais facil que escrever um monolitico e gigantesco ERP…Por outro lado, um app corporativo envolve outras facetas como integração à sistemas já existentes, garantia de alta qualidade (é o nome da corporação que está em jogo), garantia de segurança e privacidade, e diversos outros fatores que criam um cenário bem mais complexo que parece quando apenas olhamos a superfice do oceano…

Vamos analisar algumas variáveis que envolvem um app corporativo. Os clientes de uma empresa utilizam uma variedade bem grande de dispositivos e querem usá-los para acessar o app. Cenário bem diferente do mundo desktop onde basicamente criava-se o aplicativo para rodar em Windows (e as vezes em Linux)  e acessivel por dois ou três diferentes navegadores. Limitar o acesso a uma unica plataforma móvel pode significar perda de negócios.

Outra caracteristica do dinâmico ambiente móvel é a velocidade com que os clientes esperam novas funcionalidades. O mercado de apps é balizado por ciclos de desenvolvimento muito rápidos, medidos em semanas e não mais em meses.  Os fornecedores de smartphones e tablets atualizam seus sistemas operacionais ou lançam novos produtos a cada 12-18 meses e isto demanda que os apps explorem as novas funcionalidades disponibilizadas, tão rapidamente quanto os usuários as utilizam. Quando comparamos com os tradicionais longos ciclos entre lançamentos de novas versões do Windows, por exemplo, é uma mudança radical.

Qualidade é outra variável fundamental. O mercado de apps já se acostumou  calssificar os apps pelo rating de 1 a 5 estrelas e se o app não for 5 estrelas a divulgação viral negativa circula muito rapidamente. Os usuários não aceitam bugs e querem ter experiência muito positiva. Se isto não for alcançado, não se tem as 5 estrelas… Além disso, no uso de um app, a primeira impressão é que fica. A primeira versão não pode ser de segunda classe…

Temos um desafio e tanto: conciliar velocidade de desenvolvimento com alta qualidade de código e ao mesmo tempo proporcionar uma experiência de uso rica e positiva para, pelo menos,  os principais dispositivos disponiveis no mercado. E estes dispositivos tendem a variar cada vez mais: estão vindo por aí óculos, relógios, consoles de automóveis, etc. Isto nos leva a repensar se os modelos e práticas de desenvolvimento de sistemas que aprimoramos por décadas, que sustentam o modelo cliente-servidor em desktops, continua válido para o mundo dos apps.

Vale a pena ler este texto “A Mobile Application Development Primer” . Embora alguns principios básicos sejam mantidos, temos que olhar todas as etapas dos processos atuais de desenvolvimento de sistemas e eliminar os pontos de atrito. O que pode ser feito de forma mais rapida possivel, sem perder a qualidade do código?

Uma mudança é a entrega em versões com funcionalidades adicionais, mas em ciclos pouco espaçados entre elas. Por exemplo, uma empresa de seguro saúde pode entregar uma primeira versão com a lista de médicos de determinada especialidade próximos do ponto de onde se encontra o cliente (GPS…). A segunda versão mostra um mapa (Google Maps) com a localização do consultório e como chegar lá. E a terceira utiliza realidade aumentada onde você aponta a camera do seu smartphone para uma rua e o app localiza os consultorios e clinicas que estão localizadas nela.

Outra mudança no processo de desenvolvimento é a presença atuante de novas atividades, como profissionais envolvidos em UI (user interface) e UX (user experience). Aqui você pode ler uma discussão interessante sobre as diferenças ente UI e UX . Estamos falando de skills diferentes do desenvolvedor tipico. Estes, na minha opinião, conhecem profundamente tecnologia mas não tem bons skills para design.

Um app corporativo não pode viver isolado dos sistemas da corporação. Deve obter dados deles e criar um contexto onde as caracteristicas do dispositivo como geolocalização, acelerômetros, etc são combinados com os dados que a empresa mantém sobre o cliente para disponibilizar a melhor experiência de uso possivel.

E não poderia deixar de mencionar o desafio dos testes.Com a diversidade de dispositivos e o contínuo ciclo de atualizações, aliados às exigências de alta qualidade dos apps, os testes passsam a ter um papel de extrema importância. Merece todo um estudo específico. Alguns pontos são interessantes; por exemplo, disponibilizar a aplicação internamente em uma app store privada, para feedback de funcionários, antes de disponilizá-la para os clientes.

Enfim, desenvolver apps para o mundo móvel cria desafios, mas também abre novas oportunidades profissionais. Demanda uma nova curva de aprendizado. Mas, sinceramente,  vale a pena.

Autor

Cezar Taurion é head de Digital Transformation da Kick Ventures e autor de nove livros sobre Transformação Digital, Inovação, Open Source, Cloud Computing e Big Data.

Cezar Taurion

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes