Esse artigo faz parte da revista WebMobile Edição 07. Clique aqui para ler todos os artigos desta edição

wm07_capa.JPG

Clique aqui para ler esse artigo em PDF.imagem_pdf.jpg

Introdução ao SuperWaba

Nos últimos anos a computação móvel tem ganhado cada vez mais importância no mundo da informática. Atualmente, dispositivos como o celular tem se aproximado cada vez mais das funcionalidades de um Pocket PC e vice-versa.

Porém, uma coisa ainda não mudou: a variedade de sistemas operacionais para cada dispositivo, o que deixa a realidade das aplicações multiplataforma um pouco distante.

Felizmente, surgiram projetos bastante interessantes neste sentido. Um deles é o Waba, mantido pela Wabasoft. Waba é uma Maquina Virtual (VM do inglês Virtual Machine) para aplicações móveis e que está presente atualmente para as plataformas DOS, Linux, Windows CE, Gameboy e PalmOS.

Contudo, o Waba ainda tinha algumas deficiências, tais como o suporte somente a dois tons de cores (preto e branco) e a falta de suporte para threads entre outros recursos. Foi então que surgiu o SuperWaba, criado por Guilherme Campos Hazan. O SuperWaba é uma versão melhorada do Waba em muitos aspectos, e roda em dispositivos móveis com os sistemas operacionais WindowsCE, PalmOS e Symbiam OS.

Este artigo fará uma introdução ao desenvolvimento para dispositivos móveis utilizando o SuperWaba, abordando desde suas origens, as ferramentas disponíveis para o desenvolvimento de aplicações nessa plataforma, até os detalhes de uma simples aplicação escrita com o mesmo.

História do SuperWaba

O SuperWaba começou no início de 2000 quando Guilherme Campos Hazan (Guich) percebeu que o Waba (linguagem, máquina virtual e SDK para PalmOS e Windows CE) era simples demais para criar uma aplicação financeira. Rapidamente ele começou a adicionar alguns métodos, classes, como também criou um teclado virtual para o Waba. Desejando compartilhar seu trabalho com o resto do mundo, ele criou o  Waba 1.0G (G = Guich).

A intenção era que as mudanças feitas no 1.0G fossem repassadas para o Rick Wild (criador do Waba) incluir na distribuição padrão do Waba, mas isso nunca aconteceu.

Então Guich continuou aperfeiçoando o Waba 1.0G, e na próxima versão o nome foi mudado para SuperWaba. Uma das mais importantes mudanças no SuperWaba 1.1 e 1.2 foi o suporte para janelas popup. Na versão 1.2 Dave Slaughter portou a versão PalmOS do SuperWaba para o WindowsCE. Até este ponto, o SuperWaba era apenas uma outra versão do Waba com exceção de algumas classes e métodos nativos aperfeiçoados.

O real desafio surgiu no início de 2001: adicionar suporte para tons de cinza (pois Waba só possuía suporte a dois tons de cores: preto e branco) em todos os dispositivos com PalmOS, iniciando com PalmProfessional e PalmOS 2.0. Mas para colocar suporte à tons de cinza, Guich teve que criar algumas funções do assembler 68k (a Palm não tinha lançado suporte a tons de cinza até a versão PalmOS 3.5). O suporte para cores também foi adicionado rapidamente no SuperWaba. Após centenas de otimizações de alto nível, o SuperWaba ficou agora 2x mais rápido do que o Waba. A partir de outubro de 2001 Guich deixou seu antigo emprego para dedicar seu tempo para construir um SuperWaba cada vez melhor. Renato Rocha Ribeiro também entrou no time para ajudar na estrutura de negócios do SuperWaba. No início de 2003, Marcos Guirland Nosowad entrou no time para produzir produtos de alta qualidade e aperfeiçoamentos voltados para a plataforma SuperWaba. Em setembro de 2003 Pierre G. Richard também se juntou ao time. Marcos e Pierre irão brevemente oferecer serviços de consultoria, treinamento e suporte nos USA e na França, respectivamente. O  próprio Guilherme oferece esses mesmos serviços aqui no Brasil.

O que é SuperWaba? Quais as suas características?

O SuperWaba é uma plataforma que possui uma implementação própria de linguagem (com sintaxe semelhante ao Java), máquina virtual, formato de arquivos de classes e um conjunto de classes. Além disso, ele permite o uso de ferramentas Java no desenvolvimento.

Dentre as diversas características, podemos notar o suporte para SQL, leitor de código de barras, protocolo GPS, protocolo HTTP, tratamento de imagens JPEG, PNG e GIF, e suporte para compressão de dados.

Podemos comparar o SuperWaba ao .NET Compact Framework em recursos (exceto linguagem), porém o SuperWaba é ainda mais portável, rodando em várias plataformas como comentado na seção anterior.

Somente podemos compará-lo com o J2ME em termos de sintaxe da linguagem utilizada, pois enquanto o J2ME usa a linguagem Java o SuperWaba possui uma linguagem de sintaxe similar ao Java. Porém, não podemos comparar os dois em termos de recursos e portabilidade, pois o SuperWaba roda em dispositivos em que o J2ME não possui máquina virtual, sem considerar que o SuperWaba possui muito mais recursos que o J2ME como compressão, imagens JPEG e GIF, SQL, GPS e leitor de código de barras.

Ferramentas para desenvolvimento em SuperWaba

Após conhecermos melhor o que seria essa nova tecnologia e suas principais características, passaremos a abordar como desenvolver uma aplicação em SuperWaba. Para isso, inicialmente iremos descrever algumas ferramentas disponíveis para desenvolvimento de aplicações em SuperWaba:

·         SuperWaba IDE, um plugin do Eclipse que facilita (e muito) o desenvolvimento de aplicações usando o SuperWaba;

·         Tauschke MobileCreator, é outra excelente opção, em conjunto com o uiCreator o desenvolvedor consegue obter alta produtividade no desenvolvimento de aplicações SuperWaba. Para usuários do Windows eu recomendo esta incrível IDE.

 O  Eclipse e o SuperWaba IDE são gratuitos, porém pelo fato do Eclipse ser uma IDE de múltiplos propósitos ele se torna um pouco mais complicado de utilizar do que o Tauschke MobileCreator. Mesmo assim, muitos desenvolvedores utilizam este conjunto para desenvolvimento de aplicações para rodar na VM SuperWaba.

Por outro lado temos o Tauschke Mobile Creator como uma excelente opção para desenvolvimento de aplicações SuperWaba, ele é completamente voltado para este fim, possui uma ferramenta específica para criação de janelas. Entretanto, sua versão profissional é paga, somente a versão pessoal é gratuita e não pode ser utilizada para fins comerciais.

Preparando o ambiente de desenvolvimento de uma aplicação em SuperWaba ...

Quer ler esse conteúdo completo? Tenha acesso completo