Advertisement

Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2

Software Engineer / CEO at CACIRA
Jan. 20, 2011
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

Advertisement

Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2

  1. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Faculdade Christus Engenheiro de Informática Sistemas de Informação http://cetorres.com 17/09/2010
  2. Graduado em Ciência da Computação pela UFC, Brasil (2004);  Graduado em Engenharia Informática e de Computadores pelo IST, Portugal (2005);  Mais de 10 anos de experiência com desenvolvimento móvel, inclusive internacional, na Vodafone Telecom, Portugal;  MBA em Gestão de Projetos pela FGV, Brasil (em andamento);  Fundador da Cacira Tecnologia, empresa especializada em soluções para as plataformas web e móvel (http://cacira.com.br).
  3. Módulo I - Introdução  Dia 03/09 ▪ Conceito de Mobilidade; ▪ História da computação móvel; ▪ Utilidade das aplicações móveis; ▪ Desafios; ▪ Necessidades do mercado;  Dia 17/09 ▪ Características técnicas dos dispositivos móveis; ▪ Principais plataformas de desenvolvimento; ▪ Plataformas mais indicadas para cada solução; ▪ Aplicações móveis e a internet;  Dia 24/09 ▪ Prática: Montagem de um ambiente de programação em uma plataforma de desenvolvimento móvel;  Dia 01/10 ▪ Prática: Desenvolvimento de um mini-projeto de aplicação móvel.
  4. Quando pensamos em desenvolver para dispositivos móveis, temos que ter em mente suas principais características técnicas para nos ajudar a direcionar o desenvolvimento.  Em termos de smartphones, as principais são: tamanho e resolução da tela, capacidade de memória e processamento, métodos de entrada de dados e conectividade.
  5. TAMANHO E RESOLUÇÃO DA TELA  O dispositivos móveis atuais têm cada vez mais vindo com telas grandes e com alta resolução.  O iPhone 4, por exemplo, tem um display de 3,5 polegadas com uma resolução de espantosos 960x640 pixels.  Mas nem todos os dispositivos tem as capacidades e temos que desenvolver pensando em vários tamanhos e resoluções
  6. TAMANHO E RESOLUÇÃO DA TELA  Nossa aplicação móvel deve estar preparada para se adaptar automaticamente ou devem ser feitas versões diferentes para cada tamanho específico. Blackberry Bold 9000 Apple iPhone 4 Android Nexus One Motorola Milestone Symbol MC50 HTC s710 2,6 pol. 3,5 pol. 3,7 pol 3,7 pol 3,0 pol 2,4 pol 480 x 320 640 x 960 480 x 800 480 x 854 240 x 320 240 x 320
  7. MEMÓRIA E PROCESSAMENTO  Nossa aplicação móvel deve preocupar-se com a capacidade de memória e processamento do dispositivo em que irá ser executada. Geralmente essa capacidade é limitada e devemos construir um código na programação bastante leve e eficiente, que não sobrecarregue os recursos do dispositivo e possa, ao mesmo tempo, tirar o máximo de proveito do equipamento.
  8. MEMÓRIA E PROCESSAMENTO  As principais configurações encontradas atualmente no mercado para essa característica: Processador Memória RAM Memória ROM Armazenamento ~ 350 Mhz 256 MB 512 MB Externo <= 4 GB ~ 500 Mhz 512 MB 512 MB Exerno <= 16 GB ~ 1 Ghz 512 MB 512 MB Interno / Externo <= 32 GB
  9. MÉTODOS DE ENTRADA DE DADOS  São as formas com que o usuário irá entrar com dados nos dispositivos para alimentar a nossa aplicação.  Podem ser: teclado (virtual ou físico), câmera, microfone, sensores de aceleração, luminosidade e proximidade, tela sensível ao toque, botões de acesso e cabos de dados.
  10. MÉTODOS DE ENTRADA DE DADOS  Quando estamos projetando nossa aplicação, temos que planejar que métodos de entrada iremos utilizar para obter dados do usuário.  Para cada método, existem funções nas frameworks de desenvolvimento diferentes para se poder acessar a entrada do usuário. Seja a API da câmera, dos sensores, o interpretador de voz através do microfone, os botões etc.
  11. CONECTIVIDADE  As formas de comunicação e conexão com o mundo exterior ao dispositivo móvel hoje em dia é a principal característica a se analisar.  As formas mais freqüentes atualmente são: ▪ GSM (telefonia móvel) ▪ Redes sem fio (WiFi) ▪ Dados móveis (3G, Edge, GPRS) ▪ Bluetooth ▪ GPS e a-GPS ▪ USB (cabo de dados)
  12. CONECTIVIDADE  Ao se desenvolver uma aplicação móvel, deve-se saber de que formas ela irá se comunicar com o meio externo para realizar trocas de arquivos, atualizações de banco de dados locais e remotos, solicitações de informações a serviços online.  A partir daí, a programação irá utilizar a API correta para cada tipo de conexão, realizando a comunicação com sucesso.
  13. Atualmente, as plataformas ou frameworks mais utilizadas no desenvolvimento de aplicações móveis são:  Oracle Java ME;  Microsoft Windows Mobile;  Google Android;  Apple iOS;  Nokia Symbian OS;  Palm WebOS;  Outras plataformas proprietárias.
  14. Oracle Java ME  Linguagem: Java;  Bastante difundida dentre os celulares para jogos e aplicações de utilidades;  A Java Micro Edition divide-se em: ▪ CLDC: Connected Limited Devices Configuration ▪ MIDP: Mobile Information Device Profile ▪ CDC: Connected Devices Configuration  IDE: Eclipse e Netbeans  SDK: ▪ http://www.oracle.com/technetwork/java/javame/overview/index.html
  15. Oracle Java ME - Arquitetura
  16. Microsoft Windows Mobile  Linguagem: ▪ .NET Compact Framework C# e VB.NET;  Bastante difundida dentre as aplicações corporativas pela sua produtividade e integração com outros produtos Microsoft;  Pequena curva de aprendizagem para quem já conhece .NET Framework;  IDE: Visual Studio .NET  SDK: ▪ http://msdn.microsoft.com/en-us/netframework/aa497273.aspx
  17. Microsoft .NET Compact Framework - Arquitetura
  18. Google Android  Linguagem: Java, Web;  Criada pela Google para smartphones;  Muitas funcionalidades na API;  Possui loja de venda de aplicações. Desenvolvedor paga anuidade para vender na loja;  Pequena curva de aprendizagem para quem já conhece Java;  IDE: Eclipse  SDK: ▪ http://developer.android.com/sdk/index.html
  19. Google Android - Arquitetura
  20. Apple iOS  Linguagem: Objective-C, Web;  Exclusivo para iPhone, iPod Touch e iPad;  Muitas funcionalidades na API, mas a aplicação fica presa numa “sandbox” quando instalada;  Possui loja de venda de aplicações. Desenvolvedor paga anuidade para vender na loja;  Grande curva de aprendizado na linguagem Objective-C, por ser pouco difundida;  IDE: Xcode (apenas Mac OS X);  SDK: ▪ http://developer.apple.com/devcenter/ios/index.action
  21. Apple iOS - Arquitetura
  22. Nokia Symbian OS  Linguagem: C++, Qt, Web;  Principalmente encontrado em smartphones Nokia;  Curva de aprendizado média na linguagem C++ com uso de Qt (plataforma para criação de UI) ;  IDE: Fornecida pela fabricante;  SDK: ▪ https://developer-secure.symbian.org/main/tools_and_kits/index.php
  23. Nokia Symbian OS - Arquitetura
  24. Palm WebOS  Linguagem: Web, C++;  Somente encontrado em smartphones Palm;  Rápido e bonito, mas com poucos usuários e aplicações até o momento;  Destaque para desenvolvimento em plataforma Web encorajado pelo próprio SDK;  IDE: Eclipse;  SDK: ▪ http://developer.palm.com/index.php?option=com_content&view=article&layo ut=page&id=1788
  25. Palm WebOS - Arquitetura
  26. Cada solução móvel exige uma análise detalhada de todos os requisitos que devem ser implementados na aplicação;  De acordo com o objetivo principal da solução, um dispositivo móvel e uma plataforma são indicados como os melhores, que contém as melhores funcionalidades, facilidade e produtividade necessárias para alcançar o objetivo com eficiência e eficácia.
  27. Case 1: Aplicação móvel para o Censo 2010 do IBGE  Irá exigir uso diário e contínuo durante grande número de horas;  Uso externo, sujeito ao tempo, poeira, quedas;  Boa capacidade de memória;  Recursos de comunicação móvel, 3G e Edge;  Recursos de GPS para localização global;  Grande número de dispositivos em operação;  Sincronização com sistema central;  Facilidade de instalação e manutenção;  Capacidade de produtividade no desenvolvimento.
  28. Case 2: Aplicação para gestão móvel de ERP  Será utilizado apenas pelos executivos da empresa;  Exige visual arrojado e fácil usabilidade;  Comunicação móvel, 3G, WiFi;  Sincronização apenas sem fio;  Poucos dispositivos em operação;  Reconhecimento de voz para autenticação;
  29. Case 1: Aplicação móvel para o Censo 2010 do IBGE – Solução  Dispositivo indicado: Coletor Symbol MC50  Plataforma: Windows Mobile .NET Compact Framework
  30. Case 2: Aplicação para gestão móvel de ERP - Solução  Dispositivo indicado: iPhone 4  Plataforma: Apple iOS
  31. Umas das formas de comunicação que podem ser usadas pelas aplicações móveis é através da internet;  Utiliza meios de ligações sem fio como 3G, Edge, GPRS ou WiFi;  Solicita e envia informações a serviços web, e-mail IMAP, RSS feeds, API remotas a fim de buscar integração com variados sistemas online.
  32. Todas as plataformas disponibilizam API para comunicação com os protocolos disponíveis na internet;  Integrações mais comuns:  Redes sociais (Twitter, Facebook etc);  RSS feeds e blogs;  Mapas online;  Meteorologia  Notícias (economia, esportes, política etc).
  33. Exemplo
  34. Próxima aula Montagem de ambiente da plataforma Google Android
  35. FIM dúvidas?
Advertisement