Trace Id is missing
Avançar para o conteúdo principal
pessoa a utilizar um telemóvel

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 ampla - 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 abordará ambas as definições de desenvolvimento de aplicações móveis e centrar-se-á especialmente na definição de desenvolvimento de aplicações móveis para as pessoas que tomam decisões ou são responsáveis pela forma como o próprio software é criado.

Para definir o desenvolvimento de aplicações móveis, devemos começar por definir móvel, que neste caso se refere a dispositivos eletrónicos portáteis, como smartphones, tablets, computadores portáteis, relógios inteligentes, leitores eletrónicos e consolas de jogos portáteis. Por aplicação, entendemos não só o software nativo desses dispositivos, mas também os sistemas operativos, plataformas e linguagens comuns que esses dispositivos suportam. Como irá aprender, há muitas formas diferentes de abordar o desenvolvimento de aplicações móveis e muitas decisões a tomar.

Pessoa sentada num sofá e a utilizar um comando com auscultadores
Uma mulher a escrever num quadro branco com um marcador

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

O processo de criação e lançamento de aplicações móveis é frequentemente entendido numa série de passos ou fases. Estas fases do processo de desenvolvimento de aplicações móveis 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 aplicações móveis são:

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

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

As organizações gastam entre três e nove meses, ou mais, se necessário, no desenvolvimento de aplicações móveis. O âmbito e as características 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 razão uma aplicação móvel pode ser uma boa solução para um problema ou uma abordagem a uma oportunidade e, em seguida, decidir o que construir e como. Na fase de estratégia, as organizações estabelecem os objetivos e as medidas de sucesso da aplicação, analisam o mercado e a concorrência, pesquisam as necessidades dos seus clientes e determinam os utilizadores e os casos de utilização que a aplicação irá servir. Na fase de estratégia, as organizações podem também começar a explorar quais as plataformas de desenvolvimento de aplicações móveis que melhor se adequam aos 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 chegam a acordo sobre quatro detalhes fundamentais do processo de desenvolvimento de aplicações móveis: as equipas, as ferramentas, as tecnologias e os prazos. Neste momento, já têm uma ideia do tipo de aplicação móvel que precisam de construir, quem vai construir a aplicação e que plataforma ou plataformas vão utilizar. Durante esta fase, as organizações definem um mapa de objetivos do produto, decidem quais as funcionalidades que serão criadas, por que ordem e até quando, estabelecem marcos e concebem um plano de projeto que lhes permita cumprir a data de lançamento prevista. Saber quais os recursos e conhecimentos disponíveis, bem como compreender como implementar a tecnologia escolhida para o processo, são vitais para determinar essa data e conseguir fazer o lançamento.

Design

O aspeto, as características 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 traçam a experiência de utilizador e criam as interfaces do utilizador e os estados da aplicação em várias fidelidades. Podem começar com maquetas de baixa fidelidade para fornecer prova de conceito ou recolher o feedback dos clientes numa fase inicial. Nesta fase, os programadores e engenheiros podem ajudar a criar protótipos ou prestar consultoria sobre decisões de UX e de IU, mantendo as equipas informadas sobre os requisitos e as especificações técnicas das plataformas que a organização optou por utilizar. Desta forma, as organizações, quando passam para ecrãs de fidelidade total, concebem uma aplicação que pode ser verdadeiramente construída.

Desenvolvimento

A palavra desenvolvimento neste contexto refere-se, por vezes, ao completo ciclo de vida de desenvolvimento de software envolvido na criação e lançamento de uma aplicação móvel. Mais comummente, porém, desenvolvimento significa esta fase de desenvolvimento de software do desenvolvimento de aplicações móveis. Definiremos esta fase de forma mais pormenorizada mais adiante neste artigo. Por enquanto, 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 testes, as organizações não podem ter a certeza de que a sua aplicação será segura, de que funcionará da forma que os utilizadores necessitam e esperam e de que funcionará onde a implementarem. Durante esta fase, as equipas fornecem garantia de qualidade, através da criação de casos de teste para avaliar a capacidade de utilização, 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. As organizações realizam testes de esforço frequentemente na aplicação para garantir que a arquitetura da aplicação pode ser dimensionada para responder a uma demanda repentina e intensa.

Lançamento

A fase final do processo de desenvolvimento de aplicações móveis é o lançamento. Depois de a aplicação ser implementada, a organização fornece apoio aos clientes que a utilizam e monitorização e manutenção contínuas para garantir que a aplicação está disponível e funciona como deveria. As campanhas de marketing e os movimentos para incentivar a adoção da aplicação coincidem frequentemente com esta fase. Se a organização decidir fazer melhorias ou alterações à aplicação que ultrapassem o âmbito das alterações que o respetivo ciclo de vida de desenvolvimento está equipado para tratar, pode decidir recomeçar o processo de desenvolvimento de aplicações móveis.

