WeightWatch 0.9

Após ter publicado a primeira versão do WeightWatch, continuei a trabalhar no programa para corrigir os vários problemas que tinha, e para acrescentar alguma funcionalidade que tinha planeado originalmente.

Muitos dos problemas que tive com a aplicação estavam directamente relacionados com a falta de agilidade proporcionada pela edição do Java para telemóveis. A primeira coisa que fiz depois da publicação do programa foi procurar uma nova biblioteca de interfaces que fosse mais capaz.

A primeira que encontrei, uma das mais populares, foi a J2ME Polish, que apesar de ter um nome foleiro e com um duplo significado ainda mais foleiro, é bastante poderosa e supostamente tem boa integração tanto com o Eclipse como com o NetBeans. Apesar de a instalação da biblioteca no meu ambiente não ter sido fácil, lá consegui pôr tudo a funcionar, e, enquanto foi possível acompanhar os tutoriais com facilidade, o desenvolvimento à base de macros não me agradou muito. Por outro lado, o escopo do Polish é extremamente abrangente, visto que eles praticamente querem substituir todas as bibliotecas de base do J2ME, o que para mim é demais — eu quero uma simples biblioteca que trate do desenho da interface, e que me permita estende-lo à minha vontade.

Foi aqui que encontrei finalmente a minha solução: o LWUIT (Light Weight User Interface Toolkit). Apesar do nome ainda mais foleiro, esta biblioteca é, de facto light weight, no sentido de que basta incluir a biblioteca com o projecto e aceder aos seus métodos para criar uma interface. Para além do mais, a interface pode ser toda personalizada através de ficheiros de temas, que podem ser criados e editados com um pequeno programa fornecido com a biblioteca e a sua funcionalidade pode ser facilmente alterada pegando nos componentes básicos e estendendo-os programaticamente.

Finalmente, e esta é a maior vantagem de todas, a biblioteca está a ser desenvolvida pela SUN (a mesma empresa que inventou e comercializa do Java), pelo que há grandes hipóteses de que venha a fazer parte das próximas versões da linguagem.

As desvantagens de usar este toolkit resumem-se ao facto do ficheiro executável final ficar maior do que o do programa original (entenda-se que a comparação não é completamente justa visto que entretanto implementei muito mais funcionalidade), e ao facto de ainda ser uma biblioteca em desenvolvimento, pelo que por vezes podemos ficar sujeitos a bugs ou falta de funcionalidade numa determinada função.

O facto de estar em desenvolvimento tem, no entanto, coisas boas, visto que os programadores estão a trabalhar activamente na biblioteca. Nesta versão 0.9 do WeightWatch já inclui algumas funcionalidades que tiveram origem em pedidos feitos directamente à equipa de desenvolvimento, e respondidos em menos de um dia.

No entanto, a melhor das novas funcionalidades é o facto de se poder actualizar online, para quem tiver maneira de aceder à internet através do telemóvel. Através deste sistema já não vai ser preciso acompanhar este blog para saber quando há novas versões disponíveis, e fica até mais fácil corrigir pequenos bugs daqueles que não matam mas moem.

Portanto aqui está o novo WeightWatch 0.9. A um ponto decimal de se tornar uma versão final — para isso ainda lhe faltam correcções a dois ou três bugs, e possivelmente traduções para várias línguas.

O software é open source, e, para quem quiser participar no desenvolvimento, aqui está a página do projecto.

6 thoughts on “WeightWatch 0.9”

  1. Tenho andado para te perguntar… Não queres fazer um port disso para iphone?

    Tem possibilidades giras… A aplicação meter avisos no calendário / alarmes para não te esqueceres de pesar, sugerir um passeio se vir que o dono ainda não se mexeu, etc :)

    Eu ajudo no port e hardware mas teríamos de combinar um BP rentável!

    Já sabes, se quiseres ficar rico antes dos 35, diz-me qq coisa :)

  2. 1. Não tenho iphone
    2. Não tenho um mac (acho que é necessário, para programar para o iphone)
    3. O código está aberto
    4. O que é um BP?
    5. Quero ficar rico antes dos 35 (mas acho que estou no mau caminho se nem sei o que é um BP) :-)

    Mas agora que estamos neste tópico, estou a pensar num port para o Android, se um dia destes comprar um telemóvel desses. A vantagem é que podia aproveitar a maior parte do código Java, e a arquitectura do programa já separa a funcionalidade da interface.
    Programar uma interface nova para aquilo devia ser relativamente fácil.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>