Pular para o conteúdo principal

O que é o desenvolvimento de aplicativo móvel?

Explore os processos e softwares usados para desenvolver aplicativos móveis

Criando software para dispositivos móveis

A definição de desenvolvimento de aplicativo móvel pode ser ampla – abrangendo todos os processos envolvidos na criação e lançamento de um aplicativo móvel – ou específica, referindo-se à codificação e implantação do aplicativo. Este artigo abordará as duas definições de desenvolvimento de aplicativo móvel e se concentrará especialmente na definição de desenvolvimento de aplicativo móvel para pessoas que tomam decisões ou são responsáveis ​​por como o próprio software é criado.

Para definir o desenvolvimento de aplicativo móvel, devemos começar definindo dispositivo móvel, que neste caso se refere a dispositivos eletrônicos portáteis, como smartphones, tablets, laptops, relógios inteligentes, e-readers e consoles de jogos portáteis. Por aplicativo, nos referimos não apenas ao software nativo desses dispositivos, mas também aos sistemas operacionais, plataformas e idiomas comuns aos quais esses dispositivos oferecem suporte. Conforme você aprenderá, há muitas maneiras diferentes de abordar o desenvolvimento de aplicativo móvel e muitas decisões a serem tomadas.

O processo de desenvolvimento de aplicativo móvel

O processo de criação e lançamento de aplicativos móveis é frequentemente compreendido em uma série de etapas ou fases. Essas fases do processo de desenvolvimento de aplicativo móvel envolvem muitas pessoas e disciplinas diferentes dentro de uma organização, incluindo negócios, marketing, design e engenharia. As fases do processo de desenvolvimento de aplicativos móveis são:

  • Estratégia
  • Planejamento
  • Design
  • Desenvolvimento
  • Teste
  • Lançamento

Quanto tempo leva para criar um aplicativo móvel?

As organizações gastam de três a nove meses, ou mais, quando necessário, desenvolvendo aplicativos móveis. O escopo e os recursos de um aplicativo influenciam a linha do tempo do processo de desenvolvimento do aplicativo móvel.

Estratégia

O processo de desenvolvimento de aplicativo móvel começa com o reconhecimento do motivo que um aplicativo móvel pode ser uma boa solução para um problema ou abordagem para uma oportunidade e, em seguida, decidir o que criar e como. Na fase de estratégia, as organizações estabelecerão os objetivos e medidas de sucesso do aplicativo, analisarão o mercado e a concorrência, pesquisarão as necessidades de seus clientes e determinarão quais usuários e casos de uso o aplicativo atenderá. Na fase de estratégia, as organizações também podem começar a explorar quais plataformas de desenvolvimento de aplicativo móvel funcionariam melhor com seus objetivos e requisitos. É nessa fase que as organizações também começam a considerar o marketing em torno do lançamento do aplicativo.

Planejamento

Na fase de planejamento, as organizações concordam com quatro detalhes principais do processo de desenvolvimento do aplicativo móvel: as equipes, ferramentas, tecnologias e linhas do tempo. A essa altura, elas têm uma ideia de que tipo de aplicativo móvel precisam criar, quem criará o aplicativo e qual plataforma ou plataformas usarão. Durante essa fase, as organizações estabelecerão um roteiro do produto – decidirão quais recursos serão construídos, em que ordem e quando – definirão marcos e projetarão um plano de projeto que lhes permita cumprir a data de lançamento pretendida. Saber quais recursos e conhecimentos estão disponíveis, além de entender como implementar a tecnologia escolhida para o processo, são vitais para determinar essa data e garantir o lançamento.

Design

A aparência, os recursos e a função do aplicativo móvel começam a tomar forma durante a fase de design. Nessa fase do processo de desenvolvimento do aplicativo móvel, as equipes mapeiam a experiência do usuário e criam a interface do usuário e os estados do aplicativo em várias fidelidades. Podem começar com modelos de baixa fidelidade para fornecer prova de conceito ou coletar feedback do cliente em um estágio inicial. Desenvolvedores e engenheiros podem ajudar a criar protótipos ou consultoria sobre as decisões de interface do usuário e experiência do usuário nessa fase, mantendo as equipes cientes dos requisitos e especificações técnicas das plataformas que a organização decidiu usar. Dessa forma, as organizações, quando migram para telas de fidelidade total, projetaram um aplicativo que pode realmente ser criado.

Desenvolvimento

