SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
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
   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 aula




Montagem de ambiente da plataforma Google Android
FIM
dúvidas?

Mais conteúdo relacionado

Mais procurados

Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelJanynne Gomes
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento MobileElton Minetto
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Ricardo Longa
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Italo Andrade
 
Palestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativosPalestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativosCarlos Eugenio Torres
 
Dispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDanilo Filitto
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisJanynne Gomes
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10LucasMansueto
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosPmpc10
 
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)Ivan Marks
 
Aula 1 fundamentos de redes de computadores
Aula 1   fundamentos de redes de computadoresAula 1   fundamentos de redes de computadores
Aula 1 fundamentos de redes de computadoreswab030
 
Arquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveisArquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveisAlexsander Fontes
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 

Mais procurados (20)

Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
 
Linguagem Dart (Google)
Linguagem Dart (Google)Linguagem Dart (Google)
Linguagem Dart (Google)
 
Palestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativosPalestra Mobilidade - Computação móvel, dispositivos e aplicativos
Palestra Mobilidade - Computação móvel, dispositivos e aplicativos
 
Dispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercado
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Android
AndroidAndroid
Android
 
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Aula 1 fundamentos de redes de computadores
Aula 1   fundamentos de redes de computadoresAula 1   fundamentos de redes de computadores
Aula 1 fundamentos de redes de computadores
 
Arquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveisArquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveis
 
Aplicativos Móveis
Aplicativos MóveisAplicativos Móveis
Aplicativos Móveis
 
Linux
LinuxLinux
Linux
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Android
Android Android
Android
 

Destaque

A Evolução do Celular no Brasil
A Evolução do Celular no BrasilA Evolução do Celular no Brasil
A Evolução do Celular no BrasilCharles Lima
 
Computadores quânticos e dispositivos portáteis
Computadores quânticos e dispositivos portáteisComputadores quânticos e dispositivos portáteis
Computadores quânticos e dispositivos portáteisGustavo Ficher
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014Carlos Eugenio Torres
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Carlos Eugenio Torres
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Dirceu Belém
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Celulares e suas Preferências
Celulares e suas PreferênciasCelulares e suas Preferências
Celulares e suas Preferênciasarianapple
 
Sistema Operacional Móvel iOS
Sistema Operacional Móvel iOSSistema Operacional Móvel iOS
Sistema Operacional Móvel iOSDj Black
 
Microsoft x apple
Microsoft x apple Microsoft x apple
Microsoft x apple patibborges
 
Introdução a Redes Sociais
Introdução a Redes SociaisIntrodução a Redes Sociais
Introdução a Redes Sociaisandre rossiter
 
A evolução dos celulares
A evolução dos celularesA evolução dos celulares
A evolução dos celularesSandro Borges
 
Aula 0 - Fundamentos da Informática
Aula 0 - Fundamentos da InformáticaAula 0 - Fundamentos da Informática
Aula 0 - Fundamentos da InformáticaWilliam Silva
 
Aula 02 história dos computadores
Aula  02   história dos computadoresAula  02   história dos computadores
Aula 02 história dos computadoresDaniel Moura
 
Mini curso redes_computadores
Mini curso redes_computadoresMini curso redes_computadores
Mini curso redes_computadoreselgi.elgi
 

Destaque (20)

A Evolução do Celular no Brasil
A Evolução do Celular no BrasilA Evolução do Celular no Brasil
A Evolução do Celular no Brasil
 
Computadores quânticos e dispositivos portáteis
Computadores quânticos e dispositivos portáteisComputadores quânticos e dispositivos portáteis
Computadores quânticos e dispositivos portáteis
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2014
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
 
Palestra Mobilidade
Palestra MobilidadePalestra Mobilidade
Palestra Mobilidade
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
 
Ingenium Magazine Issue 102
Ingenium Magazine Issue 102Ingenium Magazine Issue 102
Ingenium Magazine Issue 102
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Celulares e suas Preferências
Celulares e suas PreferênciasCelulares e suas Preferências
Celulares e suas Preferências
 
HISTORIA DEL CELULAR
HISTORIA DEL CELULARHISTORIA DEL CELULAR
HISTORIA DEL CELULAR
 
Facebook e aplicativos
Facebook e aplicativosFacebook e aplicativos
Facebook e aplicativos
 
Redes de Computadores e Internet - UNESP
Redes de Computadores e Internet - UNESPRedes de Computadores e Internet - UNESP
Redes de Computadores e Internet - UNESP
 
Sistema Operacional Móvel iOS
Sistema Operacional Móvel iOSSistema Operacional Móvel iOS
Sistema Operacional Móvel iOS
 
Microsoft x apple
Microsoft x apple Microsoft x apple
Microsoft x apple
 
Introdução a Redes Sociais
Introdução a Redes SociaisIntrodução a Redes Sociais
Introdução a Redes Sociais
 
A evolução dos celulares
A evolução dos celularesA evolução dos celulares
A evolução dos celulares
 
Aula 0 - Fundamentos da Informática
Aula 0 - Fundamentos da InformáticaAula 0 - Fundamentos da Informática
Aula 0 - Fundamentos da Informática
 
Aula 02 história dos computadores
Aula  02   história dos computadoresAula  02   história dos computadores
Aula 02 história dos computadores
 
Mini curso redes_computadores
Mini curso redes_computadoresMini curso redes_computadores
Mini curso redes_computadores
 
A evolução do celular
A evolução do celularA evolução do celular
A evolução do celular
 

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

O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...Eteg
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveiscedulio
 
Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveisYgor Castro
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem FioDouglas Frari
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchLeonardo Soares
 
Aula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptxAula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptxRoberto Aragy
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisÉdipo Souza
 
Java Micro Edition Applied
Java Micro Edition AppliedJava Micro Edition Applied
Java Micro Edition Appliedmarcelobeckmann
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Luiz Gavinho
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Pedro Edson Silva Barros
 
Resumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileResumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileCícero Moura
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Desenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisDesenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisJerry Medeiros
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobileDaniel Brandão
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGapLucas Félix
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGapLucas Félix
 
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
IBM Mobile Platform: Desenvolvimento de Aplicações MobileIBM Mobile Platform: Desenvolvimento de Aplicações Mobile
IBM Mobile Platform: Desenvolvimento de Aplicações MobileAlex Barbosa Coqueiro
 

Semelhante a Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2 (20)

O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
 
Ciclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos MóveisCiclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos Móveis
 
Restaurante
RestauranteRestaurante
Restaurante
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveis
 
Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveis
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem Fio
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Aula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptxAula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptx
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Java Micro Edition Applied
Java Micro Edition AppliedJava Micro Edition Applied
Java Micro Edition Applied
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 
Resumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileResumo Desenvolvimento Mobile
Resumo Desenvolvimento Mobile
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Desenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisDesenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveis
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3
 
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
IBM Mobile Platform: Desenvolvimento de Aplicações MobileIBM Mobile Platform: Desenvolvimento de Aplicações Mobile
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
 

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