Buscar

Aplicacoes_Mobile_WallisonSilva pdf

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Unigranrio Caxias
Rio de Janeiro, 2024
Aplicação Prática – AP1
Turma: DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUIDAS E MÓVEIS GRD-0391 (UNIGRANRIO - EAD) (Turma 1)
Professor: Oswaldo Borges Peres
Nome da Avaliação: Roteiro de Atividades 01
Nome da disciplina: DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUIDAS E MÓVEIS
Semestre: 2024/1
Matrícula: 5406196
Aluno: Wallison Silva dos Santos
Com a crescente ubiquidade dos dispositivos móveis na sociedade moderna, os sistemas distribuídos se destacam como a infraestrutura que possibilita a conectividade e a cooperação entre esses dispositivos. Nesse cenário, as arquiteturas de aplicações móveis desempenham um papel vital ao criar interfaces intuitivas e experiências excepcionais para os usuários, enfrentando desafios técnicos e de design únicos.
 
Proposta de Trabalho
 
O objetivo central deste trabalho é proporcionar uma exploração aprofundada das características singulares dos dispositivos móveis, investigar os princípios fundamentais que norteiam os sistemas distribuídos e examinar em detalhes diversas arquiteturas de aplicações móveis. A pesquisa demanda uma análise crítica e comparativa que aborde tanto as particularidades dos dispositivos móveis quanto o impacto dessas características na implementação e funcionamento dos sistemas distribuídos. Além disso, espera-se uma análise das abordagens arquiteturais empregadas em aplicações móveis, considerando suas estruturas, padrões de comunicação e desafios inerentes.
Tópicos a serem abordados: 
 