Uma pessoa a utilizar um telemóvel com um computador na sua mesa

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

Esta primeira tarefa da fase de desenvolvimento consiste em 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 é constituída pelas regras e padrões que regem o desenvolvimento da aplicação móvel.

Arquitetura técnica

A arquitetura técnica é frequentemente concebida em três níveis:

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 do utilizador e todos os elementos da aplicação que constituem a experiência de utilizador.

Camada empresarial

A lógica que governa os fluxos de trabalho, a troca de dados e as operações reside na camada empresarial. Os aspetos essenciais 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 própria aplicação, fornecendo utilitários de dados, componentes de acesso aos dados e programas 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

Do mesmo modo, a pilha de tecnologia também consiste de três peças como mencionado. No entanto, estas peças representam escolhas específicas utilizadas para construir e apoiar a aplicação e não orientações para a sua criação.

Front-end

Em estreita correspondência com a camada de apresentação, as ferramentas e as 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 idiomas específicos que lhes são nativos.

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 dependentes dos dispositivos quando se trata de escolher tecnologias de back-end móveis e podem muitas vezes encontrar soluções de back-end pré-construidas.

API

A aplicação comunica entre o back-end e o front-end através da API, o que também permite 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 de tecnologia, ou mesmo estabelecer a sua arquitetura técnica, têm primeiro de decidir que tipo de aplicação móvel estão a criar.

Uma pessoa a verificar estatísticas no seu tablet

Tipos de aplicações móveis

Quando se trata de desenvolver aplicações para dispositivos móveis, as organizações têm vários tipos diferentes de aplicações móveis à escolha. Neste caso, o tipo de aplicação móvel não se refere ao que a aplicação permitirá que os seus utilizadores façam, mas sim à forma como a aplicação será construída.

Aplicações nativas

As aplicações que são específicas de um determinado dispositivo ou plataforma, como o Android ou o iOS, são denominadas aplicações nativas. Estas aplicações são executadas diretamente no sistema operativo do dispositivo, utilizam as linguagens e as estruturas que a plataforma fornece 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 multiplataforma

As equipas podem codificar a aplicação nas linguagens e estruturas da sua escolha e depois compilar o código para cada sistema operativo em que a aplicação se destina a ser executada, utilizando plataformas como a Xamarin. As aplicações multiplataforma, como são designadas, permitem às equipas funcionar em muitos dispositivos diferentes e reutilizar uma grande parte do código, embora fazer o bridging do código exija mais trabalho do que o desenvolvimento 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 construídas com JavaScript, CSS e HTML5. O que torna as aplicações Web progressivas é a sua capacidade de fornecer notificações push, melhores gestos tácteis e interação com hardware através da utilização de capacidades avançadas do browser. Não existem SDKs para ajudar a criar aplicações Web progressivas, mas estas podem ser implementadas sem passar por um marketplace.

Aplicações híbridas

Uma mistura entre aplicações nativas e aplicações Web progressivas, as aplicações híbridas são essencialmente contentores codificados nativamente que executam aplicações Web. Esta combinação permite que a aplicação tenha mais acesso às funcionalidades e ao hardware dos dispositivos e seja executada em mais tipos de dispositivos, tudo isto mantendo uma única base de código. Apesar de todas as suas vantagens, as aplicações híbridas normalmente não atingem o desempenho que outros tipos de aplicações móveis atingem.

Que tipo de aplicação móvel criar

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

Ao decidir o tipo de aplicação móvel a criar, é útil considerar quem serão os seus utilizadores e o que necessitam da aplicação. Por exemplo, se utilizarem principalmente um tipo de dispositivo ou sistema operativo, uma aplicação nativa poderá ser a melhor opção. As aplicações que não dependem de sensores de hardware ou GPS podem ser adequadas como aplicações Web progressivas ou aplicações híbridas, mas talvez não o sejam se os seus utilizadores não tiverem uma boa conetividade. Se os seus utilizadores são membros da sua empresa ou organização, pode querer considerar uma estratégia móvel diferente. E, claro, tudo se resume aos conhecimentos que tem disponíveis na sua organização ou através de um parceiro.

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

Duas pessoas a falar num salão

Comparação de tipos de aplicações móveis

