Avançar para o conteúdo principal

O que é o desenvolvimento de aplicações móveis?

Explore os processos e o software utilizados para desenvolver aplicações móveis

Criar software para dispositivos móveis

A definição de desenvolvimento de aplicações móveis pode ser extensa, abrangendo todos os processos envolvidos na criação e lançamento de uma aplicação móvel, ou específica, referindo-se à codificação e implementação da aplicação. Este artigo irá abranger ambas definições de desenvolvimento de aplicações móveis e focar-se especialmente na definição de desenvolvimento de aplicações móveis para pessoas que tomam decisões em torno de ou são responsáveis pela forma como o software em si é criado.

Para definir o desenvolvimento de aplicações móveis, devemos começar por definir dispositivos móveis, o que, neste caso, refere-se a dispositivos eletrónicos portáteis, como smartphones, tablets, portáteis, smartwatches, e-readers e consolas de jogos portáteis. Por aplicação, queremos dizer não só o software nativo desses dispositivos, mas também os sistemas operativos, plataformas e linguagens comuns suportados por esses dispositivos. Como irá aprender, existem várias formas diferentes de abordar o desenvolvimento de aplicações móveis e muitas decisões a tomar.

O processo de desenvolvimento de aplicações móveis

O processo de criação e lançamento de aplicações móveis é muitas vezes compreendido como uma série de passos ou fases. Estas fases do processo de desenvolvimento de aplicações móveis envolvem muitas pessoas e disciplinas diferentes numa organização, incluindo negócios, marketing, design e engenharia. As fases do processo de desenvolvimento de aplicações móveis são:

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

Quanto tempo demora criar uma aplicação móvel?

As organizações passam entre três e nove meses, ou mais tempo quando necessário, no desenvolvimento de aplicações móveis. O âmbito e as funcionalidades de uma aplicação influenciam a linha cronológica do processo de desenvolvimento de aplicações móveis.

Estratégia

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

Planeamento

Na fase de planeamento, as organizações acordam quatro detalhes fundamentais do processo de desenvolvimento de aplicações móveis: as equipas, ferramentas, tecnologias e linhas cronológicas. Por esta altura, têm uma ideia do tipo de aplicação móvel que precisam de criar, quem vai criar a aplicação e que plataformas ou plataformas irão utilizar. Durante esta fase, as organizações irão planear um mapa de objetivos do produto (decidir que funcionalidades serão criadas em que ordem e até quando), definir marcos e estruturar um plano de projeto que lhes permitirá cumprir com a data de lançamento pretendida. Saber que recursos e conhecimentos estão disponíveis, juntamente com compreender como implementar a tecnologia escolhida para o processo, é essencial para determinar essa data e alcançar o lançamento.

Design

A aparência, as funcionalidades e a função da aplicação móvel começam a ganhar forma durante a fase de design. Nesta fase do processo de desenvolvimento de aplicações móveis, as equipas irão planear a experiência de utilizador e criar as interfaces de utilizador e os estados da aplicação em várias fidelidades. Podem começar com simulações de baixa fidelidade para fornecer uma prova de conceito ou recolher feedback de clientes numa fase inicial. Os programadores e engenheiros podem ajudar a criar protótipos ou consultoria em decisões de experiência de utilizador e IU nesta fase, mantendo as equipas cientes dos requisitos e especificações técnicas das plataformas que a organização decidiu utilizar. Desta forma, as organizações, quando se movem para ecrãs de fidelidade total, projetaram uma aplicação que pode realmente ser criada.

Desenvolvimento

A palavra \"desenvolvimento\" neste contexto refere-se, por vezes, ao ciclo de vida de desenvolvimento de software completo envolvido na criação e lançamento de uma aplicação móvel. No entanto, mais vulgarmente, desenvolvimento significa esta fase de desenvolvimento de software do desenvolvimento de aplicações móveis. Definiremos esta fase mais integralmente mais à frente no artigo. Por agora, esta fase é melhor descrita como o passo em que as equipas estabelecem a arquitetura técnica e a pilha tecnológica, incluindo o front-end, o back-end e as APIs, definem marcos de desenvolvimento, determinam o ciclo de vida de desenvolvimento da aplicação e codificam a aplicação.

Teste

