Pular para o conteúdo principal

GWT

Neste post informei que estava começando um projeto particular e que utilizaria as seguintes tecnologias: JSP, Servlet, Struts, Hibernate. Bom, após uma tentativa frustrada de utilizar o YUI (Yahoo User Interface) diretamente com o Struts, decidi tentar aprender somente o que precisava saber sobre Struts primeiro, antes de utilizar alguma coisa diferente no projeto, como interface com AJAX que é o caso do YUI. Novamente fiquei frustrado. Bom, aprendi os conceitos do Struts, fiz alguns testes que funcionaram perfeitamente, inclusive com acesso ao banco de dados utilizando Hibernate. Mas o que me frustrou foi em relação justamente à interface.

O motivo dessa frustração foi por que não existe uma padronização que todos todos concordem para integrar o Struts com o JSP. Pesquisando, alguns diziam que o melhor era utilizar as JSTL padronizadas, já para alguns casos a maioria dos desenvolvedores recomendavam a utilização das taglibs do próprio Struts... Não encontrando um censo comum, nem uma forma fácil de integrar o Struts com JSP (deixo claro que essa é minha opinião que formei com algumas horas estudando Struts), decidir abandonar os estudos desse framework.

Procurando alternativas optei por me dedicar ao GWT (Googlel Web Tookit), que é um framework para criação de interface web baseado em Ajax. O funcionamento dessa ferramenta, que era de uso interno do Google mas foi disponibilizado como código aberto para quem quiser utilizar, é bem simples. A ideia central é a de gerar código JavaScript através de código Java... Você desenvolve a interface com código Java, mais ou menos parecido com a forma como você desenvolve utilizando Swing, porém você só pode utilizar componentes do GWT. A partir desse código, o compilador do GWT o compila para código JavaScript, gerando assim a interface.

Porém o GWT somente utiliza poucos recursos do Java e, principalmente, ele não suporta recursos que sejam do Java 5 ou mais recentes, ou seja, só suporta até o Java 1.4. Mas isso não chega a ser problema, pois o GWT é uma ferramenta voltada para criação de interfaces gráficas, logo não são necessários muitos recursos a mais do que o próprio GWT disponibiliza. Bom, não são necessários muitos recursos extras, mas algumas vezes são necessários alguns recursos, como por exemplo para se utilizar Hibernate com anotações eu seu projeto. Não vou entrar nesse assunto agora, porém no próximo post pretendo dar uma esclarecida nisso.

Outro detalhe importante sobre o GWT é que, sendo ele somente uma ferramenta para a criação de interfaces gráficas para web baseado em Ajax, todo o código que não esta relacionado à interface deve ficar no que é chamado de Server-side Code, ou seja, a lógica de negócio fica nessa área do projeto. Basicamente o Server-side Code é um servlet que é acessado pela interface como serviço, e é aqui que podemos utilizar todos os recursos do Java.

Não vou me aprofundar sobre esse assunto, porém segue alguns links que falam sobre isso de uma maneira melhor do que eu poderia explicar (e que me ajudaram muito a entender sobre o funcionamento da ferramenta):

http://loogica.wordpress.com/2006/11/30/gwt-voce-entendeu/

http://www.pbjug.org/jugs/documentos/google_web_toolkit


Após essa breve introdução sobre o GWT eu paro por aqui. Quem chegou a meu post aprender sobre GWT, recomendo que leiam os dois artigos dos links acima. Nos próximo posts irei colocar exemplos de utilização do GWT, inclusive de como passar a limitação sobre recursos do Java 5 e mais recentes.

Comentários

Postagens mais visitadas deste blog

Tutorial Bacula: Iniciando o serviço e operando o sistema

Chegamos a última parte do tutorial. Aqui vou falar sobre como iniciar o serviço e operar o servidor Bacula. Não veremos tudo, mas somente o essencial para que, a partir deste ponto, quem leu o tutorial possa configurar e operar o sistema, mesmo que basicamente. Então, mãos-à-obra. Para iniciarmos o sistema, os comando são: # bacula-dir # bacula-fd # bacula-sd que iniciam o Director Daemon, o File Daemon e o Storage Daemon respectivamente. Caso exista algum erro no arquivo de configuração, irá aparecer uma mensagem apontando qual o erro e o serviço não irá subir. Se for esse o caso, corrija os erros e execute o comando novamente. Se não exibiu mensagem de erro alguma, então o sistema deve estar no ar. Caso queira confirmar, digite o comando: # ps aux | grep bacula Esse comando exibirá todos os processos que estejam rodando e que contenham a sequência "bacula". Se tudo deu certo, vamos operar o sistema. Para operar o sistema, utilizamos o console do Bacula, no caso o bconsole....

Linux de bolso

Comecei a faculdade (ciência da computação, escolha meio obvia) esse ano e logo de cara fiquei sabendo que iriamos utilizar linux nos computadores da faculdade, o que achei muito bom. Mas chegando no laboratório de informática vi que estava instalado o CentOS , se não me engano é baseado no Red Hat Enterprise (e não Fedora, como tinha postado antes). Até ai tudo bem, nada contra em usar uma distribuição que não conheço, o problema foi quando percebi que o sistema estava da forma como foi instalado, sem nenhuma configuração extra. Primeiro percebi que a resolução estava em 800x600, e não havia como mudar a resolução para 1024x768, que julgo ser ideal de ser usada. Isso até que podia ser suportado, mas ao tentar usar meu pendrive ele não foi reconhecido automaticamente, ou pelo menos não foi montado automaticamente, e depois tentando monsta-lo manualmente, o sistema só dá permição para o root montar dispositivos, e a senha do root, como não podia ser diferente, não temos acesso. Com es...

Tutorial sobre Bacula

Conforme prometido irei postar aqui um tutorial sobre Bacula . Ou melhor, uma série de post que juntos se tornarão um tutorial mais completo. Decidi fazer dessa forma, dividindo em várias partes, pois o assunto é muito complexo e grande, e colocar tudo em um post só seria complicado. Quando terminar tentarei unir o tutorial em um só, e para ficar melhor gostaria de receber dicas, criticas, correções... nos comentários para fazer devidas alterações. Para começar, vamos a uma introdução sobre o que exatamente é o Bacula e suas principais funções. Essa parte já esta pronta, somente irei fazer correções e algumas alterações para melhora-lo, e, hoje ou no máximo amanhã, irei postar aqui. Mas antes de ler (ou depois de ler, você é quem decide), sugiro que leiam os seguintes links: Site oficial do Bacula Conceitos importantes sobre backup - É sobre um sistema de backup diferente, mas os conceitos são os mesmo do Bacula. Aqui você encontra o menu completo desse outro sistema de backup. Tut...