Questão de Arquitetura de Software — Software — ACAFE 2024
Arquitetura de Software›Software
Código
qg053147
Banca
ACAFE
Órgão
CELESC
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas - Negócios
Você é um desenvolvedor sênior de uma empresa de tecnologia que está prestes a iniciar o desenvolvimento de um aplicativo móvel. Durante uma reunião de planejamento, a equipe discute as diferentes abordagens para o desenvolvimento de aplicativos móveis, considerando fatores como desempenho, experiência do usuário e tempo de desenvolvimento. Um dos desenvolvedores pergunta qual abordagem proporciona a melhor experiência de usuário e desempenho otimizado para dispositivos móveis. Assim, que abordagem de desenvolvimento de aplicativos móveis geralmente proporciona a melhor experiência de usuário e desempenho otimizado?
AAplicativos Web Progressivos (PWAs).
BAplicativos Nativos.
CAplicativos Híbridos.
DAplicativos Responsivos.
EAplicativos Multi-Plataforma com Frameworks como React Native.
Revelar gabarito e comentário▾
GabaritoB — Aplicativos Nativos.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Desenvolvimento de Aplicativos Móveis: Abordagens e Desempenho
Gabarito: letra B. A abordagem nativa proporciona a melhor experiência de usuário e desempenho otimizado porque o aplicativo é desenvolvido especificamente para uma plataforma (iOS ou Android), utilizando linguagens e APIs nativas, o que permite acesso total aos recursos do dispositivo e integração fluida com o sistema operacional.
A questão testa o conhecimento sobre as diferentes abordagens de desenvolvimento móvel e suas compensações em termos de desempenho e experiência do usuário. Embora outras abordagens possam ser mais rápidas de desenvolver ou multiplataforma, nenhuma supera o desempenho e a experiência do usuário de um aplicativo nativo bem construído.
Abordagem
Desempenho
Experiência do Usuário
Acesso a Recursos Nativos
Tempo de Desenvolvimento
Aplicativos Nativos
Máximo (código otimizado para a plataforma)
Melhor (integração fluida com SO e diretrizes de UI)
Total (câmera, sensores, notificações avançadas)
Maior (código separado por plataforma)
Aplicativos Híbridos
Inferior (camada de abstração, animações lentas)
Menos nativa (depende de container web)
Limitado (via plugins)
Menor (código único multiplataforma)
Aplicativos Web Progressivos (PWAs)
Limitado (executado no navegador)
Boa, mas sem acesso total a recursos nativos
Parcial (câmera, notificações básicas)
Menor (baseado em tecnologias web)
Aplicativos Multi-Plataforma (React Native)
Próximo ao nativo (ponte JS-nativo)
Muito boa (componentes nativos)
Quase total (via bridges)
Moderado (código único, mas com ajustes)
Aplicativos Responsivos
Dependente do navegador
Adaptável, mas não nativa
Mínimo (apenas recursos web)
Menor (site adaptável)
Abordagens de desenvolvimento móvel: Nativos (Melhor desempenho, Melhor UX, Acesso total ao hardware, Linguagens específicas (Swift, Kotlin)); Híbridos (Desempenho inferior, UX menos nativa, Tecnologias web encapsuladas); PWAs (Sem acesso total a recursos nativos, Executados no navegador); Multiplataforma (React Native) (Desempenho intermediário, Código compartilhado)
Alternativa A — ❌ Incorreta
Os Aplicativos Web Progressivos (PWAs) são executados no navegador e, embora ofereçam boa experiência e possam funcionar offline, não têm o mesmo desempenho e acesso a recursos nativos (câmera, sensores, notificações push avançadas) que um aplicativo nativo. Portanto, não proporcionam a melhor experiência de usuário e desempenho otimizado.
Alternativa B — ✅ Correta ⟵ GABARITO
Os Aplicativos Nativos são desenvolvidos com as linguagens e ferramentas oficiais da plataforma (Swift/Objective-C para iOS, Kotlin/Java para Android), compilados diretamente para o sistema operacional. Isso permite total controle sobre hardware, desempenho máximo (código otimizado para a arquitetura), animações suaves e integração consistente com as diretrizes de interface da plataforma (Human Interface Guidelines, Material Design). Esses fatores garantem a melhor experiência de usuário possível.
Alternativa C — ❌ Incorreta
Os Aplicativos Híbridos usam tecnologias web (HTML, CSS, JavaScript) encapsuladas em um container nativo (como Cordova ou Ionic). Embora sejam mais rápidos de desenvolver e multiplataforma, sofrem com desempenho inferior (especialmente em animações e processamento gráfico) e experiência de usuário menos nativa, pois dependem de uma camada de abstração para acessar recursos do dispositivo.
Alternativa D — ❌ Incorreta
Aplicativos Responsivos são sites que se adaptam ao tamanho da tela, mas não são aplicativos móveis propriamente ditos. Eles executam no navegador e não têm acesso profundo aos recursos do dispositivo, resultando em desempenho e experiência inferiores comparados a aplicativos nativos.
Alternativa E — ❌ Incorreta
Frameworks Multi-Plataforma como React Native permitem escrever código uma vez para rodar em ambas as plataformas, usando JavaScript e uma ponte para componentes nativos. Embora ofereçam desempenho razoável e UX próxima do nativo, ainda há uma ponte de comunicação que pode introduzir latência, e algumas funcionalidades podem não ser tão fluidas quanto em um aplicativo puramente nativo. Não superam o desempenho otimizado de um aplicativo nativo.
PEGA ESSA DICA!
Em provas de arquitetura de software, lembre-se: a abordagem nativa é sempre a referência de melhor desempenho e experiência do usuário, mas nem sempre é a mais adequada em termos de custo e tempo de desenvolvimento. A escolha depende do contexto do projeto.