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

35
Módulo I - Introdução Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Aula 2

Upload: carlos-eugenio-torres

Post on 13-Dec-2014

8.788 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

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

Módulo I - Introdução

Carlos Eugênio TorresEngenheiro de Informáticahttp://cetorres.com

Faculdade ChristusSistemas de Informação

17/09/2010

Aula 2

Page 2: Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 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).

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

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.

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

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.

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

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 ascapacidades e temos que desenvolverpensando em vários tamanhos e resoluções

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

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 90002,6 pol.

480 x 320

Apple iPhone 43,5 pol.

640 x 960

Android Nexus One3,7 pol

480 x 800

Motorola Milestone3,7 pol

480 x 854

Symbol MC503,0 pol

240 x 320

HTC s7102,4 pol

240 x 320

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

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.

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

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

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

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.

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

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.

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

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)

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

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.

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

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.

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

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

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

Oracle Java ME - Arquitetura

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

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

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

Microsoft .NET Compact Framework -Arquitetura

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

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

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

Google Android - Arquitetura

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

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

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

Apple iOS - Arquitetura

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

Nokia Symbian OS

Linguagem: C++, Qt, Web;

Principalmente encontrado em smartphonesNokia;

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

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

Nokia Symbian OS - Arquitetura

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

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

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

Palm WebOS - Arquitetura

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

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.

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

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.

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

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;

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

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

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

Case 2: Aplicação para gestão móvel de ERP -Solução

Dispositivo indicado: iPhone 4

Plataforma: Apple iOS

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

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.

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

Todas as plataformas disponibilizamAPI 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).

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

Exemplo

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

Próxima aula

Montagem de ambiente da plataforma Google Android

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

FIMdúvidas?