Rastreador Pomodoro com animação WebGL

Este projeto é uma aplicação de sistema que ajuda a seguir a técnica de gestão de tempo Pomodoro.
As tecnologias utilizadas incluem WebGL e JxBrowser.

Pomodoro

Problema 

Nas aplicações desktop modernas, é frequentemente necessário apresentar alguns modelos gráficos ou exibir imagens 3D animadas relacionadas com o domínio empresarial. No entanto, a integração de estruturas ou bibliotecas de animação sofisticadas é quase sempre um desafio, especialmente se estivermos falando de modificar uma aplicação existente e bem estabelecida. Além disso, garantir a compatibilidade entre plataformas acrescenta outra camada de complexidade, uma vez que os diferentes sistemas operacionais normalmente têm as suas próprias especificidades para suportar a renderização 3D.

Solução 

O WebGL é uma tecnologia de navegador que permite a apresentação de objetos 2D e 3D, aproveitando opcionalmente o poder da aceleração de hardware da GPU. O JxBrowser, sendo construído sobre o Chromium, também suporta WebGL e permite que os aplicativos JVM renderizem objetos gráficos estáticos e animados. Além disso, como o WebGL é uma tecnologia de longa data no mundo da Web, existem muitas bibliotecas JS de alta qualidade, que reduzem significativamente o tempo de desenvolvimento.

Neste projeto, demonstramos a renderização de modelos 3D utilizando a API JxBrowser e, apenas por diversão, veja os temporizadores Pomodoro: cada temporizador é acompanhado pelo modelo 3D rotativo correspondente.

Além disso, esta aplicação é construída com o kit de ferramentas Compose Desktop, sendo uma nova abordagem para construir aplicações desktop modernas em Kotlin.

Eis algumas das principais características:

  1. Aplicação de sistema escrita em Compose Desktop.
  2. Suporte multiplataforma para Windows, macOS e Linux, com várias arquiteturas, também.
  3. Os modelos 3D são renderizados com WebGL, com aceleração de GPU.
  4. A excelente biblioteca ThreeJs é apresentada para carregar e animar modelos 3D.

Licenciamento e reutilização

O código deste projeto é fornecido sob a licença MIT. Incentivamos nossos clientes a tratá-lo como uma fonte de inspiração ou até mesmo a usar diretamente suas partes em suas aplicações.