Esse artigo faz parte da revista Java Magazine edição 67. Clique aqui para ler todos os artigos desta edição

AN style="FONT-FAMILY: Verdana; BACKGROUND: white; COLOR: red; FONT-SIZE: 10pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">

PAN>

ng=EN-US>0cm 0pt" class=MsoNormal align=left>O SuperWaba é uma ferramenta já consolidada no mercado de desenvolvimento para dispositivos móveis, e que supriu até então as necessidades dos desenvolvedores, principalmente em relação a PDAs e Smartphones. Suas principais características são a portabilidade entre os principais dispositivos no mercado e a grande compatibilidade com o Java, sendo possível desenvolver um aplicativo SuperWaba em qualquer IDE compatível com Java.

Com oito anos de mercado e após ter se consolidado como uma das principais ferramentas para desenvolvimento para dispositivos móveis, a empresa SuperWaba (sediada no Rio de Janeiro) lança seu mais novo produto: o TotalCross.

O TotalCross, ou TC como já é chamado pelos usuários da versão beta, possui o slogan “TotalCross – tudo que o SuperWaba gostaria de ser”. Mas isso é um menosprezo pela ferramenta que consolidou a empresa no mercado? De forma alguma, este slogan remete ao rumo que a equipe da SuperWaba deu ao projeto TotalCross. O SuperWaba possui várias limitações técnicas que impossibilitam o aperfeiçoamento da ferramenta. Algumas destas limitações são oriundas do Waba (projeto que originou o SuperWaba) e outras que foram geradas por algumas decisões equivocadas da equipe, que obviamente pareciam as melhores na época. Portanto, o SuperWaba sempre sonhou em ser uma ferramenta ainda mais produtiva, robusta e flexível para o desenvolvedor, e que tivesse a chance de atingir um número muito maior de dispositivos e aplicações.

Do SuperWaba o TotalCross herda a sintaxe (99% compatível com Java) e o nome de algumas classes. O restante foi todo construído do zero. A nova máquina virtual irá interpretar um novo formato de bytecodes, que tornará a execução das instruções mais otimizada. Ela terá um novo coletor de lixo, suporte a multitarefa, eliminação da limitação de 64KB de objetos, entre outras melhorias.

Outra otimização foi a construção de um novo motor de renderização da interface com o usuário. Ele tornará a renderização dos componentes de interface muito mais rápida e reduzirá o tamanho da máquina virtual, otimizando os recursos do dispositivo móvel.

O processo de distribuição de um aplicativo SuperWaba sempre foi um dos pontos criticados da plataforma. Era necessário chamar dois aplicativos para que fossem gerados os arquivos a serem enviados ao dispositivo. Este problema foi solucionado com a construção de um programa que agrupará as funcionalidades dos outros aplicativos e que terá uma parametrização muito mais simples que os antigos programas. Agora o desenvolvedor definirá apenas o que deve ser empacotado e para quais plataformas deverão ser gerados os instaladores.

Atualmente, todos os sistemas precisam de um mecanismo de persistência confiável e ágil, certo? Pensando nisso, a SuperWaba lançou o LiteBase juntamente com a versão 5.7 do SuperWaba. Desde o seu lançamento, o LiteBase demonstrou ser um produto bastante robusto e completo. Agora o LiteBase terá uma nova versão, que trará uma série de melhorias como, por exemplo, campos blob e varchar, joins simples, índices compostos, chaves primárias compostas, entre outros.

Preparando o ambiente

Primeiramente, acesse o site www.superwaba.com.br, faça seu cadastro e baixe o TotalCross e o LiteBase. A instalação consiste na extração do conteúdo dos pacotes, nada mais.

Com a compatibilidade entre o TotalCross e o Java, é possível desenvolver o aplicativo utilizando a IDE de sua preferência. Neste artigo, será utilizada a IDE Eclipse. Como o TotalCross será sua ferramenta padrão de desenvolvimento, vamos criar uma User Library ao invés de simplesmente adicionar as dependências ao seu projeto. Este mecanismo do Eclipse permite que sejam centralizadas as dependências, facilitando quando necessário adicionar ou modificar qualquer uma delas. Além disso, quando alguma mudança nas dependências for realizada na User Library, esta será refletida em todos os projetos que utilizam a User Library definida.

Para criar uma User Library vá em Windows>Preferences>Java>Build Path>User Libraries. Clique em New e coloque o nome “TC_Library”. Criada a User Library, você poderá adicionar as dependências clicando em Add JARs. Adicione o .jar do TotalCross, que está em TotalCrossSDK\dist\tc.jar e após adicionar, configure a localização do código fonte e também do javadoc. Faça o mesmo processo para adicionar o .jar do LiteBase, que está em LitebaseSDK\dist\litebase.jar. O resultado será igual ao da Figura 1.

 

Figura 1. Configurando a User Library.

Principais Componentes de Interface

Configurada a User Library, crie um projeto Java para que sejam feitos testes em alguns componentes de interface com o usuário do TotalCross, e também para que seja visualizada a utilização do LiteBase. Vá em File>New>Java Project, dê o nome do projeto de “CadastroFuncionarios”, clique em Next. Na tela que será apresentada, acesse a aba Libraries e clique em Add Library. Aparecerá um assistente permitindo escolher entre vários tipos de Library, escolha a opção User Library e clique em Next. Marque a opção “TC_Library” e clique em Finish. Ao voltar para a tela de criação do projeto, clique em Finish.

Assim como no Java, uma aplicação TotalCross precisa ter um ponto de entrada, ou seja, a primeira classe a ser instanciada pela máquina virtual. Para aplicações que não terão interação com o usuário, apenas é necessário implementar a interface totalcross.MainClass. No caso de um aplicativo que terá interação com o usuário, como é o caso deste exemplo, é necessário que sua classe de entrada seja derivada de totalcross.ui.MainWindow. Clique com o botão direito sobre o diretório src do projeto, e depois em New>Class. Configure sua classe de acordo com a Figura 2.

 

...

Quer ler esse conteúdo completo? Tenha acesso completo