Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 9,336 views

 

Statistics

Views

Total Views
9,336
Slideshare-icon Views on SlideShare
8,606
Embed Views
730

Actions

Likes
0
Downloads
184
Comments
0

3 Embeds 730

http://cetorres.com 728
http://www.carloseugeniotorres.com 1
http://carloseugeniotorres.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Módulo I - Introdução Aula 2Carlos Eugênio Torres Faculdade ChristusEngenheiro de Informática Sistemas de Informaçãohttp://cetorres.com 17/09/2010
    •  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).
    •  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.
    •  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.
    •  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
    •  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
    •  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.
    •  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
    •  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.
    •  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.
    •  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)
    •  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.
    •  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.
    •  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
    •  Oracle Java ME - Arquitetura
    •  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
    •  Microsoft .NET Compact Framework - Arquitetura
    •  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
    •  Google Android - Arquitetura
    •  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
    •  Apple iOS - Arquitetura
    •  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
    •  Nokia Symbian OS - Arquitetura
    •  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
    •  Palm WebOS - Arquitetura
    •  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.
    •  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.
    •  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;
    •  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
    •  Case 2: Aplicação para gestão móvel de ERP - Solução  Dispositivo indicado: iPhone 4  Plataforma: Apple iOS
    •  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.
    •  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).
    •  Exemplo
    • Próxima aulaMontagem de ambiente da plataforma Google Android
    • FIMdúvidas?