· Características dos Dispositivos Móveis:
Os dispositivos móveis são os computadores de bolso. É possível realizar todas as tarefas que desenvolvemos no computador comum, mas com o diferencial da mobilidade. Podemos citar alguns exemplos de dispositivos móveis: smartphone, ultrabook, notebook, netbook, GPS, tablet.
· Variedade de dispositivos (smartphones, tablets, wearables).
Smartphones:
O smartphone é a evolução do celular. Inicialmente o celular só podia receber e realizar ligações, mandar mensagens SMS e, em alguns casos, possuía jogos integrados. Hoje nos smartphones é possível, além das características anteriores, tirar fotos, entrar na internet via wifi, navegar nas redes sociais digitais, editar arquivos de texto, pagar conta no banco, jogar e muito mais. Para isso foi necessário transformá-los em computadores portáteis e sensíveis ao toque (touch screen), onde é necessário instalar sistemas operacionais e aplicativos para funcionar!
Tablets:
Os tablets evoluíram rapidamente após o surgimento dos leitores de livros digitais (e-books). Eles possuem o formato de uma prancheta e são sensíveis ao toque (touch screen). Atualmente os tablets estão cada vez mais finos, leves e com uma ótima capacidade de guardar dados (informações como imagens, vídeos, textos, aplicativos etc.). Existem muitas empresas comercializando este tipo de aparelho e o preço irá variar dependendo: da sua capacidade de armazenar dados; e da sua marca. Assim com o smartphone, nos tablets é necessário ter um sistema operacional para funcionar, além de aplicativos que irão variar de acordo com a necessidade das pessoas.
Wearables:
Wearables, tecnologia vestível ou simplesmente vestíveis é um termo geral para um grupo de dispositivos móveis, como relógios, fones de ouvido, óculos de realidade aumentada e aparelhos para atividades físicas, projetados para serem utilizados como acessórios ou ​​ao longo do dia. Esses dispositivos são frequentemente chamados de wearables
Os wearables tornaram-se cada vez mais populares nos últimos anos, mas a ideia básica não é recente. Por exemplo, se você já usou um relógio de pulso, já usou um tipo simples de wearable. Com a transformação digital, os wearables contam com tecnologias cada vez mais aprimoradas, sendo capazes de se conectar à internet e a diversos outros dispositivos, medir batimentos cardíacos, informar gasto de calorias enquanto você se movimenta e até gerar energia a partir do calor do corpo, entre muitas outras funções.
Dispositivos eletrônicos vestíveis, como rastreadores de condicionamento físico e biossensores, são muito promissores para aplicações e pesquisas na área da saúde e da medicina. Eles podem ser usados ​​para medir biossinais relevantes em tempo real e enviar dados coletados sem fio, abrindo novas maneiras de estudar como nossos corpos reagem a diferentes tipos de atividades e exercícios.
Os wearables são um dos exemplos da aplicação física da Internet das Coisas, a revolução tecnológica que permite mesclar o mundo digital e o mundo físico, por meio de recursos como inteligência artificial e conectividade.
Rastreadores de desempenho físico
Não importa se você está treinando para uma maratona ou apenas tentando ser mais ativo: os vestíveis de monitoramento de desempenho físico podem ajudar você a entender melhor seu desempenho e melhorá-lo, se necessário. Eles podem rastrear o número de passos que você dá, sua frequência cardíaca média, quanto tempo você dorme e muito mais.
Esses dados podem ser sincronizados com outro dispositivo, permitindo que você acesse tendências e padrões em sua atividade. Por exemplo, você pode descobrir a distância que andou na semana anterior ou estimar quantas calorias queimou por dia. Exemplos de wearables de desempenho físico são smartbands, smartwatches, joias e até pequenos dispositivos que se fixam ao cinto, ao sapato ou às roupas.
Smartwatches
Se você tem um smartphone, provavelmente está acostumado a receber muitas notificações diferentes, como e-mails, mensagens de texto e chamadas telefônicas. Mas se você não gosta de ficar o tempo todo olhando o celular, um smartwatch, ou relógio inteligente, pode ajudar.
Esses dispositivos podem ser sincronizados com seu smartphone, possibilitando que você veja as notificações em seu pulso a qualquer hora. A maioria dos smartwatches também pode ser usada como simples rastreadores de condicionamento físico. Exemplos de smartwatches populares são o Apple Watch e o Galaxy Watch, que se conectam aos aparelhos iPhone e Samsung Galaxy, respectivamente.
Vestíveis de segurança
Os wearables de segurança são dispositivos projetados para ajudá-lo em situações nas quais você se sinta ameaçado ou em perigo. Às vezes, são disfarçados de joias para que possam ser usados ​​de maneira discreta, sem que um invasor em potencial saiba o que o usuário está fazendo. A maioria é operada por um botão que envia um alerta para outras pessoas, soa um alarme alto ou ambos.
Os alertas que enviam podem ser textos pré-programados ou mensagens de voz gravadas. Muitos deles também possuem GPS integrado, permitindo que você compartilhe imediatamente sua localização com amigos, família, pessoas próximas ou até mesmo a polícia.
Roupas e tecidos inteligentes
Ao fazer contato com uma parte maior do corpo, roupas e tecidos inteligentes podem fornecer percepções mais profundas do que vestíveis menores, permitindo rastreamento avançado para cuidados médicos e melhoria do estilo de vida.
A Samsung, por exemplo, conduz pesquisas extensas neste setor e já registrou várias patentes promissoras. Se essas patentes se tornarem produtos comercialmente disponíveis, a Samsung pode em breve lançar camisetas inteligentes capazes de diagnosticar doenças respiratórias e tênis inteligentes que monitoram a forma de corrida.
· Limitações de recursos (energia, processamento, memória).
Como limitações aponta-se principalmente infraestrutura elétrica e mobiliaria insuficientes, falta de suporte ao usuário, além de características intrínsecas dos equipamentos, como tamanhos de telas e teclados, peso elevado, especificações técnicas incompatíveis, capacidade de processamento limitado, muitas vezes.
As limitações de recursos de vários tipos exigem que os dispositivos móveis sejam adaptados, através uma tecnologia ou um novo modelo de distribuição da informação, para que então possam resolver os problemas e as necessidades de uma comunidade.
Exemplos
1. Grande diversidade de dispositivos
O primeiro grande desafio de um desenvolvedor para trabalharcom dispositivos móveis é decidir se deve começar criando aplicativos para Android, iOS ou Windows Phone. Isso porque cada uma dessas plataformas é voltada para um público específico e requer conhecimentos diferentes em termos de linguagem (além de oferecer diferentes permissões e recursos).
Em outras palavras, o primeiro passo é escolher se vai preferir apostar no desenvolvimento nativo ou no híbrido (ou multiplataforma). Quem adota a opção nativa, normalmente cria o mesmo aplicativo duas vezes, uma para Android e uma para iOS, para abranger uma fatia maior do mercado.
Se optar pela programação de aplicativos híbridos — que são criados para funcionar em diferentes plataformas com o mesmo código —, o trabalho de concepção do produto será realizado uma única vez. Isso é possível com o uso de ferramentas como Cordova, Phonegap, Sencha Touch, Ionic e outras.
Existem, porém, algumas desvantagens que devem ser levadas em consideração nessa abordagem:
· O aplicativo híbrido apresenta desempenho inferior em relação ao nativo;
· Em geral, o software híbrido não tem acesso a todos os recursos disponíveis no aparelho;
· Existe uma limitação na experiência do usuário, já que cada plataforma tem seu próprio público, bem como recursos e padrões diferentes.
Além de tudo isso, quando desenvolve o software, o programador deve criar uma interface prioritariamente intuitiva. A ideia é possibilitar que qualquer usuário que a veja pela primeira vez, seja capaz de interagir com a interface de forma apropriada.
2. Manutenção e atualização do aplicativo
Outro grande desafio é acompanhar a rápida evolução das tecnologias móveis. Sempre que os sistemas operacionais (SOs) ganham novas versões, é natural que seus padrões, seus recursos e suas formas de codificação sejam afetados.
Isso demanda constante manutenção nos aplicativos, para garantir que sua eficiência seja mantida e que eles sejam compatíveis com os novos padrões desenvolvidos. Assim, se uma aplicação é criada para uma versão específica de um determinado SO, seus comandos podem cair em desuso quando uma atualização desse sistema for lançada.
Isso acontece também sempre que há o lançamento de novos modelos de aparelho, em geral repletos de novos recursos de hardware. Por isso, a empresa deve estar sempre atualizada sobre o que há de novo no mundo móvel e planejar a manutenção e o funcionamento em alto desempenho do app.
Estar atualizado, saber quando abrir mão de padrões antigos e ser capaz de gerenciar riscos de forma a evitar impactos negativos são condições essenciais para evoluir no mercado de desenvolvimento móvel. Com isso, há mais chances de construir um aplicativo que conquiste usuários nos quatro cantos do mundo.
3. Sensores e mais sensores
Diferentemente de desktop e notebooks, os smartphones dispõem de sensores e multifuncionalidades que, ao mesmo tempo que tornam os aplicativos mais atraentes, implicam maior cobrança na precisão e na velocidade da informação que o usuário vai receber.
É essencial que o desenvolvedor saiba tirar o maior proveito possível dos sensores disponíveis para otimizar o aplicativo. Vale lembrar, ainda, que diferentes dispositivos são equipados com sensores distintos — o profissional precisa estar atento e preparado para tratar essas diferenças.
Outra característica importante é a responsividade. Como cada aparelho tem suas próprias dimensões e características, é crucial que o aplicativo funcione bem (que a página não fique quebrada e que a rotação de tela seja automática, por exemplo) independentemente do dispositivo em que estiver sendo executado.
4. Recursos limitados
Enquanto os computadores têm uma grande disponibilidade de recursos — memória RAM cada vez mais incrementada, processadores de última geração, armazenamento interno amplo, entre outros —, os smartphones apresentam maior limitação nesse aspecto.
Esse é um grande desafio para o desenvolvedor que quer criar aplicativos de alto desempenho e que, ao mesmo tempo, consumam o mínimo possível de recursos — de modo a manter o bom funcionamento do sistema. Somado isso, o celular carrega em si um grande vilão: a bateria.
5. Diferenças para aplicativos web
A comunidade de desenvolvedores está acostumada com a criação para a web, e, na maioria das vezes, tenta trazer a mesma técnica para dentro da tela do dispositivo. O desafio está em entender que o uso de um tablet ou de um smartphone oferece uma experiência diferente para o usuário.
Isso ocorre porque, além dos diferentes tamanhos de tela, há métodos distintos de interação com o aparelho. Outra característica diferenciadora é o fato de que os aparelhos móveis são usados, normalmente, quando o usuário quer encontrar uma informação de forma rápida e simplificada.
Assim, criar aplicações móveis é bem diferente de outros tipos de desenvolvimento. Esse mercado, extremamente veloz, muitas vezes requer que a equipe tenha senso de velocidade: é preciso ter a ideia, concretizá-la e validá-la rapidamente para não perder o momento certo de lançá-la.
Para alcançar o melhor resultado em seus projetos móveis, a equipe da Monitora busca estar sempre atualizada com os padrões de design de cada plataforma. Além disso, tem especialistas em User Interface e User Experience (UI/UX) para fazer alterações sempre que necessário.
Em resumo, os aplicativos móveis trazem maior facilidade, rapidez e comodidade para o usuário. Por esse motivo, são cada vez mais importantes para o cotidiano. É preciso ter em mente, porém, que existem muitos desafios no desenvolvimento mobile — por isso, é necessário que o especialista se adapte a essas novas particularidades e esteja sempre disposto a aprender e evoluir com a tecnologia.
Consumo de energia
Com o aumento do uso de dispositivos móveis o consumo de energia se tornou um dos gargalos da computação, tanto fabricantes como os usuários estão preocupados com a vida útil e o consumo da bateria. Como esses dispositivos têm tamanho e peso restritos, a capacidade da bateria é restringida, por isso a eficiência energética se torna ainda mais importante nesses tipos de dispositivos, sendo necessário realizar um bom gerenciamento do consumo de energia.
Considerando o consumo de energia é importante considerar: o sistema de software em execução, o hardware, o contexto e o período de tempo. Atualmente qualquer smartphone tem suporte para Wi-Fi, 3G e 4G. Em 2017, um estudo mostrou que o 3G pode consumir 1,7x mais energia do celular, enquanto o 4G consome 1,3x mais energia que o 3G, executando a mesma tarefa, na mesma plataforma. O contexto é outro fator importante, pois, o software pode consumir mais energia dependendo dos cálculos que realiza e da forma como lida
Processamento
Otimização de desempenho móvel (MPO) refere-se ao processo de aprimoramento da eficiência geral, confiabilidade e capacidade de resposta de um aplicativo móvel, com foco em vários aspectos, como velocidade, centralização no usuário, consumo de memória, uso de bateria e conectividade de rede. Essa otimização contribui para uma experiência de usuário mais integrada e envolvente, resultando em taxas mais altas de retenção de usuários e maiores classificações de aplicativos.
No contexto do desenvolvimento de aplicativos móveis, um aspecto fundamental do MPO é a utilização eficiente dos recursos limitados disponíveis nos dispositivos móveis. Embora os smartphones tenham avançado dramaticamente nos últimos anos, eles ainda possuem restrições em termos de poder de processamento, duração da bateria e largura de banda da rede em comparação com seus equivalentes de desktop. Além disso, os usuários esperam tempos de carregamento rápidos, animações suaves e interrupções mínimas como recursos padrão dos aplicativos móveis.
Permitir a otimização detalhada do desempenho móvel é parte integrante da plataforma no-code AppMaster. Ao usar AppMaster, os desenvolvedores podem projetar visualmente seus aplicativos móveis e desenvolver modelos de dados, processos de negócios e componentes de interface de usuário com facilidade. A estruturaorientada a servidor do AppMaster, baseada em Kotlin e Jetpack Compose para Android e SwiftUI para iOS, permite que os desenvolvedores otimizem seus aplicativos móveis com a mesma eficiência que seus equivalentes da web para oferecer uma experiência de usuário incomparável.
Existem várias estratégias e práticas recomendadas para melhorar a otimização do desempenho móvel. Estes incluem, mas não estão limitados ao seguinte:
1. Otimize recursos de imagem e mídia: compactar imagens e arquivos de mídia é essencial para reduzir o tamanho geral do aplicativo e melhorar o tempo de carregamento. Técnicas como o uso de imagens vetoriais, o aproveitamento da aceleração de hardware e o emprego de ferramentas de otimização de imagens podem diminuir significativamente o tempo de carregamento e conservar os recursos do sistema.
2. Minimize o uso da rede: As solicitações de rede são um fator chave que afeta o desempenho dos aplicativos móveis. Para otimizar o uso da rede, você deve reduzir o número e o tamanho das chamadas de rede feitas pelo seu aplicativo, implementar mecanismos de cache para dados usados ​​com frequência e usar uma Content Delivery Network (CDN) para entregar ativos com mais eficiência.
3. Otimize o uso da memória: O gerenciamento eficiente da memória é crucial para garantir o bom desempenho do aplicativo. Para otimizar o uso da memória, você deve eliminar vazamentos de memória, usar a ferramenta Profiler do Android ou instrumentos iOS para monitorar o uso da memória e reciclar a memória com eficiência.
4. Melhore a capacidade de resposta da IU: Fornecer uma IU suave e responsiva é essencial para uma experiência positiva do usuário. Empregue técnicas como carregamento lento, atualizações de layout em lote e minimização de redesenhos de layout para melhorar a capacidade de resposta do aplicativo.
5. Implemente o uso eficiente da CPU: Minimizar o uso da CPU é vital para manter a vida útil da bateria de um dispositivo e garantir o desempenho geral do aplicativo. Crie um perfil do seu aplicativo para identificar tarefas com uso intensivo de CPU e use multithreading, serviços em segundo plano ou técnicas de agendamento de tarefas para equilibrar o uso da CPU de forma eficiente em todo o aplicativo.
6. Utilize ferramentas de criação de perfil e teste: Identificar gargalos de desempenho e corrigi-los é uma parte essencial do MPO. As ferramentas Profiler do Android Studio, os instrumentos iOS e outras ferramentas de terceiros fornecem informações valiosas sobre o desempenho do seu aplicativo, ajudando você a localizar e resolver problemas de maneira eficaz.
Para manter um alto nível de desempenho em aplicativos móveis, é essencial monitorar regularmente indicadores-chave de desempenho (KPIs) específicos, como tempo de inicialização do aplicativo, taxa de quadros, uso de memória, uso de bateria e latência de rede. Também é crucial realizar testes iterativos e otimização, monitorando de perto as avaliações e feedback dos usuários para identificar áreas de preocupação e oportunidades de melhoria.
Em resumo, a Otimização de Desempenho Móvel é um aspecto indispensável do desenvolvimento de aplicativos móveis, pois impacta diretamente a experiência geral do usuário. Ao aproveitar a plataforma no-code AppMaster, os desenvolvedores podem agilizar o processo de otimização de seus aplicativos e oferecer uma experiência de usuário superior e envolvente que, em última análise, resulta em taxas de retenção de aplicativos mais altas e aumento de receita. A abordagem abrangente de desenvolvimento de aplicativos móveis do AppMaster garante um desenvolvimento econômico e eficiente sem sacrificar a qualidade ou o desempenho, tornando-o a escolha ideal para desenvolvedores modernos que buscam uma solução MPO.
Gerenciamento de memória em dispositivos móveis
Com o avanço constante da tecnologia móvel, os dispositivos como smartphones e tablets tornaram-se essenciais em nosso cotidiano, desempenhando uma variedade de funções complexas e exigindo eficiente gerenciamento de recursos, especialmente no que diz respeito à memória. O gerenciamento de memória em dispositivos móveis é crucial para garantir o desempenho eficiente das aplicações, a resposta rápida do sistema e a experiência do usuário otimizada.
Desafios:
1. Limitações de Memória: Dispositivos móveis geralmente têm quantidades limitadas de memória RAM, o que pode ser um desafio para executar aplicativos mais complexos que demandam recursos significativos.
2. Multitarefa e Background Processes: O suporte a multitarefa e processos em segundo plano pode levar a conflitos de alocação de memória, impactando negativamente o desempenho geral do dispositivo.
3. Variedade de Dispositivos: A diversidade de dispositivos móveis, com diferentes capacidades de memória, requer estratégias adaptáveis para lidar com a ampla gama de cenários.
Estratégias:
1. Otimização de Código: Desenvolvedores podem otimizar o código de suas aplicações para reduzir o consumo de memória, removendo redundâncias e implementando algoritmos eficientes.
2. Gerenciamento Dinâmico de Memória: Técnicas como alocação dinâmica de memória e coleta de lixo são aplicadas para otimizar o uso da memória e liberar recursos quando não estão mais em uso.
3. Priorização de Processos: Identificar e priorizar processos críticos para a experiência do usuário ajuda a alocar recursos de memória de maneira mais eficiente, garantindo que aplicativos essenciais tenham prioridade.
4. Compactação e Paginação: Estratégias como compactação de memória e paginação são empregadas para otimizar o espaço disponível, especialmente em dispositivos com memória física limitada.
5. Monitoramento em Tempo Real: Ferramentas de monitoramento em tempo real são utilizadas para identificar padrões de uso de memória e detectar possíveis vazamentos, permitindo ajustes contínuos.
O gerenciamento eficiente de memória em dispositivos móveis é uma área crucial de pesquisa e desenvolvimento, visando melhorar o desempenho e a confiabilidade dos aplicativos, proporcionando uma experiência de usuário consistente em uma ampla variedade de dispositivos e cenários de uso.
· Conectividade (Wi-Fi, redes móveis, Bluetooth).
Redes Móveis
A conectividade móvel tem sido um fator transformador em nosso dia a dia, permitindo que estejamos sempre conectados ao mundo ao nosso redor.
 