O teste é uma fase crucial do processo de desenvolvimento de aplicações móveis. Sem testar, as organizações não podem ter a certeza de que a aplicação será segura, funcionará da forma de que os utilizadores precisam e esperam e funcionará onde a implementam. Durante esta fase, as equipas fornecem garantia de qualidade, criando casos de teste para avaliar a usabilidade, o desempenho, a estabilidade e a segurança da aplicação em todos os dispositivos em que a aplicação se destina a ser executada. Muitas vezes, as organizações realizarão testes de esforço à aplicação de forma a garantir que a arquitetura da aplicação se pode dimensionar para atender a uma procura intensa repentina.

Versão

A fase final do processo de desenvolvimento de aplicações móveis é o lançamento. Após a aplicação ser implementada, a organização fornece suporte aos clientes que a utilizam e monitorização e manutenção contínuas para garantir que a aplicação está disponível e a ter o desempenho esperado. Muitas vezes, as campanhas de marketing e os impulsos para incentivar a adoção da aplicação coincidem com esta fase. Se a organização decidir fazer melhorias ou alterações à aplicação que vão além do âmbito das alterações com que o seu ciclo de vida de desenvolvimento está equipado para lidar, pode decidir iniciar novamente o processo de desenvolvimento de aplicações móveis.

Desenvolvimento de software no processo de desenvolvimento de aplicações móveis

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

Arquitetura técnica

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

Camada de apresentação

Esta é a camada da aplicação que o cliente vê e com a qual interage. A camada de apresentação inclui a interface de utilizador e todos os elementos da aplicação que formam a experiência de utilizador.

Camada de negócios

A lógica que rege os fluxos de trabalho, a troca de dados e as operações reside na camada empresarial. Os aspetos principais da aplicação móvel, como a segurança, a colocação em cache, o registo e o tratamento de exceções, são tratados nesta camada.

Camada de dados

A camada de dados serve os requisitos da aplicação em si, 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 dados e suporta transações de dados.

Pilha de tecnologia

De forma semelhante, a pilha de tecnologia, ou pilha tecnológica, também consiste em três partes, conforme mencionado. No entanto, estas partes representam escolhas específicas utilizadas para criar e suportar a aplicação em vez de diretrizes para a sua criação.

Front-end

Correspondendo à camada de apresentação, as ferramentas e linguagens utilizadas para codificar o front-end da aplicação móvel dependem muito dos dispositivos em que a aplicação será implementada. Existem muitas opções e a maioria dos dispositivos móveis tem linguagens específicas nativas.

Back-end

O back-end é a parte da aplicação que inclui a base de dados e outros objetos semelhantes que residem num servidor e suportam as funções da aplicação móvel. As equipas estão menos limitadas aos dispositivos no que toca a escolher as tecnologias de back-end móveis e, muitas vezes, podem encontrar soluções de back-end pré-criadas.

API

A aplicação comunica entre o back-end e o front-end através da API, o que também possibilita que a aplicação se integre e interaja com outras aplicações e serviços.

No entanto, antes de as equipas poderem escolher a sua pilha tecnológica, ou até estabelecer a sua arquitetura técnica, primeiro têm de decidir que tipo de aplicação móvel estão a criar.

Tipos de aplicações móveis

No que toca a desenvolver aplicações para dispositivos móveis, as organizações têm vários tipos diferentes de aplicações móveis à sua escolha. Neste caso, o tipo de aplicação móvel não se refere ao que a aplicação permitirá aos utilizadores fazer, mas à forma como a aplicação será criada.

Aplicações nativas

As aplicações específicas de um determinado dispositivo ou plataforma, como Android ou iOS, são denominadas aplicações nativas. Estas aplicações são executados diretamente no sistema operativo do dispositivo, utilizam as linguagens e frameworks fornecidas pela plataforma e são implementadas através da loja ou do marketplace específico do sistema operativo. Normalmente, as aplicações nativas têm acesso total a todas as funcionalidades e hardware dos dispositivos em que são executadas.

Aplicações entre plataformas

As equipas podem programar na aplicação nas linguagens e frameworks à sua escolha e, em seguida, compilar o código para cada sistema operativo em que a aplicação se destina a ser executada através de plataformas como o Xamarin. As aplicações de várias plataformas, como são chamadas, permitem que as equipas executem em vários dispositivos diferentes e reutilizem uma grande parte do código, embora o bridging do código exija mais trabalho do que programar para apenas uma plataforma.

