Greencode Framework

[size=18][color=green]Greencode Framework
[/color][/size]

Resumo:
Framework Open-Src que trabalha similar à aplicações de desktop orientado a eventos, como Java Swing. Podendo chamar funções javascript, registrar eventos, preencher formulário, tudo através da programação Java.

Website: http://www.abakus.com.br/greencode/ (Está desatualizado faz 1 ano)
Facebook: https://www.facebook.com/Jgreencode
Código-fonte(svn): https://svn.code.sf.net/p/javagreencode/code/trunk/framework

Requerimentos mínimos:

  • Java 1.6
  • Servlet 3.0

Browsers Testados: IE 7+, Firefox e Chrome

Frameworks de suporte para o projeto:
GSON - JSON para JAVA
HTMLCompressor - Compressor de HTML, CSS e JS - (Minified)
JSOUP - Manipulador de HTML

[Componente(s)]
jQueryUI: https://svn.code.sf.net/p/javagreencode/code/trunk/components/jQueryUI

[Vantagens]

  • A maioria das respostas do servidor são em JSON e por isso sendo mais rápido que qualquer framework que utilize tagLib.
  • Código do HTML limpo, sem interversões do tagLib.
  • Controlar objetos jQuery através do Java
  • Suporte a técnica Comet
    [color=red]- Enviar modificações do formulário a qualquer momento usando o método flush.
  • Sincronização com o DOM, capaz de adquirir qualquer informação do elemento em tempo de execução.[/color]
  • Suporte a compressão do html, css e js através do framework htmlcompressor
  • Suporte a criação de templates para que não seja necessário repetir o conteúdo padrão.
  • Injeções de objeto da sessão(@SessionAttribute), requisição(@RequestParameter) e das ações criadas(@In).
  • Cada página solicitada possui a sua própria sessão e podendo criar conversações. (ViewSession e Conversation)
  • Suporte a criações de extensões parecido com jQuery(jQuery.fn.extend)
  • Sistema de internacionalização sem precisar recarregar a página.
  • Erro ocasionados pelo servidor é mostrado em forma de popup e não substituição da página.
  • Etc…

[Desvantagens]

  • Sem documentação (Para compensar fiz exemplos)
  • Em fase “beta”

[color=brown]Exemplos[/color]
Fonte: https://svn.code.sf.net/p/javagreencode/code/trunk/samples
Bibliotecas para os projetos: https://svn.code.sf.net/p/javagreencode/code/trunk/samples/libs

[AIO (All in One)]
Resumo: Quase tudo que o framework é capaz de fazer, está sendo mostrado nesse projeto.
Fonte: https://svn.code.sf.net/p/javagreencode/code/trunk/samples/aio
Página de teste: http://www.abakus.com.br/aio/

[Comet]
Resumo: Mostrar quantos usuários estão acessando a página.
Fonte: https://svn.code.sf.net/p/javagreencode/code/trunk/samples/comet

[Database]
Resumo: Como se comunicar ao JDBC através de anotação(@Connection).
Fonte: https://svn.code.sf.net/p/javagreencode/code/trunk/samples/database

[Database com Hibernate]
Resumo: Como se comunicar ao banco de dados usando o framework Hibernate.
Fonte: https://svn.code.sf.net/p/javagreencode/code/trunk/samples/database

Escrevendo…



HTML: index.html
<html>
	<body></body>
</html>

Java: helloWorld.java
@Page(path="index.html", name="index")
public class HelloWorld extends HttpAction {
	public void init() {
		AnyTag label = new AnyTag("label");
		label.text("Hello World.");
		html.body.append(label);

		//Que tal registrar um evento?!
		label.on(Events.CLICK, new BasicEventHandler() {
			public void init() {
				label.css("color", "red");
			}
		});
	}
}

[color=red]Espero que com esse framework mude a forma de trabalhar com Java, basta saber o básico de jQuery, pois a forma de se programar é parecida.

Como o framework já foi reformulado “trilhões de vezes”, estou querendo fazer a versão 2.0 do ZERO e mais parecido possível com JS(DOM), tendo suporte a jQuery, Prototype, Mootools e etc…[/color]

Remover