Fundamentos da Computação Móvel (Sistemas Computacionais Móveis e Plataformas) Tópicos Especiais em Sistemas de Informação I (Programação de Dispositivos Móveis) Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão
Objetivos Nesta aula iremos continuar a apresentar os Fundamentos da Computação Móvel, sendo abordado e apresentado os conceitos básicos sobre os sistemas computacionais móveis e as suas plataformas (SO s e LP s).
Plano de Aula Sistemas Computacionais Móveis Plataformas
Sistemas Computacionais Móveis Sistemas Computacionais Móveis e a Programação para Dispositivos Móveis A F1 e a Telemetria
Sistemas Computacionais Móveis Sistemas Computacionais Móveis e a Programação para Dispositivos Móveis Um carro de F1 possui mais de 100 sensores; Uma volta de corrida gera 15 Mb; Uma volta de treino gera 25 Mb; Os dados capturados são enviados a FIA (em modo criptografado), via rádio (frequência de 15 mil MHz); Após, estes são distribuídos equipes. às
Sistemas Computacionais Móveis Sistemas Computacionais Móveis Sistemas Computacionais Móveis são sistemas computacionais que podem facilmente ser movidos fisicamente ou cujas capacidades podem ser utilizadas enquanto eles estão sendo movidos; Devido a mobilidade, eles normalmente oferecem recursos e características que não encontramos em sistemas comuns: Monitoramento do nível de energia e prevenção de perda de dados em caso de pane de energia; Armazenamento de dados local e/ou remoto, através de conexão com ou sem fio; Sincronização de dados com outros sistemas; Etc. Atualmente, consideramos sistemas móveis os sistemas que são desenvolvidos para rodar em palmtops, celulares, tablets e similares.
Sistemas Computacionais Móveis História dos Dispositivos Móveis Newton Message Pad Página da Apple fazendo o marketing sobre o seu PDA (Personal Digital Assistant)
Sistemas Computacionais Móveis História dos Dispositivos Móveis
Sistemas Computacionais Móveis História dos Dispositivos Móveis
Sistemas Computacionais Móveis História dos Dispositivos Móveis http://www.terra.com.br/noticias/tecnologia/infograficos/evolucao-tablets/
Sistemas Computacionais Móveis Telefonia Móvel Paralelo ao desenvolvimento dos dispositivos móveis também avançava a telefonia móvel; Em 1973 a Motorola criou o primeiro telefone realmente móvel e portátil, Motorola DynaTAC 8000X; Surge a 1ª Geração de celulares analógicos.
Sistemas Computacionais Móveis Telefonia Móvel Em 1990 surgiu a 2ª Geração, a 2G, já com tecnologia de rede digital; A rede GSM veio logo em seguida, lançada na Finlândia; Melhorou a transmissão de voz, barateou o custo e massificou a utilização de celulares no mundo; Em 2001 apareceu no Japão a rede 3G. Esta rede é digital, de alta velocidade proporcionando melhor transmissão de dados em conjunto com voz e a tão sonhada vídeo-chamada tornou-se realidade; Em meados de 2009, surgiu a rede 4G com a promessa de velocidade de transmissão 10 vezes superior à 3G.
Sistemas Computacionais Móveis Telefonia Móvel
Sistemas Computacionais Móveis Telefonia Móvel
Sistemas Computacionais Móveis Telefonia Móvel Mesmo quatro anos após o seu lançamento, a internet móvel 4G ainda é considerada algo recente na maior parte do mundo; Nesta tecnologia acaba a diferença entre voz e dados. Tudo vira dados sendo a transmissão toda via internet, utilizando o conceito de VoIP e streaming; Atualmente as operadoras tem ofertado alguns serviços com a nomenclatura: 4,5G, 4G Max e 4G+.
Desafios da Mobilidade Vamos ver alguns desafios e barreiras que precisam ser transpostos para viabilizar certas soluções deste tipo. Custo de hardware. Para certas aplicações, são demandados certos dispositivos que têm um custo ainda relativamente elevado; Baixo poder de processamento. Como os dispositivos móveis tem reserva de energia limitada, para garantir uma autonomia de uso razoável, a saída é cortar em poder de processamento das CPUs; Pouca infra-estrutura de comunicação. A rede de comunicação de dados existente (WI-FI, GSM/GPRS ou EDGE, etc.) ainda não está confiável suficientemente para certos tipos de aplicações; Mão-de-obra insuficiente. Ainda há uma cultura na área de TI de que desenvolver para dispositivos móveis é a mesma coisa de desenvolver para desktop. São parecidos, mas não iguais; Interoperabilidade. A comunicação de sistemas móveis com sistemas já existentes nas empresas é um grande desafio, principalmente porque tais sistemas não foram construídos para este tipo de interação. Sistemas Computacionais Móveis
Sistemas Computacionais Móveis Necessidades do Mercado Alguns dos segmentos em que a programação para dispositivos móveis podem ser necessárias: Transferência de Fundos; Serviços com Base na Localização (LBS); Pesquisa Móvel; Navegação Móvel; Monitoramento Móvel da Saúde; Pagamento Móvel; Near Field Communication Services (NFC); Publicidade Móvel; Mensageiro Instatâneo Móvel; Jogos e Entretenimento Móveis.
Sistemas Operacionais Móveis Quem manda nos sistemas operacionais móveis? Imagine que você tem três aplicativos que usa constantemente, no lazer, nos estudos, no trabalho, etc; Você vai adquirir um novo celular; E descobre...você não conseguirá instalar estes três aplicativos neste celular; O que fazer? FaceBook Mobile WhatsApp Google Maps
Sistemas Operacionais Móveis Windows 10 Plataforma Universal do Windows (UWP): é a plataforma de aplicativos do Windows 10. Você pode desenvolver aplicativos para UWP com apenas um conjunto de APIs, um pacote do aplicativo e uma loja para alcançar todos os dispositivos Windows 10: computadores, tablets, telefones, Xbox, HoloLens, Surface Hub e muito mais.
Sistemas Operacionais Móveis Windows 10 Windows Runtime: uma API nativa interna do sistema operacional. Essa API é implementado em C++ e tem suporte em C#, Visual Basic, C++ e JavaScript; Família de Dispositivos e Família de Dispositivos Universal:
Sistemas Operacionais Móveis Windows 10 Família de Dispositivos e Família de Dispositivos Universal:
Sistemas Operacionais Móveis Windows 10 Família de Dispositivos e Família de Dispositivos Universal:
Sistemas Operacionais Móveis Firefox OS O Firefox OS é um sistema operacional móvel aberto, baseado em Linux; O Firefox OS, considera a Web como sua plataforma; As apps móveis utilizam somente HTML 5, CSS e Javascript, ou seja, tecnologia web; As Web APIs são fornecidas pela Gecko, uma engine open source escrita em C++ utilizada em softwares pela Mozilla, como seu navegador, o Firefox. Possui uma Loja de Aplicativos denominada FIREFOX MARKETPLACE; O projeto foi encerrado em 2016; No Brasil, chegou a rodar em dois smartphones: Alcatel One Touch Fire e o LG Fireweb
Sistemas Operacionais Móveis ios Em 2007 a Apple lançou o primeiro iphone e inaugurou uma nova era no mercado dos aparelhos celulares; A primeira versão do programa já incluía funcionalidades como e- mail, navegador e player para vídeos; Desde o primeiro lançamento, os aparelhos da marca usam o sistema de telas sensíveis ao toque para celular, o que ditou a tendência do mercado nos anos seguintes; Com um sistema dedicado, o ios é talhado para as funções de um modelo específico de hardware e explora suas potencialidades ao máximo; No último trimestre de 2012, 21% dos novos celulares vendidos no mundo rodavam ios, ou seja, eram iphones da quarta ou quinta geração;
Sistemas Operacionais Móveis ios Conhecido como iphone OS antes de Junho de 2010; Usado em produtos como o iphone, o ipod Touch e o ipad; A Apple não permite rodar em software de terceiros; O ios deriva do Mac OS X, sendo, portanto, uma variação de sistema operacional do tipo Unix; Aplicativos, tanto oficiais quanto desenvolvidos por terceiros, são distribuídos através da App Store; A versão atual do ios é 11; A partir da versão 10, foi permitido aos devs interagir diretamente com aplicativos nativos do sistema, tirar vantagem de tecnologias proprietárias em seus aplicativos e desenvolver aplicações complexas escrevendo menos código, com o Swift.
Sistemas Operacionais Móveis ios - JailBreak Dev-Team; Jay Freeman (saurik); A Apple não dá garantia aos dispositivos jailbroken; Criado para permitir a instalação e utilização de aplicativos não autorizados pela Apple ; Possui app store própria (Cydia); Muitos aplicativos que são barrados pela Apple ganharam notoriedade na Cydia Store;
Sistemas Operacionais Móveis Google Android O sistema operacional desenvolvido pela Google domina soberano o mercado mundial de telefones; Juntos, ios e Android detêm 99,6% do mercado mundial de smartphones; Até o final do ano passado, mais de 500 milhões de aparelhos no mundo já usavam o sistema operacional da Google; Aplicativos para Android surgem em profusão no mercado, e muitos Apps pagos para usuários do iphone chegam aos telefones do robozinho de graça;
Sistemas Operacionais Móveis Uma geral sobre o Google Android Foi oriundo da ação da Open Headset Aliance, grupo formado por gigantes do mercado de telefonia liderados pelo Google; Alguns membros: Motorola, HTC, LG, Samsung, Sony Ericson, Toshiba, Intel, Asus, entre outros; O sistema é baseado na plataforma Java com sistema operacional Linux; Android é a primeira plataforma móvel completa, aberta e livre (Xing ling pode rodar android!!!); Fácil integração com as Aplicações nativas e serviços do google e possui um poderoso ambiente de desenvolvimento e uma loja para Apps;
Tecnologias de Desenvolvimento Plataforma x Tecnologia de Desenvolvimento Windows 10 Visual C++, C#, Visual Basic e JavaScript; Firefox OS HTML 5 + CSS + JavaScript; ios Objective-C e Swift; Android Android SDK; E o JAVA ME? Java ME Embedded Suite Java Embedded Suite
Tecnologias de Desenvolvimento Windows 10 A linguagem de interface é XAML que é uma linguagem declarativa baseada no XML para uma experiência de interface do usuário nativa de total fidelidade; Para Visual C++, C# e Visual Basic (XAML) /Para Visual C++ (DirectX ou XAML) / Para JavaScript (HTML); Para desenvolver usamos o Visual Studio 2017 (proprietário); Porém a Microsoft libera uma versão Visual Studio 2017 gratuitamente;
Tecnologias de Desenvolvimento Windows 10 XAML - Extensible Application Markup Language
Tecnologias de Desenvolvimento Visual Studio 2017
Tecnologias de Desenvolvimento Firefox OS HTML 5 + CSS + JavaScript Todo aplicativo criado para o Firefox OS é baseado em tecnologia web, como HTML 5, CSS e Javascript; Para desenvolver um app devemos inicialmente criar um arquivo manifest (no formato JSON); Este arquivo será o responsável por transformar o aplicativo web em um móvel para o Firefox OS; Este arquivo também será usado ao disponibilizar o app na loja de aplicativos da Firefox OS (Marketplace).
Tecnologias de Desenvolvimento ios Objective-C Em março de 2008 foi lançado o Software Development Kit (SDK) para o desenvolvimento de aplicativos para o ios; Apesar de liberar o desenvolvimento, para carregar um aplicativo no aparelho é necessário pagar uma taxa. Para efeitos de testes, o SDK possui um simulador de iphone. Os aplicativos são escritos utilizando Objective-C;
Tecnologias de Desenvolvimento ios Objective-C O Objective-C é uma linguagem de programação orientada a objetos que adiciona o estilo de troca de mensagens de Smalltalk à linguagem de programação C; O Objective-C não oferece suporte à criação de interface de usuários, recursos em rede ou à leitura de arquivos; Este suporte vem de um conjunto de kits (UIKit, GameKit, SceneKit, CallKit, SiriKit, etc);
Tecnologias de Desenvolvimento ios Objective-C - XCode
Tecnologias de Desenvolvimento ios Objective-C - Swift
Tecnologias de Desenvolvimento Android Android SDK
Tecnologias de Desenvolvimento Android Android Studio
Tecnologias de Desenvolvimento Outras Opções
Tecnologias de Desenvolvimento Outras Opções
Tecnologias de Desenvolvimento Outras Opções
Tecnologias de Desenvolvimento Outras Opções
Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva
Próxima Aula Organização do Ambiente e Primeiro App.
Referências Valentino Lee, Heather Schneider, Robbie Schell. Aplicações Móveis - Arquitetura, Projeto E Desenvolvimento. Editora Pearson Makron Books. 2006.