Aplicações nativas Aplicações multiplataforma Aplicações Web progressivas Aplicações híbridas
Número de bases de código Uma por plataforma Uma, mas compilada para cada plataforma Uma total Uma para a aplicação, outra para o contentor
Linguagens e estruturas Apenas nativa Escolha da equipa Apenas Web Web e nativa
Acesso a SDKs e a APIs Sim Sim Não Limitado
Desempenho Mais elevado Elevado Mais baixo Baixo
Acesso ao hardware do dispositivo Completo A maioria Muito pouco Algum
Resposta à entrada de utilizador Boa Boa Pior Fraca
Interatividade Elevado Elevado Mais baixo Baixo
Utilização de recursos do dispositivo Elevado Elevado Baixa Média
Requer conectividade Não Não Sim Sim
Custo para criar e manter Mais elevado Elevado Mais baixo Menor
Onde a aplicação é armazenada Dispositivo Dispositivo Servidor Dispositivo e servidor
Implementada através de Marketplace Marketplace Browser Marketplace
Necessita de aprovação externa Sim Sim Não Sim

Plataformas e software de desenvolvimento de aplicações móveis

Quando tiver decidido que tipo de aplicação móvel vai criar, ou talvez quando estiver a pensar em que tipo, vai querer avaliar as plataformas de desenvolvimento de aplicações móveis. Estas são as plataformas de desenvolvimento de aplicações que irá utilizar para desenvolver, criar, testar, depurar, gerir e, em alguns casos, até mesmo implementar aplicações móveis ao longo do seu ciclo de vida. A maior parte do software de desenvolvimento de aplicações inclui ferramentas de front-end para construir a interface, ferramentas de back-end para tratar 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 como objetivo fornecer tudo o que um programador precisa para criar uma aplicação móvel. Isto permite que os programadores evitem problemas ao deslocarem-se entre diferentes peças de software de desenvolvimento móvel e ao lidarem com problemas que surgem entre elas, como a 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 construir as suas próprias plataformas, muitas outras optam por uma das muitas alternativas de desenvolvimento de aplicações disponíveis.

As melhores alternativas de desenvolvimento de aplicações móveis para uma organização variam consoante os tipos de aplicações móveis que pretendem criar, as linguagens em que podem programar e os dispositivos que pretendem servir. Algumas alternativas de desenvolvimento de aplicações móveis incluem:

  • Ferramentas multiplataforma como a Xamarin que permite aos programadores criar aplicações para Android e iOS através da utilização de .NET e C#.
  • Visual Studio Tools para Xamarin, que utiliza uma única base de código partilhada para aplicações móveis para Android, iOS e Windows.
  • Ferramentas low-code ou no-code como as Power Apps. O low-code é uma maneira simples de criar aplicações de nível profissional sem conhecimentos ou formação técnica. Saiba mais.

 

Recursos de desenvolvimento de aplicações móveis

Explore o Azure para documentação de programador móvel

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.

Experimente já criar uma aplicação móvel

Configure uma pipeline de integração e entrega permanente para aplicações para Android. Ligue-se a qualquer repositório Git e ponha a sua equipa a trabalhar em minutos.

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

  • A definição de desenvolvimento de aplicações móveis pode ser ampla - 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 a estratégia, o planeamento, o design, o desenvolvimento, o teste e o lançamento.

    Saiba mais

  • Ao decidir o tipo de aplicação móvel a criar, é útil considerar quem serão os seus utilizadores e o que necessitam da aplicação.

    Saiba mais

  • As melhores alternativas de desenvolvimento de aplicações móveis para uma organização variam consoante os tipos de aplicações móveis que pretendem criar, as linguagens em que podem programar e os dispositivos que pretendem servir.

    Saiba mais

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

    Saiba mais

  • Embora possa demorar meses a desenvolver completamente uma aplicação móvel, eis cinco sugestões da Microsoft para começar agora mesmo com o desenvolvimento de aplicações móveis.

    Conheça cinco sugestões para a criação de aplicações móveis

  • DevOps é uma combinação das palavras "desenvolvimento" e "operações" e define-se como a união de pessoas, processos e tecnologia para fornecer valor permanentemente aos clientes. A cultura, as ferramentas e as práticas das DevOps podem ajudar funções isoladas, como o desenvolvimento, as operações de TI, a engenharia de qualidade e a segurança, a coordenar e a colaborar para produzir aplicações móveis melhores e mais fiáveis. As DevOps ajudam as equipas de desenvolvimento a responderem melhor às necessidades dos clientes, a aumentarem a confiança nas aplicações que desenvolvem e a atingirem mais rapidamente os objetivos comerciais da equipa.

    Saiba mais sobre as 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 de gestão de eventos integrado no seu sistema de monitorização/gestão, se tem processos de gestão da mudança bem documentados e se suporta capacidades híbridas.

    Saiba mais sobre como escolher um fornecedor de cloud