23 outubro 2008

Fim do plugin Eclipse ME e início do MTJ (Mobile Tools for Java)

O plugin mais conhecido do Eclipse para desenvolver aplicações móveis usando a plataforma java me é o chamado EclipseME, ele foi substituido por outro, denominado MTJ (Mobile Tools for Java), que vem para suprir os problemas e limitações do eclipseme. Conheça um pouco sobre esse plugin e como instalar e usar na sua IDE Eclipse.

No desenvolvimento para aplicações móveis em Java uma das ferramentas mais populares são os emuladores/simuladores, tal como o Wireless Tool Kit (fornecido pela Sun Microsystems) e outros SDKs fornecidas por fabricantes de celulares como Motorola, Nokia, etc. As IDEs mais populares são Eclipse e Netbeans (desenvolvedores em geral), sendo que para Eclipse, o plugin desenvolvido por Craig Setera, com ajuda de colaboradores expontâneos se tornou referência. Agora no entanto, o "fim foi decretado" e um novo plugin vem ai: MTJ (Mobile Tools for Java), com apoio e ajuda do próprio Craig Setera.

Além de Craig, temos também dois principais grupos que assumiram o desenvolvimento e evolução do MTJ, a Motorola e a SyBase. Nós aqui do CESAR, que prestamos serviço para a Motorola fazemos parte deste time que mantém o MOTODEV Studio for Java e MTJ. Grande conquista para nós do CESAR. :)

Como instalar o MTJ
Acesso o portal do MTJ e copie a URL para realizar o update:
http://download.eclipse.org/dsdp/mtj/updates/0.9/stable

Figura 1: Acessando a opção de update on-line do eclipse (versão 3.4 ganymede)


Figura 2: sequência de passos para adicionar repositório do MTJ para baixar na internet


São 3 possíveis opções que o usuário pode baixar:
  • Mobile tools for java (default); permite criar os projetos e rodar aplicações.
  • Mobile tools for java documentation; vem com tutoriais.
  • Mobile tools for java SDK; vem com developer guide para entender como extender ou contribuir com o projeto MTJ.

Um exemplo prático
Após baixar e o eclipse via update manager o eclipse vai pedir para reiniciar a IDE. Feito isso, basta criar um projeto MTJ (new MIDlet Project) e fazer uma aplicação Java ME usando as configurações já conhecidas do eclipseme, mas com melhorias na interface e algumas features a mais, tal como wizard para configuração do JAD, opções para rodar aplicações diretamente, etc.

Figura 3: Criando um projeto MTJ


Figura 4: acessando a perspectiva Java ME visualizando a tela de configuração

Uma feature bacana é a tela de configuração (acessada pelo arquivo Application Descriptor na view da esquerda), onde podemos acessar a tela de configurações com vários recursos, tais como as informações do JAR/JAD; opção para empacotar aplicação (distribuir); exportar um build ant; rodar o código atual (usando a configuração da classe MIDlet) ou usando a configuração do JAD atual; depurar a aplicação; escolher qual SDK e o device do mesmo. Além disso, existe abas específicas onde se pode configurar aplicação, com personalização para telefones Motorola e Nokia. :)


Conclusões
Esse projeto vem no momento oportuno e era uma necessidade antiga. O MTJ não é novo, mas ninguém estava assumindo o seu desenvolvimento. Com essa iniciativa, liderada pela Motorola, acredito que vai "deslanchar", pois o MTJ poderá ser adotado por outras plataformas como Android em breve, que já demonstraram interesse. A IDE MOTODEV Studio for Java atual já vem com o MTJ integrado para rodar o seu emulador.

22 outubro 2008

O que são blogs e o que representam?

Tive a honra de ministrar uma mini palestra sobre blogs no curso de pedagogia, da faculdade que trabalho. Lá expus o que penso sobre os blogs e suas influências nos tempos atuais. Será mesmo que os blogs representam uma oportunidade que usuários tem de serem produtores de informação?

O material foi baseado na série conquiste a rede, comentado no post do antigo blog. Para baixar o PDF do livro clique aqui. Créditos para os autores.