Nesse sentido, a mobilidade corporativa já faz parte do presente, e o futuro reserva ainda mais possibilidades com o desenvolvimento das tecnologias 5G e 6G.
A tecnologia 5G está se expandindo globalmente, conectada a mais dispositivos, transmitindo dados com velocidade e oferecendo baixa latência. 
Isso gera outros movimentos importantes no mercado de mobilidade de dispositivos móveis: o aumento da dependência de dispositivos móveis, impulsionando o crescimento contínuo do mercado com recursos avançados.
Bluetooth
Um dispositivo operando bluetooth pode se conectar com até oito outros dispositivos, que o torna uma ótima opção para uma rede de dispositivos móveis. O bluetooth surgiu como resposta para a necessidade de conectar dispositivos sem a utilização de cabos, visando a econômica de energia, a fácil operação e a comodidade.
Wi – Fi
As tecnologias de rede sem fio (wireless) permitem a conexão de dispositivos eletrônicos sem o uso de cabos, a distâncias que variam de acordo com a tecnologia empregada e a potência dos dispositivos.
· Princípios de Sistemas Distribuídos:
Aplicações distribuídas modernas são compostas tanto por computadores de alta performance quanto pequenos dispositivos móveis, trabalhando de forma independente mas não isolada em favor da colaboração, um dos princípios fundamentais para esse tipo de mecanismo funcionar.
Conceito de nodes e comunicação assíncrona. 
comunicação assíncrona. 
Comunicação assíncrona é aquela que não acontece em tempo real. O emissor envia a mensagem e o receptor pode acessá-la e respondê-la quando desejar. O modelo é mais conveniente para quem recebe, porém requer objetividade, já que não é possível tirardúvidas no mesmo momento. Um exemplo é o email.
Nodes
De acordo com sua definição oficial, o Node é um runtime, que nada mais é do que um conjunto de códigos, API’s, ou seja, são bibliotecas responsáveis pelo tempo de execução (é o que faz o seu programa rodar) que funciona como um interpretador de JavaScript fora do ambiente do navegador web.
Tolerância a falhas e escalabilidade.
Os sistemas tolerantes a falha
Sistemas tolerantes a falha são aqueles funcionam de forma contínua, mesmo em caso de alguma falha de hardware ou software. Equipados com componentes redundantes, essas soluções possuem recursos que possibilitam manter aplicativos e serviços críticos em funcionamento 24x7 sem interrupções.
Esses sistemas, antes privilégio exclusivo de empresas com alta capacidade de investimento, já podem ser implementadas em organizações de todos os portes.
A evolução das tecnologias de gerenciamento de processos, a redução dos preço de servidores e a melhoria dos serviços de comunicação facilitou muito esse processo.
Escalabilidade
Os sistemas distribuídos são muito escaláveis, ou seja, eles podem ser facilmente expandidos adicionando mais nós ao sistema. Tal benefício permite lidar com um aumento na demanda de usuários ou no processamento de dados, garantindo que o sistema possa crescer de acordo com o necessário.
· Impacto nas Aplicações Móveis:
Os aplicativos móveis transformaram a maneira como nos conectamos com outras pessoas. Plataformas de mídia social como Facebook, Instagram e Twitter tornaram-se ferramentas essenciais para manter contato, compartilhar experiências e até mesmo realizar negócios. Aplicativos de comunicação como WhatsApp e Skype facilitaram chamadas internacionais e chats de vídeo.
Adaptação da interface para diferentes dispositivos. 
A adaptação de interface para diferentes dispositivos é um processo fundamental no desenvolvimento de websites e aplicativos móveis. Com o avanço da tecnologia e a diversidade de dispositivos disponíveis no mercado, é essencial que as interfaces sejam capazes de se adaptar e oferecer uma experiência de usuário consistente em qualquer dispositivo, seja ele um smartphone, tablet, laptop ou desktop.
A adaptação de interface para diferentes dispositivos é essencial para garantir uma experiência de usuário consistente e otimizada. Ao investir nesse processo, você amplia seu alcance, melhora seu posicionamento nos mecanismos de busca e oferece uma experiência de usuário de qualidade. 
Sincronização de dados em tempo real. 
O principal objetivo da sincronização em tempo real é garantir que os mesmos dados sejam compartilhados entre os locais. Ao garantir o backup de uma cópia do arquivo, você não precisará se preocupar em ter arquivos idênticos no mesmo local. Isso evita isso ao sincronizar os dados automaticamente. 
Estratégias para economia de energia. 
Celulares
Economizar a bateria do celular ainda é um grande desafio. Mesmo com melhorias nos aparelhos, tecnologias de carregamento rápido e baterias mais potentes, é comum presenciar casos em que o usuário precisa fazer a carga atual do smartphone durar por muito tempo.
1. Veja os apps que mais consomem bateria
Primeiramente, é importante entender o que aumenta o consumo. Você pode começar pelos aplicativos: nas configurações do Android, é possível visualizar quais programas instalados consomem a maior parte da sua carga. Para isso, acesse a tela “Assistência do aparelho” e toque na aba “Bateria”.
Obviamente, alguns apps essenciais para o dia a dia farão parte da lista. No entanto, você pode limitar o tempo de uso dessas ferramentas ou até mesmo desativar permissões de localização nos aplicativos para reduzir o consumo diário da sua bateria.
2. Desative apps e funções em segundo plano
Um aplicativo pode consumir recursos do seu celular mesmo quando não estiver em uso. É comum que esses apps rodem em segundo plano para uma inicialização mais rápida, mas isso tem consequências para o uso da bateria.
Nesse caso, vale a pena abrir as configurações e pesquisar pelos aplicativos que funcionam em segundo plano. Desative alguns apps que não são tão essenciais para o seu dia a dia e desabilite algumas permissões, como o acesso à sua localização.
3. Ative o modo de economia de energia
Pode parecer óbvio, mas essa dica é muito valiosa. O Android possui um modo nativo de economia de energia que reduz o consumo. Quando essa opção está ativa, o aparelho reduz o uso de rede em segundo plano e limita funções de sincronização e uso da localização. Algumas interfaces também permitem personalizar o modo com limites para a velocidade da CPU, brilho e Always on Display.
4. Exclua contas não usadas
Mantenha apenas as contas mais importantes ativas no seu celular. Quando você mantém uma conta do Google secundária ou login de rede social ativo, o seu aparelho ainda irá mostrar notificações e sincronizar dados em segundo plano para esses perfis. Por isso, é muito importante reduzir as contas vinculadas para exigir menos recursos do celular e poupar a bateria.
Para remover uma conta, abra as configurações e selecione “Contas e backup”. Em seguida, avance para “Gerenciar contas” e remova os logins pouco usados.
5. Reduza o brilho da tela
A tela é um dos componentes que mais consomem a energia do seu aparelho. Logo, se você diminuir o tempo de uso e o brilho, terá ganhos na economia da sua bateria. O ideal é manter um nível de brilho baixo, mas que ainda permite ver todos os detalhes na tela do celular.
Há, também, a opção de usar o brilho automático, que regula conforme a iluminação do lugar, mas ainda pode entregar um resultado que deixe a tela muito clara. Você ainda pode manter essa opção ativa e diminuir um pouco, para que o sistema entenda suas preferências.
6. Desative funções do celular
Recursos como localização, bluetooth e dados móveis são muito importantes, mas também consomem a bateria mesmo quando não são usados. Portanto, vale a pena desativar algumas dessas funções quando quiser preservar a sua carga restante.
Se estiver usando uma rede Wi-Fi, por exemplo, é recomendável desativar os dados móveis, porque o aparelho procura por conexões disponíveis. Além disso, você também pode desativar os serviços de localização específicos para cada aplicativo, nas permissões de apps.
· Arquiteturas de Aplicações Móveis:
Arquitetura de aplicativo móvel refere-se a um edifício ou sistemas estruturais e elementos de design que compõem um aplicativo móvel. Também abrange as técnicas, processos e componentes usados ​​durante o desenvolvimento de aplicativos. A base central de todos os aplicativos consiste em todos os elementos da arquitetura do aplicativo móvel. O desenvolvimento de uma boa arquitetura de aplicativos móveis requer planejamento e design estratégico adequados.
A estrutura ou plataforma tecnológica no back-end e o aspecto do aplicativo móvel voltado para o usuário também fazem parte da arquitetura móvel do aplicativo. No desenvolvimento de aplicativos, os programadores de software referem-se vagamente a esse conjunto de sistemas e processos de arquitetura móvel como a “pilha de tecnologia”.
Monolíticas vs. Microserviços. 
Monolíticas
As linguagens de desenvolvimento de aplicações permitem que os sistemas sejam quebrados em módulos. No entanto, a forma tradicional projetada para o desenvolvimento de software é a criação de toda a arquitetura em um único executável monolítico.
Esse modelo é a forma de desenvolver um sistema a fim de que todas as funções estejam em um único processo. Os diversos módulos do sistema são executados em uma mesma máquina, compartilhando recursos de processamento, memória, bancos de dados e arquivos.
Como o sistema está inteiro naquele bloco, o desenvolvimento é mais ágil e é possível subir uma prova de conceito (Proof of Concept, ou PoC) ou uma primeira versão (Minimum Viable Product, ou MVP) para validar um produto ou negócio. O sistema monolítico é de desenvolvimento e compreensão simplificados, permitindo a execução por uma equipe menor e com menosqualificação.
 Microsserviços
