ZK Ajax Web framework

Tenho estudado um framework web com Ajax, parece-me bem interessante e muito mais simples que o JSF.
O ZK 1.1 ainda está amadurecendo. Não tem MVC mas pode ser usado com o Spring .
Na página tem Live Demo, vale a pena ver. Os componentes “Sandbox” e “Live Listbox” fazem a aplicação parecer ser desktop.

Abraços

PS: É open source.

voce sabe como efeita a integracao dele com o struts… ou tags jsp?

eu tinha feito uns testes com ele a um tempo atras…
é legalzinho mas o codigo fica muito sujo e misturado :?

se bem que eu nao mexi a fundo…
mas deu pra fazer um CRUD com acesso a banco e tudo mais…
ficou ateh bonitim hehehe :smiley:

agora… como seria feita uma integração com struts eu nao sei…
no caso do jsp, vc pode incluir (include) os componentes do ZK nas paginas…
:wink:

Carlos,

[quote]voce sabe como efeita a integracao dele com o struts… ou tags jsp? [/quote]Sou um “zero à esquerda” em matéria de Struts, conheço só de nome… não posso responder.

Marcus,

[quote]u tinha feito uns testes com ele a um tempo atras…
é legalzinho mas o codigo fica muito sujo e misturado[/quote]Pra ficar menos poluído, tenho escrito a lógia em classes, separado da interface. Fica uma espécie de “bean” do JSF.

Nas horas vagas vou fazer mais testes, a fim de me certificar estabilidade e produtividade. Se alguém tiver alguma dica ou opinião, compartilhem conosco.

Abraços[quote]

Show de bola… Muito bom

Hoje eu estou trabalhando com Struts 2 e já trabalhei com o ZK e gostei muito, a interface e a documentação dele é show de bola. Estou pesquisando como seria feita a integração dele com o Struts 2 espero achar algo… para poder colaborar…

Fiquei bastante impressionado com esse framework!

As coisas que percebi na primeira olhada (uma hora e meia rsrsrs) e me deixou na dúvida foram o seguinte:

a) Dá pra mudar as cores? Achei meio massante o azul calcinha rsrssr.
b) Os botões da janela para download/upload estão em inglês, será que dá pra configurar para outro idioma?
c) Ele lida de maneira fácil e prática com arquivos de properties?

Vou tentar responder estas questões lendo os documentos, que aliás, eu achei muito bons; simples e objetivo igual ao framework.

Se alguem souber as respostas, escreva por favor.

Abraços, valeu pela dica ricardosoares :smiley:

a - As cores você pode mudar no CSS sem crise.
b - Os Botões vc pode alterar facilmente o title, se desejar colocar em arquivos .properties para fazer multi-language
c - Não cheguei a trabalhar com ele fazendo que ele leia o arquivo .properties, era uma camada de controle. O framework OfBiz … te aconselho baixar os examples dele no site que são muitos auto explicativo.

[ ]'s

Valeu pelas dicas dandrop, já estou dando uma olhada.

Estou gostando bastante, uma coisa que está me deixando encucado é o uso da memória…parece que ele coloca tudo na session. Não descobri como ele administra isso…será que os objetos ficam por lá até a session ser invalidada, ou algo parecido?

Vou continuar pesquisando…

[]'s

Também estou estudando e fazendo um projeto com esse framework. Qualquer dúvida estamos aew.

Que tal criarmos um grupo de discussão sobre ZK?

Oi galera…

Como funciona a licensa do ZK, alguem pode me dizer?

Valeu

Pelo que eu entendi é assim:

Ou você abre o seu código ou você é obrigado a pagar uma taxa anual pelo zkoss.

Dei uma olhada no site deles e foi o que eu entendi também…uma pena, porque acho que os caras aqui onde trabalho não irão aceitar liberar os fontes, como eles estão em um momento de contenção de dispesas talvez não queiram pagar a licença :cry: .

valeu pela resposta SanjuanRJ.

Abraços

Cara, sinceramente eu não ligo muito para isso. Eu usaria e pronto.

Eu tenho umas dúvidas com ZK, seria legal a gente trocar msn para podermos debater algumas boas práticas no zk.

Ou até mesmo postar aqui nesse tópico.

O que você acha?

Acho uma boa idéia…

Prefiro utilizar o forum, porque onde trabalho não é permitido utilizar o MSN, além disso acho que postando no guj outras pessoas podem paticipar fazendo com que aprendamos mais ainda :slight_smile: .

Quais são suas dúvidas?

[]'s

Queria saber como você está fazendo para exibir uma lista dentro de outras lista.

Por exemplo um contato que tem vários telefones dentro dele.

Eu quero exibir os contatos adicionados e permitir que ele altere ou exclua o contato dessa lista.

