You are on page 1of 6

para Dispositivos Mveis

DesenvolvenDo AplicAes com J2me

Java
Thienne M. Johnson

Novatec

Captulo 1
Introduo computao mvel

1.1 Computao mvel definies


Computao mvel est na moda. Operadoras de celular propagam marketing sobre suas aplicaes mveis; os fabricantes de PDAs (Personal Digital Assistant) gastam milhes de dlares para mostrar ao mundo seu novo dispositivo mvel. Mas o que Computao mvel? o dispositivo (com o usurio) que se movimenta, ou o cdigo que se movimenta? Existe uma definio que diz que computao mvel permite que usurios tenham acesso a servios independentemente de sua localizao. Isso requer suporte mobilidade e existncia de infra-estrutura de comunicaes sem fio. O usurio e o dispositivo se movimentam, e nada impede que o cdigo se movimente (indo e vindo de outros dispositivos e servidores, mas isso conhecido como cdigo mvel). A Figura 1.1 mostra um cenrio de computao mvel em que dispositivos mveis se conectam por meio de redes sem fio a diversos tipos de servios. Diversos servios podem ser implementados para computao mvel. Em geral, temos acesso troca de mensagens (SMS e MMS), chats, correio eletrnico, mas a computao mvel muito mais do que isso. Temos a fora de vendas mvel, em que um vendedor pode realizar a encomenda de produtos via celular, na empresa de seu cliente (Figura 1.2). O mdico pode consultar a ficha do paciente no hospital pelo seu computador de mo. O
20

Captulo 1 Introduo computao mvel

21

turista pode consultar a base de dados do servio de turismo na cidade que ele est visitando. E por a vai.

Rede telefnica

Torre de telefonia Notebook PDA Servio na operadora Servio na Web Internet Rede sem fio metropolitana

Telefone celular

Figura 1.1 Representao de um cenrio de computao mvel.

Figura 1.2 Exemplo de aplicativo de computao mvel.

Nada disso seria possvel sem o acesso comunicao. As redes de telefonia celular e as redes sem fio so a infra-estrutura necessria para o acesso do usurio aos servios mveis. Atualmente, os principais padres de redes sem

22

Java para Dispositivos Mveis

fio so as tecnologias Bluetooth (para pico-redes), WiFi (padro IEEE 802.11), para redes locais sem fio (WLANs) e WiMax (padro IEEE 802.16), para redes de longa distncia. Diversos dispositivos j tm suporte ao Bluetooth e os mais modernos vo sair de fbrica com suporte a Wi-Fi.

1.2 Dispositivos de computao mvel


Temos diversas categorias de dispositivos que podemos considerar de computao mvel. O primeiro grupo dos laptops (ou notebooks), que so computadores portteis, com capacidade computacional equivalente a um desktop. Diminuindo de capacidade computacional, temos os PDAs. Eles possuem telas pequenas, mas seu poder de processamento bem alto, se comparado com um telefone celular, mas baixo, se comparado aos notebooks. Tm suporte a aplicativos desenvolvidos com linguagens de programao de alto nvel, recursos multimdia, acesso rede etc. O terceiro grupo o de telefones celulares. Antigamente, diramos que os celulares tm telas minsculas e quase nenhum recurso. Hoje, contudo, existem aparelhos com memria expansvel, acesso rede Bluetooth, suporte a Java etc. A tecnologia no pra. Alguns celulares mais avanados tambm so chamados de SmartPhones. Alm dos recursos de telefones, eles incorporam diversos recursos dos PDAs. Como os aparelhos de mesma categoria de dispositivo tm caractersticas em comum, o desenvolvimento de aplicativos para uma mesma categoria tambm pode variar de uma para outra. Veremos que existem diversas formas de gerar aplicaes e que o hardware vai influenciar a escolha da linguagem de programao que dever ser usada.

1.3 Linguagens de programao


Diversas linguagens de programao podem ser usadas para o desenvolvimento de aplicativos para os dispositivos mveis. Algumas so baseadas em marcao, em que o processamento feito em um servidor remoto at as linguagens tradicionais, e usadas principalmente por telefones celulares. Dessas

Captulo 1 Introduo computao mvel

23

linguagens, temos como exemplos o WML (Wireless Markup Language), o HDML (Handheld Markup Language) e o CHTML (Compact HTML). As linguagens tradicionais, como C++, Visual Basic e Java, permitem o desenvolvimento de aplicaes mais complexas, que podem executar algo no prprio dispositivo, armazenar dados, conectar com servidores remotos, entre diversos recursos existentes. Elas so, em geral, usadas para desenvolvimento de aplicativos para PDAs, que possuem mais recursos computacionais. Contudo, com o desenvolvimento de novos dispositivos hbridos (SmartPhones), essas linguagens tambm pode ser usadas para a criao de aplicativos. Tudo depende do fabricante, pois o hardware deve dar suporte (s) linguagem(ns). Os dispositivos da Palm, os quais usam o sistema operacional Palm OS, podem, por exemplo, ter aplicativos gerados em VB e C++, que possuem conversores de cdigo voltados ao Palm OS (geram arquivos de formato proprietrio para execuo nos aparelhos). O desenvolvimento de aplicativos, portanto, vai depender, alm da categoria do dispositivo, do que o fabricante disponibilizou. Por isso, devemos procurar informaes com o fabricante do dispositivo-alvo para saber quais linguagens ele suporta e quais so os recursos existentes.

1.4 Desafios na programao de aplicativos


As limitaes impostas para desenvolver aplicativos voltados a dispositivos de poucos recursos computacionais requerem alguns cuidados especiais. Primeiramente, devemos projetar a aplicao tendo em vista o tamanho reduzido das telas. Isso demanda um bom planejamento de como dispor os elementos nas telas e dividir o uso de elementos grficos (caixas de texto, comandos, listas etc.) em diversas telas. preciso tambm projetar a aplicao para que seja bem eficiente em termos de recursos. Devemos usar somente o necessrio. Com dispositivos mveis, menos mais . O aplicativo no deve demandar muito processamento no prprio dispositivo nem consumir muita memria. Deixar o processador estressado pode resultar no travamento da interface. Portanto, devemos projetar a aplicao

24

Java para Dispositivos Mveis

para que execute tarefas mais simples ou em um servidor remoto. Outra opo o uso de threads; isso vai permitir que o processamento de uma tarefa seja executado em paralelo com o gerenciamento do aplicativo. Em sntese, o primordial sempre planejar com cuidado a aplicao a ser desenvolvida. Tentar consertar o aplicativo depois de pronto, para caber na memria de um aparelho, por exemplo, pode ser muito mais trabalhoso do que tomar precaues para evitar esses erros muito comuns.

1.5 Tarefas propostas do captulo


1. Faa uma pesquisa e compare os conceitos de computao mvel, computao ubqua e computao pervasiva. 2. Pesquise e descubra quais outras linguagens de programao podem ser usadas para os dispositivos de computao mvel. 3. Faa uma pesquisa e estude sobre o padro de redes sem fio 802.11 (Wi-Fi). Verifique como ele pode ser usado na computao mvel.

You might also like