Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 1/13 Primeira prova on-line Entrega 24 set em 19:30 Pontos 25 Perguntas 15 Disponível 24 set em 14:00 - 24 set em 19:30 5 horas e 30 minutos Limite de tempo 90 Minutos Instruções Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 58 minutos 25 de 25 As respostas corretas estão ocultas. Pontuação deste teste: 25 de 25 INSTRUÇÕES DA PRIMEIRA PROVA ON LINE A prova tem a duração de 90 minutos e se realizará das 14h às 19:30 horas, horário de Brasília. Ao clicar em Primeira Prova ON LINE, no menu “tarefas” você iniciará a prova. A partir daí, você deverá realizar a avaliação valendo-se de 1 (uma) única tentativa. Ao final da prova não se esqueça de enviá-la clicando no botão “ENVIAR TESTE”. Só utilize esse botão quando tiver finalizado a avaliação. Não deixe para começar no final do turno, pois assim você terá menos tempo para a realização da avaliação. Exemplo: a prova se encerra às 19h30min, se o aluno começar às 19 horas terá somente 30 minutos para a realização. Atenção, mesmo abrindo e fechando o navegador o tempo de realização continuará contando após iniciada a avaliação. Utilize preferencialmente o navegador Google Chrome. Caso sua avaliação possua questões discursivas que requeiram um envio de arquivo, anexe o arquivo em formato PDF. ATENÇÃO: Todas as provas iniciadas e que não houverem sido submetidas, serão automaticamente encerradas pelo sistema transcorridos os 90 minutos de duração. Boa Prova! https://pucminas.instructure.com/courses/112973/quizzes/334391/history?version=1 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 2/13 Enviado 24 set em 15:00 Esta tentativa levou 58 minutos. 1,5 / 1,5 ptsPergunta 1 A maioria das aplicações móveis é projetada para telas pequenas. Essa condição traz inúmeras implicações para o projeto das aplicações móveis, como: As aplicações não podem ter entradas de dados textuais. As interações do usuário com a aplicação são mais curtas e objetivas. Isso mesmo, como as telas são pequenas, o volume de informações e de comandos acaba sendo menor também. A interação do usuário com as aplicações fica restrita a toques na tela, como em botões. Apenas determinados tipos de aplicações móveis podem ser criados. 1,5 / 1,5 ptsPergunta 2 Cada plataforma de aplicação móvel tem seu próprio padrão de interface com o usuário. Isso significa que uma aplicação móvel pode ter diferentes versões para as diferentes plataformas. Quais são esses elementos de interface que mudam de uma plataforma para outra? Fontes, cores, posição dos menus, formato dos botões, ... 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 3/13 Isso mesmo. Por padrão de interface, estamos falando do aspecto visual a aplicação. Recursos nativos que podem ser usados. Formas de monetização nas aplicações. Os gestos de tocar, arrastar, pinçar, deslizar, ... 1,5 / 1,5 ptsPergunta 3 Existem diferentes formas de construção de aplicações móveis. Geralmente, o que mais varia entre elas são as tecnologias de desenvolvimento utilizadas, como a linguagem de programação e as ferramentas de geração de código. Essas diferentes formas nos permitem classificar as aplicações móveis em tipos bem definidos. Qual dessas definições sobre os tipos de aplicações móveis está correta? Uma aplicação web responsiva é uma aplicação que roda em computadores e dispositivos móveis e que foi planejada para o padrão de interação dos dispositivos móveis. Uma aplicação web móvel é uma aplicação desenvolvida com tecnologias web que pode ser convertida em uma aplicação nativa. Uma aplicação web progressiva é uma aplicação web que busca oferecer a mesma experiência de uso de uma aplicação nativa. Correto. Uma PWA pode ser instalada, rodar em tela cheia, rodar sem conectividade (off-line), emitir notificações e demonstrar outros comportamentos semelhantes aos das aplicações nativas. 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 4/13 Uma aplicação híbrida é uma aplicação nativa desenvolvida a partir de tecnologias web e executadas por meio de URLs. 1,5 / 1,5 ptsPergunta 4 Qual das seguintes alternativas descreve características de uma aplicação web móvel? É desenvolvida com tecnologias web e é acessada por meio do navegador do dispositivo móvel. Correto. As aplicações web móveis rodam por meio do navegador. É desenvolvida com tecnologias web e pode rodar em tela cheia e quando o dispositivo está off-line. Usa tecnologias web e é instalada no dispositivo a partir de uma loja virtual. É desenvolvida com tecnologias nativas e é instalada a partir de uma loja virtual. 1,5 / 1,5 ptsPergunta 5 Antes de nos esforçarmos para implementar o projeto de uma aplicação móvel qualquer, devemos comunicar a nossa ideia para 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 5/13 nossos colegas de trabalho, para o cliente, para alguns usuários e para quaisquer outros stakeholders. Assim, quando tivermos que trabalhar na implementação, estaremos mais seguros de estarmos fazendo a aplicação correta para atender às necessidades de todos. Existem várias formas visuais de comunicação das nossas ideias para um projeto. Uma dessas formas é o Wireframe. Qual das afirmativas abaixo contém uma característica correta dos wireframes? Os wireframes descrevem as principais interações que podem ser realizadas nas interfaces. Correto. O principal objetivo do wireframe é explicar o que uma aplicação fará e como deverá ser usada. Os wireframes demonstram o posicionamento preciso dos elementos na interface. Os wireframes contém elementos interativos que podem ser testados pelos usuários. Os wireframes contém objetos de alta fidelidade como ícones e imagens. 1,5 / 1,5 ptsPergunta 6 Algumas aplicações são mais adequadas para dispositivos móveis que para computadores desktop, quando se leva em consideração a experiência do usuário. Entre as aplicações abaixo e as respectivas justificativas, qual descreve uma aplicação mais adequada a dispositivos móveis que a dispositivos de mesa como os computadores? 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 6/13 Aplicações de streaming de filmes, porque é possível ver o filme em qualquer posição (sentado, deitado, ...). A correção de defeitos em fotos, porque o smartphone também funciona como câmera fotográfica. Uma aplicação de mensagens instantâneas, porque você pode se comunicar de qualquer lugar. Correto. Na verdade, os telefones celulares surgiram exatamente para que a gente pudesse se comunicar de qualquer lugar. A troca de mensagens, como a feita por WhatsApp ou Telegram, é apenas uma outra forma de comunicação. Além disso, as mensagens curtas e interações rápidas desse tipo de aplicativo são sempre bem-vindas para os smartphones. Aplicação de edição de textos, porque o teclado virtual permite a entrada rápida de frases. 1,5 / 1,5 ptsPergunta 7 Qual é a declaração correta de uma função assíncrona que retorne o valor de uma divisão de números ou "Infiniito" se o denominador for igual a zero? function fnAsync(n, d) { return new Promise(function(resolve, reject){ if(d==0) { reject("Infinito");} setTimeout( function() { resolve(n/d); }, 1000); }); } 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 7/13 Isso mesmo. Essa função está corretamente escrita. function fnAsync(resolve, reject) { return new Promise(function(n, d){ if(d==0) { reject("Infinito"); } setTimeout( function() { resolve(n/d); }, 1000); }); } function fnAsync(n, d) { return new Promise(function(){ if(d==0) { this.reject("Infinito"); } setTimeout( function() { this.resolve(n/d); }, 1000); }); } function fnAsync(n, d) { if(d==0) { return new Promise( reject("Infinito") ); } setTimeout( function() { return new Promise( resolve(n/d) ); }, 1000); }); } 1,5 / 1,5 ptsPergunta 8 Uma das características das aplicações móveis é o armazenamento de dados localmente, que permitam o seu melhor funcionamento. Por exemplo, podemos armazenar os dados de login do usuário para que ele não precise se identificar a cada acesso (afinal, o dispositivo é dele mesmo), podemos armazenar dados da aplicação para que ela possa funcionar off-line e assim em diante. No caso das aplicações web móvel, um dos recursos disponíveis para o armazenamento local de dados é a API Web Storage. Ela permite o 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 8/13 armazenamento de dados tanto de forma permanente quanto temporária, mas como algumas limitações. Qual das seguintes afirmativas descreve uma limitação do armazenamento de dados por meio da API Web Storage? Os valores precisam ser enviados pelo navegador ao servidor em todas as respostas HTTP. Apenas operações assíncronas de armazenamento e recuperação de dados podem ser executadas. As requisições devem ser feitas por meio de comandos na sintaxe SQL. Todos os valores devem ser armazenados na forma de strings. Isso mesmo. Se tivermos qualquer outro tipo de dados, inclusive dados compostos, devemos convertê-los para strings para que possam ser armazenados localmente. 1,5 / 1,5 ptsPergunta 9 Na medida em que os computadores foram ficando mais sofisticados, começamos a trabalhar com várias aplicações ao mesmo tempo. Mas não foi só isso que passamos a fazer. Dentro de uma única aplicação, começamos também a fazer várias operações simultâneas. Por exemplo, em uma aplicação web como o Gmail, eu posso escrever uma mensagem ao mesmo tempo que o Gmail sincroniza as mensagens com o servidor e coleta novas mensagens para mim. Já em um jogo on-line, eu posso receber dados das ações dos outros jogadores ao mesmo tempo em que realizo as minhas próprias ações no jogo. 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 9/13 Para que isso dê certo, as operações em uma aplicação não podem "travar" a própria aplicação (até que sejam concluídas). Colocando em outras palavras, uma aplicação deve permitir que várias operações ocorram simultaneamente. Algumas operações são rápidas demais para nos preocuparmos com isso. Porém, outras são um tanto lentas, como, por exemplo, acessar dados na Web ou manipular arquivos. Nesses casos, executamos essas operações de forma assíncrona. Isso significa que elas serão executadas paralelamente à operação principal da nossa aplicação e, quando elas estiverem concluídas, dão um jeito de nos informar disso. Uma das formas de implementarmos operações assíncronas em aplicações web é por meio de um objeto da classe Promise. Esse objeto tem esse nome porque eles nos dá apenas uma promessa de resposta, mas sem garantias de que tudo dará certo. Sobre os promises, é correto dizer que: Quando o promise é rejeitado, a aplicação é interrompida. O tempo máximo da operação de um promise é definido por meio da sua propriedade timeout. As funções de resolução e de rejeição são passadas a um objeto promise por meio do seu construtor. Correto. Podemos indicar qual função será usada como resolve e qual função será usada como reject ao criarmos uma instância da classe Promise. Um promise não pode executar outro promise. 1,5 / 1,5 ptsPergunta 10 Design responsivo é uma forma de projeto de interfaces em que elas se adaptam aos contextos dos usuários, por mais diferentes que eles 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 10/13 sejam. Uma forma de fazermos design responsivo usando as tecnologias web é por meio do módulo Flexbox (Flexible Box Layout) da CSS. Qual é a característica correta da Flexbox? Os elementos são dispostos de forma precisa em uma malha formada pela interseção de um conjunto de linhas e um conjunto de colunas. Os elementos são dispostos em um bloco horizontal ou vertical e podem crescer ou diminuir de acordo com o espaço disponível. Correto. O Flexbox é uma forma de formatação unidimensional (linha OU coluna), mas é possível criar vários níveis de formatação que permitam a construção de interfaces bastante sofisticadas. Os elementos são formatados com regras CSS selecionadas de acordo com o estado do navegador (largura, altura, orientação, ...). Os elementos são colocados em blocos posicionados de forma absoluta ou de forma relativa à sua posição original na página. 2 / 2 ptsPergunta 11 Um dos principais recursos de uma aplicação web progressiva é o seu manifesto. É ele que contém as informações necessárias para que a aplicação seja instalada no dispositivo do usuário. Todas as informações abaixo fazem parte do manifesto, EXCETO: O idioma usado na aplicação. 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 11/13 O nome do arquivo que contém o service worker. Correto. O service worker é carregado por meio do código JavaScript da página e não por meio do manifesto. O diretório que contém as páginas que podem ser vistas pela aplicação. O modo como a aplicação deve ser apresentada na tela. 2 / 2 ptsPergunta 12 Qual das seguintes alternativas contém um atributo válido do manifesto e a definição correta desse atributo? screen - modo da tela, podendo ser tela cheia ou como janela. home - URL da homepage da aplicação. description - nome legível da aplicação. icons - vetor de objetos que contém os URLs, tamanhos e tipos dos ícones que podem ser usados na instalação da aplicação na tela inicial. Isso mesmo. Cada elemento do vetor contém três atributos: o URL da imagem, uma string com o tamanho do ícone e uma string definindo o Mime Type da figura. 2 / 2 ptsPergunta 13 Qual das afirmativas abaixo explica corretamente a finalidade de um dos eventos do ciclo de vida do service worker? 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 12/13 register - faz o download do arquivo do service worker que está no servidor. install - realiza operações de instalação da aplicação como, por exemplo, armazenar os arquivos necessários para a execução off-line no cache do navegador. Correto. A principal ação feita no evento install é armazenar os arquivos no cache. activate - dispara o código JavaScript da aplicação na linha de execução principal. fetch - recupera dados da aplicação armazenados localmente. 2 / 2 ptsPergunta 14 Avalie as afirmativas a seguir relacionadas às aplicações web progressivas: I. Uma PWA é capaz de funcionar mesmoquando não há conexão à Internet, PORQUE II. Seu código executável é baixado da loja virtual e instalado no dispositivo do usuário. Considerando essas afirmativas e a relação proposta entre elas, assinale a opção correta. As duas afirmativas são verdadeiras e a segunda justifica a primeira. As duas afirmativas são verdadeiras, mas a segunda não justifica a primeira. 24/09/2022 15:00 Primeira prova on-line: Tópicos Especiais em Sistemas de Informação: Aplicações Híbridas - G1/T1 - 2022/2 https://pucminas.instructure.com/courses/112973/quizzes/334391 13/13 A primeira alternativa é verdadeira e a segunda é falsa. Isso mesmo. As PWAs não são baixadas das lojas virtuais. A primeira alternativa é falsa e a segunda é verdadeira. As duas afirmativas são falsas. 2 / 2 ptsPergunta 15 O que faz o método match() do objeto cache no service worker de uma aplicação web progressiva? Retorna o nome do cache que contém o recurso passado como parâmetro ou undefined se nenhum recurso com esse nome for encontrado Atualiza, no cache, um recurso que tenha o nome passado como parâmetro do método. Apaga, no cache, um recurso cujo nome corresponda ao valor passado como parâmetro do método. Recupera, no cache, um recurso cujo nome corresponda ao valor passado como parâmetro do método. Isso mesmo, mas ele retorna apenas o primeiro recursos cuja comparação seja válida (caso outros recursos tenham o mesmo início de string). Pontuação do teste: 25 de 25
Compartilhar