A palavra desenvolvimento neste contexto às vezes se refere ao ciclo de vida de desenvolvimento de software completo envolvido na criação e lançamento de um aplicativo móvel. Mais comumente, porém, desenvolvimento significa esta fase de desenvolvimento de software do desenvolvimento de aplicativo móvel. Definiremos essa fase mais detalhadamente posteriormente no artigo. Por enquanto, essa fase é melhor descrita como a etapa na qual as equipes estabelecem a arquitetura técnica e a pilha tecnológica – incluindo front-end, back-end e APIs – definem marcos de desenvolvimento, determinam o ciclo de vida de desenvolvimento do aplicativo e codificam o aplicativo.

Testes

O teste é uma fase crucial do processo de desenvolvimento de aplicativo móvel. Sem testes, as organizações não podem ter certeza de que seu aplicativo será seguro, funcionará da maneira que os usuários precisam e esperam e funcionará onde for implantado. Durante essa fase, as equipes fornecem garantia de qualidade, criando casos de teste para avaliar a usabilidade, desempenho, estabilidade e segurança do aplicativo em todos os dispositivos em que o aplicativo deve ser executado. As organizações geralmente testam o aplicativo para garantir que a arquitetura do aplicativo possa ser dimensionada para atender à grande demanda repentina.

Versão

A fase final do processo de desenvolvimento do aplicativo móvel é o lançamento. Depois que o aplicativo é implantado, a organização oferece suporte aos clientes que o utilizam e monitoramento e manutenção contínuos para garantir que o aplicativo esteja disponível e funcionando como deveria. Campanhas de marketing e movimentos para incentivar a adoção do aplicativo geralmente coincidem com essa fase. Se a organização decidir fazer aprimoramentos ou alterações no aplicativo que vão além do escopo de mudanças para o qual seu ciclo de vida de desenvolvimento está preparado, ela poderá decidir iniciar o processo de desenvolvimento do aplicativo móvel novamente.

Desenvolvimento de software no processo de desenvolvimento de aplicativo móvel

Esta primeira tarefa da fase de desenvolvimento é estabelecer a arquitetura técnica do aplicativo móvel. Muitas vezes confundida com a pilha técnica – que inclui front-end, back-end e APIs – a arquitetura técnica são as regras e padrões que regem o desenvolvimento do aplicativo móvel.

Arquitetura técnica

A arquitetura técnica é muitas vezes criada em três camadas:

Camada de apresentação

Essa é a camada do aplicativo que o cliente vê e com a qual interage. A camada de apresentação inclui a interface do usuário e todos os elementos do aplicativo que compõem a experiência do usuário.

Camada de negócios

A lógica que governa os fluxos de trabalho, troca de dados e operações reside na camada de negócios. Aspectos principais do aplicativo móvel, como segurança, armazenamento em cache, registro em log e tratamento de exceção, são tratados nessa camada.

Camada de dados

A camada de dados atende aos requisitos do próprio aplicativo, fornecendo utilitários de dados, componentes de acesso a dados e auxiliares ou agentes de serviço. É também a camada que valida e mantém os dados e suporta as transações de dados.

Pilha de tecnologia

Da mesma forma, a pilha de tecnologia - ou pilha de tecnologia - também consiste em três partes, conforme mencionado. No entanto, essas peças representam escolhas específicas usadas para criar e dar suporte ao aplicativo, em vez de diretrizes para sua criação.

Front-end

Correspondendo de perto com camada de apresentação, as ferramentas e linguagens usadas para codificar o front-end de aplicativo móvel dependem muito dos dispositivos nos quais o aplicativo será implantado. Existem muitas opções, e a maioria dos dispositivos móveis possui linguagens específicas que são nativas para eles.

Back-end

O back-end é a parte do aplicativo que inclui o banco de dados e outros objetos semelhantes que residem em um servidor e suportam as funções do aplicativo móvel. As equipes são menos dependentes dos dispositivos quando se trata de escolher tecnologias de back-end móvel e muitas vezes podem encontrar soluções de back-end pré-criadas.

API

O aplicativo se comunica entre o back-end e o front-end por meio da API, que também permite que o aplicativo se integre e interaja com outros aplicativos e serviços.

No entanto, antes que as equipes possam escolher sua pilha de tecnologia – ou até mesmo estabelecer sua arquitetura técnica – elas precisam decidir que tipo de aplicativo móvel estão criando.

Tipos de aplicativos móveis

Quando se trata de desenvolver aplicativos para dispositivos móveis, as organizações têm vários tipos diferentes de aplicativos móveis para escolher. Nesse caso, o tipo de aplicativo móvel não se refere ao que o aplicativo permitirá que seus usuários façam, mas como o aplicativo será construído.

Aplicativos nativos

