Desenvolvendo RIA com HTML5 Canvas

9 respostas
Mikhas

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();
	});

9 Respostas

theodrums

Fala bixão…

Po maneiro o lance ai.
Eu estou começando em desenvolvimento.
No momento estou no meio do livro Core JSF 3ed
Mas só agora estou começando a explorar o RIA.
Uma dúvida muito básica:
O JavaScript está sendo a linguagem para programação do HTML5 ? Os canvas, svg e tudo mais ?

M

Desde quando recriar no browser a velha experiência desktop baseada em mouse passou a ser considerado RIA?

Mikhas

mochuara:
Desde quando recriar no browser a velha experiência desktop baseada em mouse passou a ser considerado RIA?

Isso mesmo. O coceito de RIA envolve criar um verdadeiro aplicativo que pode ser acessado por um web browser.

theodrums:
Fala bixão…

Po maneiro o lance ai.
Eu estou começando em desenvolvimento.
No momento estou no meio do livro Core JSF 3ed
Mas só agora estou começando a explorar o RIA.
Uma dúvida muito básica:
O JavaScript está sendo a linguagem para programação do HTML5 ? Os canvas, svg e tudo mais ?

Pode se dizer que sim. Javascript esta por tras de muitos websites e “aplicativos web”. É uma linguagem que esta se desenvolvendo muito ultimamente graça a evolução dos web browsers.

theodrums

Então o JavaScript está para o html5 como o ActionScript está para Flash.

Qual a melhor linguagem?

Mikhas

theodrums:
Então o JavaScript está para o html5 como o ActionScript está para Flash.

Qual a melhor linguagem?

Por enquanto acho melhor o Flash + AC já que o HTML5 não é o padrão oficial para a criação de web pages e por que os web browsers anda não o implementam 100%.

theodrums

Bacana,

Mas SE os fabricantes dos browsers entrassem num acordo para seguir as recomendações W3C e COM o apoio do Google, Apple entre outras gigantes, o HTML5 parece ter tudo para ser a plataforma do desenvolvimento de RIA.

Só desejo que o apoio das grandes ao html 5 seja baseado sim, no conceito sobre a publicidade da WEB, como também na capacidade tecnológica que o html possui.

E que o FLEX, JavaFX e outros venham para complementar e enriquecer ainda mais os nossos sistemas!

Grinvon

O problema é esse, é ainda a falta de padrão. Acho que de alguma forma a W3C poderia “forçar” uma padronização dos browsers, com alguma toolkit ou coisa do tipo que cada implementação de browser pudesse se basear, não sei, mas enfim…

Mikhas, gostei da screenshot, parece que tá ficando interessante. Minha experiência web com java é com JSF e um pouco de flex.

Achei interessante, gostaria de saber mais, vou lhe procurar no MSN, ok?

Abraços!

M

Só lembrando que desenvolver em cima dos padrões W3C não são garantia que funcionem em todos os navegadores. E não atender o W3C também não significa que vai ficar incompatível.

Exemplo do primeiro caso: para tables, se você não especificar os atributos cellpadding e cellspacing, sua página vai estar no W3C, mas o IE assume o valor default como 2 enquanto os outros browsers o default é zero.

Exemplo do segundo caso: o W3C convenciona que o valor dos atributos devem estar entre aspas duplas, mas qualquer navegador reconhece valores atribuídos sem elas, desde que não sejam expressões.

Javascript então, nem se fala…

Grinvon

Mikhail,

O exemplo que você deu no seu site, está renderizando o texto HTML ao invés de renderizar a página.

Criado 28 de abril de 2010
Ultima resposta 5 de ago. de 2010
Respostas 9
Participantes 5