Olá pessoal,
Estou desenvolvendo uma aplicação web utilizando smartGwt.
Depois de apanhar muito, eu consegui montar meu projeto no eclipse, faze-lo rodar no tomcat e buscar dados via RPC(Remote Procedure Call) no lado server da aplicação, que está rodando com hibernate e hsqldb.
Caso alguém tenha alguma dúvida bem básica até esse ponto talvez eu possa ajudar.
Mas estou com algumas dúvidas, gostaria de ouvir a opinião de vocês sobre elas:
1º) Tenho um conhecido que já desenvolveu algumas aplicações bem grandes utilizando ext-gwt, ele me disse que pra obter um bom desempenho em aplicações gwt é preciso tomar um certo cuidado com os objetos que são transferidos via RPC, pois os objetos utilizados no lado client terão de ser convertidos para javascript, e dependendo de como estivér a coisa isso pode gerar arquivos js gigantescos que demorariam muito para ser carregados no browser. Ele aconselhou utilizar umas espécie de dto(Data Transfer Object), que seriam objetos mais simples, contendo apenas informações necessárias e tipos mais básicos. Eu estava pensando em utilizar nas chamadas RPC apenas objetos JSON, o que vocês acham?! Daria muito mais trabalho, ficaria performático?!
Alguém teria outras sugestões?!
Ou no fim das contas eu só estou falando um monte de besteiras e deveria transferir diretamente meus TOs sem medo?
Acredito que essa dúvida deve servir tanto pra quem usa smartGwt, como ext-gwt,gwt puro ou qualquer outra extensão.
2º) No showcase do smartGwt, notei que a maioria dos grids e outros componentes são populados utilizando DataSource, porém os dados provêm de arquivos .xml e não de um banco de dados propriamente dito. Até então eu só consegui popular um grid por exemplo criando records diretamente e adicionando um a um no grid.
Ex:
ListGrid listGrid = new ListGrid();
ListGridRecord record = new ListGridRecord();
record.setAttribute("itemID", 1);
record.setAttribute("itemNome", "Batata");
listGrid.addData(record);
Estou fazendo muita besteira?! Será que alguém pode me mostrar algum outro caminho melhor ou mais “correto” para popular os componentes do smartGwt e enviar de volta dados para serem gravados na camada de persistência.
Acho que é isso ai, qualquer exemplo ou sugestão é válido.
Obrigado desde já!