Oi galera!
Ja faz algum tempo que estou desenvolvendo um framework/biblioteca que utiliza javascript e HTML5 Canvas para criar uma interface.
Modestia à parte, a performance do framework esta muito boa mesmo com um grande numero de componentes na tela e o controle de evetos funciona muito bem.
Estou gostando muito de desenvolver a biblioteca, mas tem muito trabalho a ser feito e por isso que estou aqui. Gostaria que alguem se juntasse a mim nesse projeto, sem compromisso. Só para ver até onde podemos chegar.
Bem aqui esta uma tela (sou pessimo com a escolha de cores) e o codigo javascript dela.
Abraços
jsool.onReady(function(){
var raiz,b,c,d,e,f,b1;
/*
* Para a atualização da tela e do lançamento de eventos
*/
js.flux.UIManager.lock();
//Container Principal
raiz = new js.flux.Container();
raiz.setX(10);
raiz.setY(10);
raiz.setWidth(650);
raiz.setHeight(300);
//Adiciona container a raiz da interface
js.flux.UIManager.add(raiz);
//Define layout
raiz.setLayout(new js.flux.BorderLayout());
//Adiciona o botão ao container principal
b = new js.flux.Button("Largo");
raiz.add(b,"TOP");
//CONTAINER DA BASE
c = new js.flux.Container();
raiz.add(c,"BOTTOM");
c.add(new js.flux.Button("Btm 1"));
c.add(new js.flux.Button("Btm 2"));
c.add(new js.flux.Button("Btm 3"));
c.add(new js.flux.Button("Btm 4"));
b = new js.flux.Button("Botao Grande 5");
b.setWidth(200);
c.add(b);
c.add(new js.flux.Button("Btm 6"));
c.setHeight(40);
//Define um layout diferente para este container
c.setLayout(new js.flux.RowLayout());
//CONTAINER DA ESQUERDA
d = new js.flux.Container();
raiz.add(d,"LEFT");
d.add(new js.flux.Button("BT 4"));
d.add(new js.flux.ToggleButton("BT 5"));
d.add(new js.flux.CheckBox("lolly"));
//Mais um layout
d.setLayout(new js.flux.ColLayout());
d.setWidth(120);
//Adiciona botao a direita do container principal
e = new js.flux.Button("Alto");
raiz.add(e,"RIGHT");
//CONTAINER DO CENTRO
f = new js.flux.Container();
raiz.add(f,"CENTER");
b1 = new js.flux.Button("b1");
f.add(b1);
//Destrava interface para atualizar a tela e lançar eventos
js.flux.UIManager.unlock();
});