Aplicações Web progressivas

Tal como as aplicações Web, as aplicações Web progressivas são executadas em browsers móveis e são normalmente criadas com JavaScript, CSS e HTML5. O que torna as aplicações Web progressivas é a sua capacidade de fornecer notificações push, gestos de toque melhores e interação com hardware utilizando capacidades avançadas do browser. Não existem SDKs para ajudar a criar aplicações Web progressivas, mas podem ser implementadas sem passar por um marketplace.

Aplicações híbridas

As aplicações híbridas, uma combinação entre aplicações nativas e aplicações Web progressivas, são, essencialmente, contentores codificados de forma nativa que executem aplicações Web. Esta combinação permite à aplicação ter mais acesso às funcionalidades e hardware dos dispositivos e ser executada em mais tipos de dispositivos, tudo ao mesmo tempo que mantém uma única base de código. Apesar de todas as suas vantagens, as aplicações híbridas normalmente não alcançam o desempenho de outros tipos de aplicações móveis.

Qual tipo de aplicação móvel criar

O tipo de aplicação móvel que uma organização opta por criar tem implicações fortes nas ferramentas, plataformas, frameworks, linguagens disponíveis para as suas equipas, a distribuição da aplicação, o número de bases de código a manter, em que dispositivos a aplicação será executada e até o que a aplicação pode fazer.

À medida que decide que tipo de aplicação móvel criar, é útil considerar quem serão os seus utilizadores e o que precisam da aplicação. Por exemplo, se utilizarem principalmente um tipo de dispositivo ou sistema operativo, uma aplicação nativa poderá ser ideal. Aplicações que não dependam de sensores de hardware ou GPS podem ser adequadas como aplicações Web progressivas ou aplicações híbridas, mas talvez não se os seus utilizadores não tiverem uma boa conectividade. Se os seus utilizadores forem membros da sua empresa ou organização, pode considerar uma estratégia móvel diferente. E, obviamente, tudo se resume aos conhecimentos que tem disponíveis na sua organização ou através de um parceiro.

Este gráfico resume mais das diferenças e semelhanças entre diferentes tipos de aplicações móveis para o ajudar a considerar o tipo de aplicação que deve desenvolver.

Comparar tipos de aplicações móveis

Não disponível Aplicações nativas Aplicações entre plataformas Aplicações Web progressivas Aplicações híbridas
Número de bases de código Um por plataforma Um, mas compilado para cada plataforma Um total Um para a aplicação, outro para o contentor
Linguagens e frameworks Apenas nativo Escolha da equipa Apenas na Web Web e nativo
Acesso a SDKs e APIs Sim Sim Não Limitado
Desempenho O mais elevado Elevado O mais baixo Baixo
Acesso ao hardware do dispositivo Concluído A maioria Muito pouco Algum
Sensibilidade à entrada de utilizador Bom Bom O pior Fraco
Interatividade Elevado Elevado O mais baixo Baixo
Utilização de recursos do dispositivo Elevado Elevado Baixo Médio
Requer conectividade Não Não Sim Sim
Custo de criação e manutenção O mais elevado Elevado O mais baixo Mais baixo
Onde a aplicação é armazenada Dispositivo Dispositivo Servidor Dispositivo e servidor
Implementado totalmente Marketplace Marketplace Browser Marketplace
Requer aprovação externa Sim Sim Não Sim

Software e plataformas de desenvolvimento de aplicações móveis

Assim que decidir que tipo de aplicação móvel vai criar, ou talvez enquanto considera o tipo, é recomendado avaliar as plataformas de desenvolvimento de aplicações móveis. Estas são as plataformas de desenvolvimento de aplicações que irá utilizar para criar, testar, depurar, gerir e, em alguns casos, até mesmo implementar aplicações móveis ao longo do ciclo de vida das mesmas. A maioria do software de desenvolvimento de aplicações inclui ferramentas de front-end para criar a interface, ferramentas de back-end para lidar com os dados, ferramentas de API, ferramentas de teste e ferramentas para colaboração e análise do código.