É uma maneira diferente de organizar e desenvolver softwares que visa criar diversos sistemas independentes, mas interligados. Desse modo, cada um dos microsserviços funciona dentro de seu próprio processo, com seu código especialista e banco de dados independente. Importante salientar que, por mais que o nome seja micro, não estamos diante de sistemas obrigatoriamente de baixa complexidade ou pequenos. Os microsserviços podem ser grandes e complexos sistemas interligados em outros microsserviços de diversos tamanhos e funcionalidades.
O maior trunfo é o desenvolvimento de acordo com a função, que fica bem-delimitada e serve a um propósito específico. Se pudéssemos resumir a arquitetura de microsserviços em uma palavra, seria especialização. Como cada serviço tem uma implantação diferente, a subida de uma nova versão não atrapalha a disponibilidade dos demais. Também é possível isolar os itens críticos em uma infraestrutura separada para escalar de forma independente do restante do sistema.
Desse modo, basta que seja possível integrá-los, mas eles não necessariamente precisam ser todos desenvolvidos pela mesma equipe. A software house pode até mesmo terceirizar questões específicas para, depois, utilizar os serviços desenvolvidos em seus sistemas de forma integrada.
Por ser uma estrutura mais complexa, exige um maior nível de automação das implementações. Além disso, orquestrar todos os microsserviços é essencial para que tudo funcione. A complexidade exige desenvolvedores com qualificação maior ou, ao menos, uma boa coordenação de DevOps (Desenvolvimento e Operações) para assegurar um bom funcionamento.
Cliente-Servidor e Arquiteturas sem Servidor (Serverless).
Um servidor é um recurso dentro de um sistema computacional, capaz de processar aplicações, armazenar dados e prestar serviços, enquanto o cliente é um computador que solicita esses serviços e recursos. Em uma infraestrutura de TI, ambos formam a arquitetura conhecida como “cliente-servidor”.
Uma estrutura cliente-servidor é um modelo de arquitetura de rede em que um programa de computador (cliente), solicita um serviço ou recurso de outro programa de computador (servidor), recebendo uma resposta com as informações solicitadas por meio de protocolos de rede em infraestruturas de TI.
A comunicação cliente-servidor é baseada em troca de mensagens, onde o cliente envia requisições e o servidor responde com as informações requisitadas.
Este tipo de modelo é amplamente utilizado em rede de computadores, onde vários dispositivos podem se conectar a um servidor central para acessar recursos compartilhados, como arquivos, impressoras, bancos de dados, aplicativos e serviços de internet.
A arquitetura cliente-servidor pode ser implementada de diferentes maneiras, como em aplicações web, jogos online, sistemas de gerenciamento de bancos de dados, entre outros.
Arquiteturas sem Servidor
Já o servidor é o componente do sistema que fornece os serviços ou recursos solicitados pelos clientes. Estes servidores podem ser um computador projetado especificamente para gerenciar e fornecer serviços aos clientes, ou ainda, um software que é executado em um servidor de rede.
Arquiteturas orientadas a eventos. 
Uma arquitetura orientada por eventos usa eventos para acionamento e comunicação entre serviços desacoplados e é comum em aplicações modernas criadas com microsserviços. Um evento é uma mudança ou uma atualização no estado, como um item adicionado a um carrinho de compras em um site de comércio eletrônico. Eventos podem conter o estado (o item comprado, o preço ou um endereço de entrega) ou podem ser identificadores (uma notificação de que um pedido foi despachado, por exemplo).
As arquiteturas orientadas por eventos têm três componentes: os produtores, os roteadores e os consumidores de eventos. Um produtor publica o evento no roteador, que filtra e envia os eventos aos consumidores. Serviços produtores e serviços consumidores são dissociados, o que permite que sejam escalados, atualizados e implantados de forma independente.
· Estudos de Caso Exemplares: 
Os estudos de caso oferecem insights sobre a aplicação prática de conceitos e estratégias em ambientes reais. Neste contexto destacam-se três áreas - chaves: aplicações de streaming, redes sociais e colaboração, e aplicações de comércio eletrônico.
Aplicações de streaming.
Com aplicativos para dispositivos móveis, tablets e smart TVs, os espectadores podem assistir quando e onde quiserem, ou seja, acesso fácil e imediato a um vasto catálogo de conteúdo. Os espectadores não precisam mais esperar por horários de programação específicos ou se preocupar com a falta de espaço de armazenamento.
Redes sociais e colaboração. 
O engajamento do usuário ocorre quando ele realiza ativamente uma ação com um conteúdo em uma rede social, o que pode acontecer por meio de um clique, um comentário, uma curtida, entre outras. Essa ação é metrificada em relação ao alcance do post ou ao número de seguidores, em uma taxa de engajamento.
Aplicações de comércio eletrônico
Investir em uma aplicação de comércio eletrônico é uma decisão difícil, começando pelos recursos de software e hardware que precisam ser mais sofisticados que no comércio tradicional. Por exemplo, softwares especializados que possibilitam a realização de pedidos diretamente pelos clientes e o gerenciamento de todos os processos do negócio, como  divulgação,  promoção,  venda e entrega etc.
Ao adquirir uma aplicação web para o comércio eletrônico um empreendedor deve decidir entre duas opções:
1) Aplicação Pronta: já são prontas e utilizadas por milhares de clientes, apenas são feitos ajustes de acordo com a necessidade de cada cliente. Para uma empresa adquirir uma aplicação web pronta custa em torno de oito mil reais, o tempo é só para implantação, ajustes e testes. Estas são mais utilizadas por pessoas que não trabalham com programação, apenas tem conhecimento em informática e acesso a internet. Temos como exemplo UOL (www.uol.com.br), LocaWeb (www.locaweb.com.br) , Mecado Livre (www.mercadolivre.com.br) e outros.
2) Aplicação Personalizada: não tem nem projeto, são feitas “sob-medida” sob um estudo realizado na empresa. O custo da personalizada vai para 40 mil reais, sendo necessário de 4 a 5 meses para o desenvolvimento, mais o tempo de testes e ajustes necessários.
Uma diferença que muitas vezes confunde o empreendedor na hora de montar a sua aplicação além do preço, é que a aplicação pronta já foi testada já sabe atrair o cliente, já a personalizada pode não ter o mesmo sucesso e desempenho e quanto maior funcionalidade tiver a aplicação pronta ou personalizada, mais cara ela será. Também deve ser considerado o custo do projeto para aquisição do sistema, hardware, hospedagem da loja, que geralmente varia de 25 a 30 reais dependendo do provedor.  A manutenção do domínio de 30 a 50 reais mensais e o seguro do site se usar cartão de crédito, este depende do fornecedor, mas geralmente é em torno de 295 reais. No momento que o serviço é contratado deve-se questionar o fornecedor ou desenvolvedor da aplicação sobre manuais e suporte ao usuário, principalmente o horário de atendimento.
No momento em que uma aplicação é entregue ela deve estar pronta para inserir preços, produtos, subprodutos, departamentos, descrições de produtos, formas de entrega e é claro começar a vender. Quando começar vender aparecerão novos custos como:
• Custo da entrega de mercadorias: processo de embalar, despachar e colocar a mercadoria na mão do cliente com segurança e no prazo contratado. Este tipo de custo envolve as características do produto, peso, dimensão e perecividade, endereço do cliente, agências de entrega etc;
• Custo financeiro: ainda a maioria dos produtos são pagos por meio de boleto bancário ou cartão. O custo para cada boleto pago no banco gira em torno de 2 reais, e por meio de cartão de crédito, a loja paga uma taxa mensal ao redor de 50 reais mais 4,5% do valor de cada transação.
Referências Bibliográficashttp://www.nuted.ufrgs.br/oa/dimos/modulo1.html#:~:text=Podemos%20citar%20alguns%20exemplos%20de,%2C%20netbook%2C%20GPS%2C%20tablet.
https://www.ecycle.com.br/wearables/
https://www.maxwell.vrac.puc-rio.br/56182/56182_5.PDF
https://www.monitoratec.com.br/blog/desenvolvimento-mobile/
https://www.monografias.ufop.br/bitstream/35400000/2440/1/MONOGRAFIA_Estrat%C3%A9giasAn%C3%A1liseConsumo.pdf
https://appmaster.io/pt/glossary/otimizacao-de-desempenho-em-dispositivos-moveis
https://urmobo.com.br/blog/dispositivos-moveis/#:~:text=A%20conectividade%20m%C3%B3vel%20tem%20sido,das%20tecnologias%205G%20e%206G.
https://www.devmedia.com.br/introducao-a-comunicacao-bluetooth-no-android/27636#:~:text=Um%20dispositivo%20operando%20bluetooth%20pode,f%C3%A1cil%20opera%C3%A7%C3%A3o%20e%20a%20comodidade.
http://www.redesemfio.ufmg.br/inicio/tecnologias/#:~:text=As%20tecnologias%20de%20rede%20sem,r%C3%A1dio%20para%20transmiss%C3%A3o%20dos%20sinais.
https://medium.com/sicreditech/sistemas-distribu%C3%ADdos-conceito-e-defini%C3%A7%C3%B5es-f2baa4efc88d
https://resultadosdigitais.com.br/marketing/comunicacao-assincrona/
https://www.alura.com.br/artigos/node-js-definicao-caracteristicas-vantagens-usos#:~:text=De%20acordo%20com%20sua%20defini%C3%A7%C3%A3o,do%20ambiente%20do%20navegador%20web.
https://www.controle.net/faq/tolerancia-a-falhas-o-que-sao-sistemas-tolerantes-a-falha
https://www.estrategiaconcursos.com.br/blog/sistemas-distribuidos/
https://www.linkedin.com/pulse/impact-mobile-apps-everyday-life-weburban/
https://alsweb.com.br/glossario/o-que-e-adaptacao-de-interface-para-diferentes-dispositivos/#:~:text=A%20adapta%C3%A7%C3%A3o%20de%20interface%20para%20diferentes%20dispositivos%20%C3%A9%20essencial%20para,experi%C3%AAncia%20de%20usu%C3%A1rio%20de%20qualidade.
https://recoverit.wondershare.com.br/computer-backup/run-real-time-sync-for-folders-in-windows.html#:~:text=O%20principal%20objetivo%20da%20sincroniza%C3%A7%C3%A3o,ao%20sincronizar%20os%20dados%20automaticamente.
https://canaltech.com.br/android/como-economizar-bateria-do-celular-dicas/
https://appmaster.io/pt/blog/arquitectura-de-aplicacoes-moveis-em-2022-construa-a-sua-aplicacao-movel
https://blog.vinco.com.br/arquitetura-de-microsservicos-x-arquitetura-monolitica/
https://www.controle.net/faq/cliente-servidor-uma-estrutura-para-a-computacao-centralizada
https://aws.amazon.com/pt/event-driven-architecture/#:~:text=O%20que%20%C3%A9%20uma%20arquitetura%20orientada%20por%20eventos%3F&text=Uma%20arquitetura%20orientada%20por%20eventos%20usa%20eventos%20para%20acionamento%20e,aplica%C3%A7%C3%B5es%20modernas%20criadas%20com%20microsservi%C3%A7os.
https://www.dna.tv.br/o-mundo-do-streaming-desafios-e-oportunidades/
https://sebrae.com.br/sites/PortalSebrae/artigos/como-promover-o-engajamento-nas-redes-sociais,6606d5a0b0642810VgnVCM100000d701210aRCRD#:~:text=O%20engajamento%20do%20usu%C3%A1rio%20ocorre,em%20uma%20taxa%20de%20engajamento.
https://www.oficinadanet.com.br/artigo/1769/tipos_de_aplicacoes_e_tecnologias_no_comercio_eletronico
image1.webp
image2.webp
image3.webp

Continue navegando