Para isso eu estava pensando em inserir essa lista em um Listbox que já tem a propriedade de pegar o item selecionado para mim, mas não sei se é a melhor opção.

Dentro dessa de cada lisitem eu colocaria um listcell com um

    para mostrar os itens de cada contato.

    Apesar de não achar isso ruim, eu gostaria de fazer de uma forma diferente, pq assim fica um de baixo do outro, quandon eu queria colocar um do lado do outro.

    Não sei se fui muitom claro, mas acho que deu para entender, assim que chegar em casa eu posto o código para você ver.

Queria saber também, se você está usando o data binding e também se está usando o conceito de exibir uma janela modal com uma página dentro dela(Aquela parada de um Desktop poder ter várias páginas dentro dela).

Esse lance de exibir uma janela apartir de uma outra página é bem interessante. Ou seja, você pode visualizar itens de uma outra página enquanto navega na atual.

E eu tentei inserir um Enum em uma lista mas vi que eles não dão suporte a enum :? , precisa ser uma Collection mesmo.

Valeu!!!

Oi SanjuanRJ,

Não sei se entendi a sua primeira dúvida mas é o seguinte… se vc quiser colocar os dados um do lado do outro (ex: Contato, tel 01, tel02, tel03, tel04) em um forma tabular no listbox e assumindo que cada contato terá um número diferente de telefones acredito que vc terá que construir o objeto (Listbox) e seu conteúdo dinamicamente, ou seja, você terá que: criar uma classe MyListBox extends ListBox (ou na própria window e depois utilizar binding) e na página utilizar o atributo “use” e assim por diante; como o número de tels dos contados variam vc terá que descobrir antecipadamente qual é o número máximo de colunas para cria-las adequadamente.

A outra dúvida sobre as janelas, acho (não fiz ainda) que se vc fizer de forma dinamica também vai rolar; eu consegui inserir uma página com lista e digitação de dados em uma tab e funcionou corretamente, em uma janela acho que não teria o porque de não funcionar.
Eu falo dinamicamente porque não achei uma tag na window para apontar o fonte da página.
O código ficaria + ou - assim:

            Include inc = new Include();
            inc.setSrc("nomedapagina.zul");

            super.appendChild(inc);

Utilizei os bindings também e funcionou sem problemas, basta criar uma classe MyController extends Window e seguir em frente… é só seguir os tutoriais e não tem erro rsrsrssr.

Espero ter ajudado…como disse antes estou testando o ZK ainda, mas até o momento já está confirmado que será utilizado em pelo menos em um projeto falta o cliente fechar.

Pelo que testei e entendi até o momento o ZK é uma idéia show de bola mas para fazer uns bons milagres nele tem que “sacar” bem a parte dinâmica que não é muito difícil e tem bastante explicações nos tutoriais. Pena que o JSF/RichFaces está meio longe de chegar nesse ponto. Testei bastante o RichFaces e o IceFaces mas não consegui fazer o que o ZK faz com extrema facilidade como inserir uma página em uma tab, na verdade queria utilizar o JSF porque é mais utilizado no mercado e torço para que ele dê certo (mais ainda rsrsr).
O esquema para resolver a questão do ajax no ZK ficou muito bom, se o JSF/RichFaces e os outros não arrumar uma idéia semelhante rápidamente logo irá surgir um outro framework e vai detonar tudo. Isso sem falar da integração do ZK com a codificação java, javascript, Ruby groovy feito tudo de forma (até onde eu entedi) bem fácil.

[]'s

[quote=SanjuanRJ]
E eu tentei inserir um Enum em uma lista mas vi que eles não dão suporte a enum :? , precisa ser uma Collection mesmo.
Valeu!!![/quote]
Para lista eu não tentei, acho que dá suporte sim. Abaixo um trecho onde utilizei para povoar um combobox, por exemplo, utilizando databinding:

[code]
// No Controller…
public class BA_Queue_Controller extends Window {
private static final long serialVersionUID = 1L;
public Class status_list = domain.enums.BAStatus.class;
// …

// Na View

<combobox id="cb_status"
                    model="@{window.status_list}"
                    selectedItem="@{selected.status; save-when:none;}"
                    value="@{selected.status.toString; access:load;}" />
[/code]Também é muito prático para gerar gráficos e exibir relatórios (jasper), integração com hibernate.

Oi genildof,

Antes obrigado pelo dica...

Qual versão vc está utilizando do ZK?
Vc utiliza o eclipse, netbeans ou o quê para editar o código?

 Vc está fazendo teste, implementando sistemas internos ou sistemas para serem vendidos com o ZK?

 Por que vc optou pelo ZK e não pelo JSF?

 Desculpe o monte de perguntas rsrsss...

[]'s