A maioria das plataformas de aplicações móveis tem o objetivo de fornecer tudo o que um programador precisa para criar uma aplicação móvel. Isto permite aos programadores evitar problemas ao mover entre diferentes peças de software de desenvolvimento móvel e lidar com problemas que surgem entre elas, como integridade do código, incompatibilidades e perda de dados. As plataformas de desenvolvimento de aplicações móveis também reduzem o custo, o tempo, os recursos e os conhecimentos necessários para uma organização criar uma aplicação móvel. Embora algumas organizações optem por criar as suas próprias plataformas, muitas mais optam por uma das muitas alternativas de desenvolvimento de aplicações disponíveis.

As melhores alternativas de desenvolvimento de aplicações móveis para a utilização de uma organização variam com base nos tipos de aplicação móvel que pretende criar, em que linguagem pode codificar e que dispositivos pretende servir. Algumas alternativas de desenvolvimento de aplicações móveis incluem:

  • Ferramentas entre plataformas, como Xamarin, que permitem aos programadores criar aplicações Android e iOS com .NET e C#.
  • Ferramentas do Visual Studio para Xamarin, que utiliza uma única base de código partilhada para aplicações móveis Android, iOS e Windows.
  • Ferramentas low-code ou sem código como o Power Apps. O low-code é uma forma simples de criar aplicações de nível profissional sem formação técnica ou conhecimentos. Saiba mais..

Recursos de desenvolvimento de aplicações móveis

Explorar documentos do Azure para programadores móveis

Encontre as informações de que precisa para desenvolver aplicações móveis no Azure. Saiba mais sobre notificações push, autenticação, análise e SDKs.

Obter recursos e documentação para programadores de aplicações móveis

Experimente criar uma aplicação móvel agora

Configure um pipeline de integração e entrega contínuo para aplicações Android. Ligue-se a qualquer repositório Git e tenha a sua equipa a funcionar em minutos.

Começar a trabalhar com aplicações Android na cloud

Perguntas mais frequentes sobre o desenvolvimento de aplicações móveis

  • A definição de desenvolvimento de aplicações móveis pode ser extensa, abrangendo todos os processos envolvidos na criação e lançamento de uma aplicação móvel, ou específica, referindo-se à codificação e implementação da aplicação.

    Saiba mais

  • As fases do processo de desenvolvimento de aplicações móveis são estratégia, planeamento, design, desenvolvimento, teste e lançamento.

    Saiba mais

  • À medida que decide que tipo de aplicação móvel criar, é útil considerar quem serão os seus utilizadores e o que precisam da aplicação.

    Saiba mais

  • As melhores alternativas de desenvolvimento de aplicações móveis para a utilização de uma organização variam com base nos tipos de aplicação móvel que pretende criar, em que linguagem pode codificar e que dispositivos pretende servir.

    Saiba mais

  • As organizações passam entre três e nove meses, ou mais quando necessário, no desenvolvimento de aplicações móveis.

    Saiba mais

  • Embora possam ser necessários meses para desenvolver totalmente uma aplicação móvel, eis cinco sugestões da Microsoft para começar agora mesmo o desenvolvimento de aplicações móveis.

    Aprenda cinco sugestões para criar aplicações móveis

  • O DevOps combina a palavra "desenvolvimento" e a palavra "operações" e é definido como a união das pessoas, dos processos e da tecnologia para fornecer continuamente valor aos clientes. A cultura, as ferramentas e as práticas de DevOps podem ajudar as funções em silo, como desenvolvimento, operações de TI, engenharia de qualidade e segurança, a coordenar e colaborar para produzir aplicações móveis melhores e mais fiáveis. O DevOps ajuda as equipas de desenvolvimento a darem mais resposta às necessidades dos clientes, a aumentar a confiança nas aplicações que desenvolvem e a alcançar os objetivos empresariais da equipa mais rapidamente.

    Saiba mais sobre o DevOps

  • Os programadores concentram-se normalmente nas capacidades técnicas e nos processos de um fornecedor de cloud, tais como: facilidade de implementação, gestão e atualização, se utiliza interfaces e APIs padrão, se tem um sistema formal para a gestão de eventos integrado no respetivo sistema de monitorização/gestão, se tem processos de gestão de alterações bem documentados e se as capacidades híbridas são suportadas.

    Saiba mais sobre como escolher um fornecedor de cloud

Como podemos ajudá-lo?