Os aplicativos específicos de um determinado dispositivo ou plataforma, como Android ou iOS, são chamados de aplicativos nativos. Esses aplicativos são executados diretamente no sistema operacional do dispositivo, usam as linguagens e estruturas fornecidas pela plataforma e são implantados por meio do marketplace ou mercado específico do sistema operacional. Os aplicativos nativos geralmente têm acesso total a todos os recursos e hardware dos dispositivos em que são executados.

Aplicativos de plataforma cruzada

As equipes podem codificar no aplicativo nas linguagens e estruturas de sua escolha e, em seguida, compilar o código de cada sistema operacional em que o aplicativo deve ser executado usando plataformas como Xamarin. Os aplicativos de plataforma cruzada, como são chamados, permitem que as equipes executem em muitos dispositivos diferentes e reutilizem uma grande parte do código, embora a ponte do código requer mais trabalho do que desenvolver para apenas uma plataforma.

Aplicativos Web progressivos

Assim como os aplicativos Web, os aplicativos Web progressivos são executados em navegadores móveis e normalmente são criados usando JavaScript, CSS e HTML5. O que torna os aplicativos Web progressivos é sua capacidade de fornecer notificações por push, melhores gestos de toque e interação de hardware usando recursos avançados do navegador. Não há SDKs para ajudar a criar aplicativos Web progressivos, mas eles podem ser implantados sem passar por um marketplace.

Aplicativos híbridos

Uma mistura entre aplicativos nativos e aplicativos Web progressivos, os aplicativos híbridos são essencialmente contêineres codificados nativamente que executam aplicativos Web. Essa combinação permite que o aplicativo tenha mais acesso aos recursos e hardware dos dispositivos e seja executado em mais tipos de dispositivos, mantendo uma única base de código. Apesar de todas as suas vantagens, os aplicativos híbridos normalmente não atingem o desempenho que outros tipos de aplicativos móveis alcançam.

Que tipo de aplicativo móvel criar

O tipo de aplicativo móvel que uma organização escolhe criar tem fortes implicações sobre as ferramentas, plataformas, estruturas, idiomas disponíveis para suas equipes, a distribuição do aplicativo, o número de bases de código a serem mantidas, em quais dispositivos o aplicativo será executado, e até mesmo o que o aplicativo pode fazer.

Ao decidir que tipo de aplicativo móvel criar, é útil considerar quem serão seus usuários e o que eles precisam do aplicativo. Por exemplo, se eles usam principalmente um tipo de dispositivo ou sistema operacional, um aplicativo nativo pode ser melhor. Aplicativos que não dependem de sensores de hardware ou GPS podem ser adequados como aplicativos da Web progressivos ou aplicativos híbridos—mas talvez não se seus usuários não tiverem uma boa conectividade. Se seus usuários forem membros de sua empresa ou organização, considere uma diferente estratégia para celular. E, claro, tudo se resume ao conhecimento que você tem disponível em sua organização ou por meio de um parceiro.

Este gráfico descreve mais diferenças e semelhanças entre diferentes tipos de aplicativos móveis para ajudá-lo a considerar qual tipo de aplicativo você deve desenvolver.

Comparando tipos de aplicativos móveis

Não disponível Aplicativos nativos Aplicativos de plataforma cruzada Aplicativos Web progressivos Aplicativos híbridos
Número de bases de código Um por plataforma Um, mas compilado para cada plataforma Um total Um para o aplicativo, outro para o contêiner
Idiomas e estruturas Somente nativo Escolha da equipe Somente Web Web e nativo
Acesso a SDKs e APIs Sim Sim Não Limitado
Desempenho Mais alto Alto Mais baixo Baixo
Acesso ao hardware do dispositivo Completo Maioria Muito pouco Algum
Capacidade de resposta à entrada de usuário Bom Bom Pior Fraco
Interatividade Alto Alto Mais baixo Baixo
Uso de recursos do dispositivo Alto Alto Baixo Média
Requer conectividade Não Não Sim Sim
Custo para criar e manter Mais alto Alto Mais baixo Inferior
Onde o aplicativo está armazenado Dispositivo Dispositivo Servidor Dispositivo e servidor
Implantado por meio de Marketplace Marketplace Navegador Marketplace
Requer aprovação externa Sim Sim Não Sim

Plataformas e software de desenvolvimento de aplicativo móvel

Depois de decidir que tipo de aplicativo móvel você criará - ou talvez ao considerar qual tipo - você desejará avaliar as plataformas de desenvolvimento de aplicativos móveis. Essas são as plataformas de desenvolvimento de aplicativos que você usará para desenvolver, criar, testar, depurar, gerenciar e, em alguns casos, até mesmo implantar aplicativos móveis em todo o seu ciclo de vida. A maioria dos softwares de desenvolvimento de aplicativos inclui ferramentas de front-end para criar a interface, ferramentas de back-end para lidar com dados, ferramentas de API, ferramentas de teste e ferramentas para colaboração e análise de código.

