jump to navigation

Mudança de endereço Janeiro 9, 2007

Posted by felipecruz in Uncategorized.
add a comment

Pessoal,

Estou migrando o blog do wordpress.com para um servidor próprio! Agora posso instalar plugins e ter um controle maior sobre o blog.

O endereço novo é http://blog.loogica.net que alguns de vocês ja devem conhecer, mas muita gente também acessa direto pelo wordpress.

Obrigado a todos pelas visitas e comentários!

5 Metas para 2007.. Janeiro 8, 2007

Posted by felipecruz in Uncategorized.
add a comment

Recebi um convite do Luiz onde eu posto minhas metas para 2007 e convido 5 outras pessoas(de blogs que eu leio) a fazerem o mesmo. Vamos lá!

  • Continuar 3 projetos pessoais, um deles o pd4j, um projeto web e um desktop.
  • Estudar ingles fora (pela língua e pela experiência)
  • Promover a inclusão digital de alguma forma
  • Estudar
  • Me organizar para iniciar meu MBA em 2008

Eu passo adiante

É isso ai!

obs: estou migrando o blog para um servidor próprio e por enquanto o blog está replicado em http://blog.loogica.net e http://loogica.wordpress.com

Em breve estará tudo ajustado, e o URL oficial sera http://blog.loogica.net

Use a criatividade! Componentes Swing Janeiro 4, 2007

Posted by felipecruz in Java, Swing.
4 comments

Se alguém te pedisse para criar uma interface com uma tabela, mas a classe JTable não existisse, o que você faria?

Num post anterior, eu te disse que um comboBox era um textField, um botão e um listbox. Nesse exemplo eu quero mostrar uma tabela, que atende necessidades básicas (exibir dados em uma forma de grid e poder obte-los).

Veja o resultado:

Exemplo

Um painel, com N sub-paineis que representam linhas(e N o numero de linhas), todos com X numeros de elementos, (onde X é o numero de colunas). As células só podem ser editadas com o mouse sobre elas, mas nada impede de que um clique habilite a edição e outro clique desabilite a edição. Os valores são obtidos por um método “getValue(int row, int col)”.

codigo

Como eu escrevi esse post faz um tempo, vou colocar abaixo como essa tabelinha está atualmente:

versao nova

Eu quero mostrar com esse exemplo simples que criar componentes novos com swing não é um bicho de 7 cabeças e as vezes os problemas podem ter soluções mais simples do que imaginamos… o exemplo é pra abrir sua cabeça e é meramente ilustrativo!

Use a criatividade!!

GWT (Parte 1) – Visão Geral Janeiro 4, 2007

Posted by viniciusdiniz in GWT, Java, Web.
7 comments


GWT é uma ferramenta para construção de interfaces Web mais amigáveis e rápidas. Guarde isso… interface… essa é a proposta do GWT, pelo menos por enquanto.
Tenho trabalhado e utilizado o GWT em alguns projetos. Gostaria de passar algumas lições que já aprendi com esse produto que está tão em evidência no momento.

Vou começar destacando os principais pontos que todos deveriam saber para começar a utilizar o GWT.

       

       

        1.      Tudo que você codifica em java na parte cliente, vira javascript (Ver o tópico http://loogica.wordpress.com/2006/11/30/gwt-voce-entendeu/)

    

                Como tudo da parte cliente vira javascript, é muito bom você ter uma boa noção de javascript para não querer  usar Reflection, Serialização, etc na parte cliente. Pois qualquer pessoa que conheça javascprit pode ver que não se consegue ainda fazer essas coisas com essa linguagem.

       

       

        2.      GWT é para a parte da interface do seu sistema.

       

                O GWT foi feito para facilitar e agilizar o processo de desenvolvimento das interfaces de aplicações WEB utilizando AJAX. Não é uma boa prática embutir o código de lógica do negócio nas classes do lado cliente da aplicação. É muito comum as pessoas, utilizando GWT, colocarem toda a lógica da aplicação junto com a lógica de apresentação e só utilizarem o lado servidor para executar lógicas específicas de persistência.        

                Ex: Ter toda a lógica de validação, verificação de privilégios, relacionamentos nas classes do lado cliente e só chamarem uma função  insertUser(User u); no lado servidor. Que vai ter somente a persistência desse objeto User.        

                Meu comentário sobre do post http://loogica.wordpress.com/2006/11/30/gwt-voce-entendeu/ 

                “O que acontece com isso? Perda de escalabilidade. Se você quiser integrar sua aplicação com um ambiente desktop, mobile, etc etc você terá que reescrever toda a lógica de negócio e pior, se tiver que alterá-la, vai ter que repetir a alteração para todos os ambientes, pois o GWT não se aplica a outro ambiente sem ser Web.”.        

                O problema, na minha opinião, está em tudo ser Java. Todo o código são classes Java e os desenvolvedores perdem a referência do conceito MVC. Sempre fomos acostumados a fazer os famosos códigos HTML/Javascript que correspondiam a camada de apresentação da aplicação. Com isso nunca nos preocupamos com a separação desta.

       

       

        3.      Tente entender como o produto funciona e não como utilizá-lo.       

     

                É primordial entender como as coisas são feitas no produto. Como classes Java viram javascript e tem o mesmo comportamento no browser? Como é feita a comunicação cliente/servidor? Como em um evento javascript, é transformado em uma chamada ao servidor?

                Entendendo como o produto funciona, no final, você vai saber muito bem como utilizá-lo.

       

       

        4.      Utilização e leak de memória no browser.

       

                A evolução das aplicações web está acontecendo em uma velocidade que está difícil de acompanhar. Mas não há como negar que existe uma tendência muito grande de se fazer tudo web. Hoje em dia já existem várias aplicações web que são cópias de aplicações desktop.        

                O GWT foi no ponto certo. Pegou uma área ainda meio crua no mercado que é a utilização de ajax e a construção de interfaces mais amigáveis em HTML/Javascript. Junto com isso, existe a possibilidade de organização, reaproveitamento e toda uma organização de código que antes eram bem mais complicadas de se ter.        

                Finalmente, com interfaces cada vez mais poderosas e complexas, automaticamente aumentam o consumo de memória de quem exibe essa interface, que no caso é o browser. Como no GWT tudo vira JavaScript, é bom pensar em como é feita a utilização de memória desse código. Um exemplo básico de leak de memória em javascript utilizando o IE é explicado no link http://javascript.crockford.com/memory/leak.html . Quando criarem um painel e não forem reutilizá-lo, pensem se a memória que o mesmo utiliza está sendo desalocada.        

                Experimente abrir o Firefox e deixar por um ou dois dias uma aba com o GMail aberto para você ver qual será o consumo de memória do Firefox (válido para IE, Opera, etc).

       

       

Se algo estiver equivocado, incompleto, ou se quiserem complementar, fiquem a vontade para escrever.

Essa foi a primeira parte. Vou publicar mais alguns pontos, boas práticas, bibliotecas, etc sobre GWT.

Abraços!