Clique aqui para ler todos os artigos desta edição
Primeiros Passos
Começando com o Java wireless
Hoje fala-se muito o termo wireless, mas este diz pouco sobre como uma aplicação sem-fio realmente deve ser. Independentemente de qual tecnologia estiver sendo utilizada, wireless significa mobilidade. De fato, o grande diferencial de uma solução móvel é permitir que seus usuários obtenham qualquer tipo de informação, em movimento. Especialmente se você mora em uma cidade grande, como São Paulo ou Rio de Janeiro, e está sujeito a encontrar grandes congestionamentos, a vantagem é enorme. A possibilidade de ver a situação de vendas ou o status dos servidores, de responder um e-mail urgente vindo do outro lado do mundo, isso tudo no meio de um congestionamento quilométrico (ou em outra situação similar), permite interagir mais e mais com o trabalho, mesmo longe do escritório.
Tal vantagem pode até parecer óbvia, mas acredito que ainda estamos longe de compreender o impacto das mudanças trazidos pelo uso de aplicações móveis em larga escala. Tanto que alguns economistas propõem que nos encontramos à beira de uma revolução na era da informação – a Economia Livre. Você não mais acessa a informação dentro de um ambiente determinado, como sua casa, escritório, escola, Internet Café. O acesso à informação torna-se livre e independente de localização.
Se você não quer “perder o bonde”, então sugiro que comece agora a pensar em desenvolver soluções móveis. Mas lembre-se: isso não significa apenas começar novos projetos com "wireless" estampado nos documentos de requisitos. Você pode estender uma solução convencional, parcialmente pronta, adicionando módulos móveis. Imagine o seu sistema simples (mas crítico) de gerenciamento de contatos via web, agregado de funcionalidades de mobilidade que permitam ao usuário acessá-lo também através do celular ou PDA.
Porém, mesmo que você seja um desenvolvedor experiente, entrar nessa onda implica em pensar em questões às quais talvez esteja pouco acostumado.
Escassez e J2ME
É interessante perceber o impacto que a escassez pode gerar em todos nós. Por exemplo, antes da crise do petróleo, na década de 70, a gasolina era abundante e barata. Construíam-se carros enormes capazes de cortar os Estados Unidos de ponta a ponta, com consumo na casa de 5 quilômetros por litro – e ninguém realmente estava preocupado com a eficiência do motor, ou mesmo com a qualidade da gasolina, algo desnecessário diante de tanta abundância. Mas quando o petróleo encareceu, muita coisa começou a mudar. Até os pequenos passeios começaram a sair muito caro, e parecia que tudo iria parar e nada mais seria divertido como antes.
Fico imaginando o que aconteceria aos profissionais de informática de hoje se de repente surgisse uma lei internacional que taxasse o uso da internet por byte trafegado. Além dos previsíveis protestos de geeks e ataques a websites de empresas, uma conseqüência seria a procura por maior eficiência nos aplicativos, principalmente na utilização da rede.
Freqüentemente, deparo-me com profissionais Java que gostariam de ingressar no desenvolvimento de aplicações J2ME. O maior problema ao envolver-se com essa tecnologia, principalmente quando se vem do desenvolvimento em J2SE e J2EE, é achar que os recursos são abundantes como nestas áreas. Considerar que a rede sempre está disponível com alta velocidade e baixo custo, que a memória do dispositivo é vasta, que a tela é espaçosa e o poder de processamento é equivalente ao de um Centrino... Ilusão!
Aparelhos e comunicação
Ao decidir por criar uma solução móvel, comece fazendo uma pesquisa de mercado e avalie as tecnologias disponíveis na sua cidade ou região. Tente evitar qualquer tipo de solução que deva ser importada, para que não haja problemas com peças de reposição e suporte técnico.
Quanto a equipamentos, temos no mercado brasileiro alguns palmtops (PDAs), uma quantidade razoável de coletores de dados proprietários e uma variedade enorme de telefones celulares poderosos, oferecidos pelas operadoras de telefonia (veja o quadro "J2ME no Brasil").
Tecnologias de aplicações
Qual é a melhor tecnologia? J2ME? SMS? MMS? Brew? Na verdade, todas têm suas vantagens e desvantagens (e não são mutuamente excludentes). Contudo, posso dizer com muita segurança que a tecnologia J2ME oferece a melhor relação custo/benefício por vários motivos:
1.Se na empresa houver profissionais capazes de desenvolver em Java, eles poderão ser reaproveitados no desenvolvimento de soluções móveis. Isso é praticamente impossível se for adotada outra tecnologia.
2.A enorme adoção de J2ME por fabricantes de celulares e operadoras permite que sua aplicação móvel seja capaz de rodar em uma ampla variedade de aparelhos, muitos já disponíveis no mercado brasileiro.
3.Uma vez que a aplicação é instalada no aparelho, será possível executar a aplicação mesmo em áreas onde a operadora não ofereça cobertura. Uma vez que você retornar à área de cobertura, poderá ser estabelecida uma nova conexão, e enviados os dados pendentes.
Online ou offline?
Com tudo isso, lembre-se que nem todas as aplicações, apesar dos modismos, precisam ser on-line. Qualquer solução que envolva a obtenção de dados em tempo real, "pelo ar", exige uma forte infra-estrutura. Dessa forma, ou você adota uma infra-estrutura de alguma operadora e paga pelos custos dos dados trafegados, ou terá você mesmo que montar sua própria "infra" para envio dos dados (isso pode ser um problema, porque fatores como a dimensão da área a ser coberta e equipamentos de instalação, além de possibilidade da ocorrência de áreas de sombra, podem elevar desmasiadamente os custos da solução). "