A maioria das plataformas de aplicativos móveis visa fornecer tudo o que um desenvolvedor precisa para criar um aplicativo móvel. Isso permite que os desenvolvedores evitem problemas de movimentação entre diferentes partes do software de desenvolvimento móvel e lidem com problemas que surgem entre eles, como integridade de código, incompatibilidades e perda de dados. As plataformas de desenvolvimento de aplicativo móvel também reduzem o custo, o tempo, os recursos e a experiência necessários para uma organização criar um aplicativo móvel. Enquanto algumas organizações optam por construir suas próprias plataformas, muitas outras preferem uma das muitas alternativas de desenvolvimento de aplicativo disponíveis.

As melhores alternativas de desenvolvimento de aplicativo móvel para uso de uma organização variam de acordo com os tipos de aplicativos móveis que ela pretende criar, em quais linguagens pode codificar e em quais dispositivos deseja atender. Algumas alternativas de desenvolvimento de aplicativo móvel incluem:

  • Ferramentas de plataforma cruzada como Xamarin que permitem que os desenvolvedores criem aplicativos Android e iOS usando .NET e C#.
  • Ferramentas do Visual Studio para Xamarin, que usa uma única base de código compartilhada para aplicativos móveis Android, iOS e Windows.
  • Ferramentas de pouco código ou nenhum código, como Power Apps. Pouco código é uma maneira simples de criar aplicativos de nível profissional sem treinamento ou experiência técnica. Saiba mais.

Recursos de desenvolvimento de aplicativo móvel

Explore os documentos de desenvolvedor do Azure para dispositivos móveis

Encontre as informações necessárias para desenvolver aplicativos móveis no Azure. Saiba mais sobre notificações por push, autenticação, análise e SDKs.

Obtenha recursos e documentação para desenvolvedores móveis

Tente criar um aplicativo móvel agora

Configure um pipeline de entrega e de integração contínua de aplicativos Android. Conecte-se a qualquer repositório Git e tenha sua equipe funcionando em minutos.

Comece a usar aplicativos Android na nuvem

Perguntas frequentes sobre desenvolvimento de aplicativo móvel

  • A definição de desenvolvimento de aplicativo móvel pode ser ampla, abrangendo todos os processos envolvidos na criação e lançamento de um aplicativo móvel, ou específica, referindo-se à codificação e implantação do aplicativo.

    Saiba mais

  • As fases do processo de desenvolvimento de aplicativo móvel são estratégia, planejamento, design, desenvolvimento, teste e lançamento.

    Saiba mais

  • Ao decidir qual tipo de aplicativo móvel criar, é importante considerar quem serão seus usuários e o que eles precisam do aplicativo.

    Saiba mais

  • As melhores alternativas de desenvolvimento de aplicativo móvel para uso de uma organização variam de acordo com os tipos de aplicativos móveis que ela pretende criar, em quais linguagens pode codificar e em quais dispositivos deseja atender.

    Saiba mais

  • As organizações gastam de três a nove meses, ou mais, quando necessário, desenvolvendo aplicativos móveis.

    Saiba mais

  • Embora possa levar meses para desenvolver completamente um aplicativo móvel, aqui estão cinco dicas da Microsoft para começar agora mesmo com o desenvolvimento de aplicativos móveis.

    Aprenda cinco dicas para criar aplicativos móveis

  • DevOps combina a palavra "desenvolvimento" e a palavra "operações" e é definido como a união de pessoas, processos e tecnologia para fornecer continuamente valor aos clientes. A cultura, as ferramentas e as práticas de DevOps podem ajudar funções isoladas—como desenvolvimento, operações de TI, engenharia de qualidade e segurança—a coordenar e colaborar para produzir aplicativos móveis melhores e mais confiáveis. O DevOps ajuda as equipes de desenvolvimento a se tornarem mais responsivas às necessidades dos clientes, a aumentar a confiança nos aplicativos que desenvolvem e a atingir as metas de negócios da equipe mais rapidamente.

    Saiba mais sobre DevOps

  • Os desenvolvedores geralmente se concentram nos recursos e processos técnicos de um provedor de nuvem, como: facilidade de implantação, gerenciamento e atualização, se usa interfaces e APIs padrão, se possui um sistema formal para gerenciamento de eventos integrado ao seu monitoramento/gerenciamento sistema, se ele possui processos de gerenciamento de mudanças bem documentados e se recursos híbridos são suportados.

    Saiba mais sobre como escolher um provedor de nuvem

Podemos ajudar você?