Blog

Novidades do mercado mundial de tecnologia

Informação precisa e sem rodeios 

MADP - Classificação de arquiteturas

10 Agosto 2015
Publicado em Análises
Classificação de Arquiteturas

A oferta de plataformas de desenvolvimento de aplicativos móveis (MADP - Mobile Application Development Platforms) vem sendo ampliada a cada ano. Conheça abaixo a classificação utilizada para diferenciar esses produtos.


Nativa

Nesta classe devem ser consideradas apenas as ferramentas que geram código nativo para as plataformas de destino:

  • iOS (iPhone, iPad, iPod e Apple Watch): o sistema operacional foi escrito em C/C++ e as linguagens de programação predominantes para a entrega de aplicativos nativos são Objective-C, Swift e C++. Existem também plataformas que geram código nativo escrito em Object Pascal;

  • Android: o sistema operacional foi escrito em C/C++ e a plataforma utiliza como padrão classes Java para utilização na camada de aplicativos. Portanto, apenas para esta plataforma o Java pode ser considerado “nativo”. Código escrito em Object Pascal pode ser considerado nativo neste caso, pois gera código nativo com desempenho muito próximo ao C++;

  • Windows Phone: o sistema operacional foi escrito em C/C++ e linguagem de programação predominante para a entrega de aplicativos nativos é o C# (plataforma Microsoft.NET);

  • BlackBerry: com market share de 0.4% e em redução, não é mais necessário considerar essa plataforma na avaliação de adoção de ofertas MADP;

  • Firefox OS: com market share de 0.0%, ainda não é necessário considerar essa plataforma para a adoção de ofertas MADP;

Atenção: Existem campanhas de marketing que utilizam o termo “nativo” quando tecnicamente suas ferramentas não permitem a compilação de aplicativos integralmente nativos em todas as plataformas. É bom questionar melhor esse requisito em um processo de aquisição para evitar comprar gato por lebre.


Web (Mobile)

Nesta categoria podemos incluir qualquer ferramenta que permita o desenvolvimento de sites adaptáveis e responsivos a dispositivos móveis, utilizando somente padrões WEB e recursos accessíveis pelos browsers que funcionam nestes dispositivos.

Na prática, todas as empresas acabam migrando para arquiteturas mais aderentes aos dispositivos móveis (nativa, híbrida ou multi-arquitetura), pois o desempenho e a experiência de uso dos aplicativos nativos são perceptivelmente melhores quando comparados contra páginas WEB.


Híbrida

Nesta abordagem a técnica é prover a interface gráfica através de padrões WEB utilizando um conjunto de extensões (plugins) como forma de desviar das limitações existentes nos padrões do HTML5.

Na prática essa arquitetura contempla a utilização de um container WEB para apresentar conteúdo criado com HTML e CSS, convivendo com a invocação de plugins através de código Javascript.

Essa abordagem costuma apresentar desempenho inferior e limitações em termos de fidelidade aos padrões de referência de qualidade das plataformas de destino. Inclusive, é imprescindível a realização de testes sob todos os dispositivos de destino e suas diferentes versões, pois a renderização do HTML/CSS entre os diversos modelos costuma apresentar variações.

A principal preocupação desta arquitetura é a realização de testes visando atingir o maior número possível de variações de dispositivos Android, pois não existe um padrão bem definido e está fragmentado em 24 mil modelos disponibilizados por 1,3 mil fabricantes (dados de agosto/2015). A descoberta tardia do “sumiço” de componentes visuais (botões, por exemplo) e de erros de Javascript em plataformas não testadas costuma exigir tempo adicional para a descoberta, depuração, correção e ajustes nos aplicativos disponibilizados.


Multi-arquitetura

É quando a abordagem permite não utilizar apenas nativo, Web (Mobile) ou híbrido, e sim permitir o uso de duas ou mais arquiteturas.