Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura Para Dispositivos Móveis Organização: Giovanni La Porta Sócio Diretor – Framework System Arquiteto de Software DBA A Incrível Evolução dos Mobiles Giovanni La Porta twitter.com/frameworksystem Consultoria Mobile Treinamentos Java / .Net Fábrica de Softwares Cloud Computing Java .Net .Android .Banco .SAP Então... Você está preparado? Objetivo Definição de Mobile História dos Dispositivos Móveis Funcionamento Aplicações Fabricantes Dispositivos Móveis Desenvolvimento para Dispositivos Móveis Produtos Oportunidades Impactos da Evolução dos Dispositivos Móveis Exercício de Futurologia O que é um MOBILE? O que é um Mobile? É um neologismo do inglês para o respectivo em português “Dispositivo Móvel” É um termo genérico usado para se referir a uma variedade de dispositivos compactos que permitem as pessoas acessarem dados e informações em qualquer lugar que estejam A História Isso aí é um Walk-Talk?! Ficha Técnica Fabricante: Motorola Modelo: DynaTAC 8000x Ano: 1983 Peso: 1Kg Dimensão: 30 cm Memória: 30 números Autonomia: 1 hora Preço: US$ 3,995 US$ 12,000 ou R$ 20.000,00 A História Reduzir é o caminho para o sucesso! Como funciona um MOBILE? Um celular pode enviar dados para um outro celular ou interagir com computadores na Internet Como funciona um Celular? Os telefones digitais convertem sua voz em informação binária (1s e 0s) e em seguida a comprimem e enviam Esta compressão permite que 10 chamadas de um telefone digital ocupem o mesmo espaço de uma chamada analógica. Rede 3G As redes 3G têm velocidade de transferência potencial de até 3 Mbps (cerca de 15 segundos para o download de uma música em MP3 de 3 minutos). Os telefones 2G mais rápidos podem chegar até 144 Kbps (cerca de 8 minutos para o download de uma música de 3 minutos). Quais as aplicações de um MOBILE? Quais as aplicações de um Mobile? Telefonar Enviar SMS Enviar MMS Conectar na internet e navegar Se localizar de forma georeferenciada Diversão Trabalhar Acelerar o processo produtivo Informatizar o processo produtivo Acelerar troca de informações Os Dispositivos Dispositivos Celulares SmartPhones Tablets Kindle PDA GPS Device NetBooks Palms etc Sistemas Operacionais Linux (Diversas variações) Windows Windows ME Windows Mobile IPhoneOS Android Sistemas Proprietários Linguagens de Programação e Arquiteturas de Desenvolvimento JAVA JME, J2ME (Java Micro Edition) SuperWaba Kindle Development Kit (KDK) Framework .net para Windows ME Objective-C para MACOSX Android SDK C padrão Linguagens proprietárias Assembly Desafios para Desenvolvimento Mobile Desafios para Desenvolvimento Mobile Grande variedade de dispositivos Grande variedade de linguagens Recursos limitados de hardware Grande esforço em homologações e testes Documentações ainda nascentes Falta de pessoal qualificado Falta de qualificadores IPhone e IPAD Como eu crio aplicações para IPhone? IPhone SDK Ambiente disponível apenas para o MACOSX Para Windows existem projetos amadores do MACOSX como o iNeDeb 10.5.5 e o Hackintosh http://www.blogdohackintosh.com/ É preciso tomar todos os cuidados para que o aplicativo tenha um bom desempenho e não prejudique a desempenho do iPhone. http://webclaudio.wordpress.com/ IPhone SDK Template IPhone SDK Xcode: é o núcleo do ambiente de desenvolvimento integrado do SDK, onde você cria projetos, escreve o código em um editor especial, compila código e, em geral, gerencia as suas aplicações. Interface Builder: é uma ferramenta que permite que você ponha em conjunto os elementos gráficos do seu programa, incluindo janelas e menus, através de um método rápido e confiável. iPhone Simulator: permite que você visualize um iPhone em seu desktop. Você provavelmente teria que pagar a licença da Apple para desenvolver no Hardware pois o XCODE só se comunica com o IPHONE se estiver devidamente licenciado ( $99 o mais barato). Instruments: é um programa que permite que você dinamicamente debug, personalize e trace o seu programa. Dashcode: é um ambiente gráfico de desenvolvimento, que é utilizado para criar web-based (aplicações web) incorporando programas HTML, CSS e JavaScript. Objective-C Toda a programação do SDK é feita em Objective-C É um completo superconjunto da lingagem C, permitindo que você escreva qualquer código em C tradicional Acrescenta ainda poderosas capacidades da orientação a objeto. Objective-C é inteiramente construído em torno de objetos como Windows, Views, botões, sliders e controladores IPhone XCODE com Objective-C Estatísticas Apple Mac App Store é a número 1 como canal de vendas de software on-line Mais de 200 milhões de dispositivos iOS vendidos 25 milhões de iPads nos primeiros 14 meses 15 bilhões de músicas vendidas pelo iTunes Store iBookstore downloads são mais de 130 milhões 425.000 apps à disposição na App Store; 90.000 só para iPad 14 bilhões de apps downloaded da App Store Apple pagou mais de US$2.5 billion para os desenvolvedores 225 milhões de contas no iTunes 50 milhões de usuários registrados de jogos Kindle Kindle É um pequeno aparelho criado pela empresa americana Amazon, que tem como função principal ler livros eletrônicos e outros tipos de midia digital. O primeiro modelo foi lançado nos Estados Unidos em 19 de Novembro de 2007. Como eu crio aplicações para o Kindle? Kindle Development Kit (KDK) Versão Beta É necessário solicitar um registro de Beta Developer http://kdk.amazon.com Amazon cobra uma taxa para cobrir os custos de download e uso de transferências de bytes dentro dos programas PDA PDA ou HandHeld ou PalmTop Personal Digital Assistants ou Assistente Pessoal Digital É computador com dimensões reduzidas dotado de grande capacitade computacional cumprindo funções agregadas com aplicações industriais Utilizado para mapeamento de rodovias Utilizado pelo Exército Brasileiro Utilizado pelo IBGE Utilizado para apontamento de campo Como eu crio aplicações para PDAs? Framework .Net A plataforma mais utilizada para desenvolvimento de aplicações PDA para Pocket PC é o Framework .Net O desenvolvimento é voltado para a arquitetura Desktop podendo construir as interfaces com DevX Completa compatibilidade com Windows OS Aceita os bancos de dados MSSqlServer Express e Microsoft Compact Express Visual Studio com C# para Framework .Net 4.0 ANDROID Android • Plataforma de Software para dispositivos móveis • Sistema Operacional + Middleware + Aplicações Android no mercado • 2011: 37% do mercado de smartphones dos EUA. Android no mercado • 2011: 50% das aquisições recentes (últimos 6 meses) Dispositivos Android • Vários fornecedores • Smartphones• Tablets • TVs (Google TV) Dispositivos Android - Versões Platforma Codename API % 1.5 Cupcake 3 1,0% 1.6 Donut 4 1,8% 2.1 Eclair 7 13,3% 2.2 Froyo 8 51,2% 2.3 a 2.3.2 Gingerbread 9 0,6% 2.3.3 a 2.3.4 10 30,7% 3.0 Honeycomb 11 0,2% 3.1 12 0,7% 3.2 13 0,5% Arquitetura da plataforma • A plataforma é constituída de uma pilha de camadas de software que roda em cima do sistema operacional modificado Linux • Acima dessas camadas vem a Dalvik VM, as bibliotecas Java e as aplicações finais dos usuários. Kernel do Linux modificado • Sistema operacional Linux 2.6 modificado • Fornece serviços centrais: – Segurança – Gerenciamento de memória – Gerenciamento de processos – Serviços de rede – Drivers... • Camada de abstração entre hardware e camadas de software Runtime Android • Bibliotecas básicas de funcionalidades JAVA • Dalvik Virtual Machine: VM otimizada • Processos separados para cada aplicação (uma instância da DVM por processo) Aplicações • Pacote de aplicações chaves: – E-mail – SMS – Agenda – Mapas – Navegador – Contatos... Ambiente de Desenvolvimento • Java Development Kit (JDK) versão 6 • Android SDK • Eclipse (Indigo) + ADT • Plataforma 2.2+ FRAMEWORKS PARA DESENVOLVIMENTO Robotium Spring Android O R M L I T E ORMLite Lightweight Object Relational Mapping (ORM) Supports Android and SQLite @DatabaseTable(tableName = "accounts") public class Account { @DatabaseField(id = true) private String name; @DatabaseField(canBeNull = false) private String password; ... Account() { // all persisted classes must define a no-arg constructor with at least package visibility } ... } OrmLite Lightweight Object Relational Mapping (ORM) Supports Android and SQLite // you get the SQLiteOpenHelper from your Android Activity ConnectionSource connectionSource = new AndroidConnectionSource(sqliteOpenHelper); // instantiate the DAO to handle Account with String id Dao<Account,String> accountDao = BaseDaoImpl.createDao(connectionSource, Account.class); // if you need to create the 'accounts' table make this call TableUtils.createTable(connectionSource, Account.class); // retrieve the account Account account2 = accountDao.queryForId(name); // show its password System.out.println("Account: " + account2.getPassword()); // close the connection source connectionSource.close(); Spring Android SPRING ANDROID é uma extenção do spring framework que vem para simplificar o desenvolvimento de aplicações Android. http://www.springsource.org/spring-android <dependency> <groupId>org.springframework.android</groupId> <artifactId>spring-android-core</artifactId> <version>${spring-android-version}</version> </dependency> Modularidade Performance Portabilidade Testabilidade Spring Android <activity android:name="org.springframework.android.showcase.social.twitter.TwitterActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="x-org-springsource-android-showcase" android:host="twitter-oauth-response" /> </intent-filter> </activity> Integração com Twitter Context context = getApplicationContext(); SQLiteOpenHelper repositoryHelper = new SQLiteConnectionRepositoryHelper(context); Inicializando o SQLite Database Robotium É um framework de testes criado para tornar fácil e robusto a criação de testes automatizados de caixa- preta para aplicações Android Similar ao Selenium , Rational Functional Tester , so que para Android Vantagens • Desenvolver test cases robustos. • Alta produtividade para escrever testes sólidos. • Integração Com Maven e Ant • Gerência Multiplipos Activities do Android • Fácil utilização para gravar os testes Google API Google API Produtos Produtos Aplicativos de Recreação Street Fighter US$ 8,50 Iron Man US$ 6,50 Aplicativos de Informação Forecast US$ 9,90 Mobile Visa – Ver com operadora Aplicativos de Gerenciamento e Controle MSSQLServer Mobile Manager - Pago Oracle Mobile Administrator - Pago Redes Sociais Facebook - Gratuito Twitter - Gratuito Localizadores Mobile Maps - Gratuito Google Maps - Gratuito BHTrans On-Line - Gratuito Jogos Jogos Estudo de 2010 mostra que jogos para celular são os aplicativos mais baixados no mundo 64% dos usuários analisados baixaram games, 60% baixaram aplicativos de previsão do tempo e 56% baixaram aplicativos de redes sociais Os usuários de IPhones são considerados os maiores jogadores, investindo cerca de 14 horas por mês na atividade 68% dos usuários utilizam IPhone ou Android ou Windows ME Somente nos EUA é faturado cerca de US$ 57 milhões anualmente Jogos Atualmente quase todos jogos de videogame tendem a ter imagens de qualidade cinematográfica e com gráficos em 3D Portanto, todos esses atributos em um jogo de celular devem ser muito bem estudados antes de serem usados A tela do celular também tem poucos pixels e pode ser um impeditivo para alguns desses recursos visuais Ferramentas A ferramenta mais utilizada para geração de jogos para Mobile (não Apple) é o J2ME Utilizar a API Java2D e Java3D para criar os gráficos e animações Gerar um JAD com o aplicativo http://www.jogosparacelular.org/2009/02/h arvest-moon-3-multiscreen.html Redes Sociais Redes Sociais Twitter Já nasceu para Mobiles Limite de caracteres é o mesmo de SMS Facebook Check in e Check out Enviar fotos Push Oportunidades Oportunidades Venda de equipamentos Desenvolvimento de aplicativos para recreação Desenvolvimento de aplicativos para gerenciamento e controle Desenvolvimento de aplicativos de Push Desenvolvimento de aplicativos Georeferenciados Consultoria e implantação Mobile Payment Lojas (Market Places) Market Places Android – Android Market Impactos Financeiros Impactos Financeiros Aumento dos custos periódicos Redução dos custos no processo produtivo Possibilidade de ganhos com Market Places Vendas de hardware Impactos Comportamentais Impactos Comportamentais Criação de um novo estilo de vida Criação de novos estilos de trabalho Criação de novos interesses Criação de novas atividades e diversões O mobile deixa de ser ferramenta e passa a ser artigo de status Consumismo desenfreado Tecnomodismo Impactos Produtivos Impactos Produtivos Redução de ferramentas e artefatos Aumento na qualidade do dado Georeferenciamento em tempo real Escalabilidade do processo produtivo Redução do tempo de retorno Aceleração do feedback Impactos Produtivos Empresa de Belo Horizonte faz cadastro dos imóveis do próprio local Impactos Produtivos Sistema calcula melhor rota para caminhão da Vale georeferenciado remotamente Impactos Produtivos Apontador de empresa de construção pesada lança produtividade de fresadoraImpactos Sociais Impactos Sociais “Com a informática de uso pessoal, foram surgindo especialistas da própria área sem intervenção direta de outros meios ou professores, e estes jovens desbravadores do mundo digital foram fazendo um processo inverso que forçou que o mundo real se adaptasse a essa nova realidade” Marco Villares – Mestre em Ciência da Computação – UNB Impactos Sociais As pessoas nunca se comunicaram de forma instantânea entre si tanto e em um período tão curto na história da própria Humanidade Aceleração dos processos decisórios Porém, pais e filhos, professores e alunos nunca estiveram tão distantes quando trata-se do uso da tecnologia e da troca de experiências entre ambos os grupos Abertura da vida privada de forma ainda não entendida Escravismo Digital Futurologia Futurologia Aumento dos recursos de hardware Criação de novos recursos de hardware Aumento dos serviços oferecidos aos Mobiles Mobile Payment Mobile Marketing Futurologia http://www.mocom2020.com/ Os livros de papel irão sucumbir aos leitores digitais? Óculos com chips para navegação web Sensorconomy http://www.mobilepedia.com.br Cresce número de celulares multi-SIMcard Minas Gerais usará SMS para fiscalização de Impostos Polícia Militar já utiliza em viaturas dispositivos móveis em São Paulo Conclusão A Incrível EVOLUÇÃO dos Mobiles “Você está preparado?”
Compartilhar