View SlideShare presentation or Upload your own. (tags: fazer como)









Foto da turma de pedagogia assistindo aula sobre blogs


Professora Jordélia fala sobre seus trabalhos com blogs.

A turma de pedagogia demonstrou interesse no assunto, apesar do professor deixar alguns alunos com sono :) Bem, mas o que mais agrada, para quem está acostumado dar aulas para um bando de macho, ver esse público de mulheres... :D obrigado pela oportunidade!

20 outubro 2008

Uso da Orientação a Objetos com Java nas aplicações Móveis

Programar para celular usando a orientação a objetos pode prejudicar a performance da aplicação? Essa questão me ocorreu alguns anos atrás (2004-2005), quando os celulares eram bem mais limitados do que hoje. Mas a conclusão era que criar muitas classes poderiam prejudicar o desempenho por questões obvias da pouca memória disponível. Hoje no entanto, os celulares já tem mais recursos computacionais. Mas ainda requer cautela ao projetar tais aplicações usando OO para não abusar do bom senso. A menos que não deseje portar tal aplicação para nenhum outro dispositivo além do seu smartphone. :)

Segundo o wikipédia, "A orientação a objetos, também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos."

Um video interessante sobre Orientação a Objetos que recomendaria para curiosos.


Não dá para sair criando muitos objetos como gostaríamos. :( Neste caso, eu penso que é mais vantagem tentar avaliar o custo de memória que sua aplicação tem e o projeto em si.

Mas como faço isso se não conheço muito bem as práticas de otimização?
Preciso me tornar um JEDI na programação? A resposta é sim. :) Mas se anime, existe algumas coisas que pode fazer e que pode te ajudar. Um site interessante é: http://mr.dev.mobi

Esse site se propõe a testar sua aplicação para saber se está usando as melhores práticas e padrões da indústria móvel. Tem opções de análises gratuítas. Vale a pena dar uma olhada.

De qualquer forma é preciso usar o bom senso quanto ao projeto orientado a objetos para não prejudicar a performance de sua aplicação móvel. Ainda, tentar testar no celular real e procurar avaliar os resultados. É a melhor coisa a fazer na minha opinião.

08 outubro 2008

O futuro da internet está no celular?

Imaginem um tempo onde a Internet se torna parecido com o que a energia elétrica reprenta hoje... alguns chamam de Informaticidade, daí a rede estará sempre presente sem que percebamos. A menos que, por alguma razão, ela fique forá do ar. Seria um Caus a vista? Um tempo onde a Internet existe assim como a energia elétrica é percebida, somente quando ficamos sem. Neste contexto que pretendo falar, um tempo onde a Internet será parte essencial de nossos dias, quer você queira ou não, tal como a energia é. Agora imagine o futuro... o celular... os dois juntos. Pronto. Chegamos a onde quero destacar neste post: visões de futuro da internet.

Figura 1: informações sobre o edifício apenas por focar nele.



Figura 2: como chegar nele de onde estou...


Figura 3: lendo um jornal (um scanner entra em ação)


Figura 4: o que significa essa palavra mesmo... :) (recursos de touch screen)

Segundo o site, um desejo seria o celular ser a ponte para acessar diferente serviços (transparentes) para os usuários, sem que tenha que decorar endereços e fazer cadastros... A pesquisa da internet futuro seria integrada aos dispositivos móveis, acessando diferentes serviços on-line. Tudo usando interface fácil, interligado com a câmera, com scanner, Wifi, google maps, google Earth, google search, pesquisa de imagem... tudo em um único dispositivo.

São inumeras outras possibilidades vislumbradas e interessantes. Veja outros artigos da série:


Pesquisas recentes pela empresa de pesquisa comScore,⁠ divulgaram dados que atestam que hoje somos quase 6 bilhões e meio de pessoas no mundo, sendo que cerca de 50% já possui celular. No futuro, as pessoas irão querer acessar a Internet dos seus celulares, desque a infra estrutura esteja estabelecida tal como a energia elétrica está hoje (sendo transparente).

Será mesmo que o futuro da internet está no uso de celulares para o seu acesso?