zk ria com zk framework. o que é zk? zk é um framework ajax orientado a eventos, baseado em...
TRANSCRIPT
ZKRIA com ZK Framework
O que é ZK? ZK é um framework AJAX orientado a eventos, baseado
em componentes, open-source para desenvolvimento de aplicações WEB escrito em Java que permite a criação de interfaces ricas(RIA) com o usuário para aplicações web sem Javascript e poucos conhecimento de programação.
ZK possui a denominada abordagem server-centric na qual a sincronização de conteúdo de componentes e o pipelining de evento entre clientes e servidores são feitas automaticamente pelo motor e os códigos de canalização AJAX são completamente transparentes para os desenvolvedores de aplicativos web.
Server Centric vs Client centric
Server-Centric Client-Centric
Pontos Fortes Open Source: Zk é o principal framework open source Ajax +
Mobile. A comunidade de desenvolvedores ZK é extremamente ativa com mais de 20 traduções, mais de 100 artigos/blogs e mais de 100.000 linhas de código, mais de 1.300.000 downloads de mais de 190 paises.
Experiência Rica de Usuário: Mais de 200 componentes prontos. Vários componentes de terceiros: JFreeChart. JasperReports, Google Maps, FCKeditor, Timeline, ExtJS, Dojo e mais.
Baseado em padrões: ZK é um solução baseada em padrões Extensibilidade e customização: ZK é totalmente
personalizável e extensível com uma arquitetura modular e plug-and-play
Acesso Móvel: ZK estende o alcance de sua aplicação para os dispositivos móveis. ZK suporta Java Mobile, Android e vários navegadores móveis
Segurança: ZK é concebido desde sua criação para ser seguro.
Simplificando as coisas…
Componentes ZK Site com exemplo dos componentes:
http://www.zkoss.org/zkdemo/userguide/
Configuração do ambiente JDK:
http://java.sun.com/javase/downloads/widget/jdk6.jsp Eclipse Galileo para Java EE:
http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/galileosr2
Tomcat 6: http://tomcat.apache.org/download-60.cgi
ZK Studio(Plugin para o Eclipse): http://www.zkoss.org/download/zkstudio.dsp
ZK 5.0.X: http://www.zkoss.org/download/zk.dsp
Instalado o plugin do ZK no Eclipse Em Window Help -> Install New software Add...
Name: Zk Studio Location: http://www.zkoss.org/download/zkstudio.dsp
Selecione o plugin e mande instalar Depois de instalar, baixe a versão mais atual do ZK:
http://www.zkoss.org/download/zk.dsp Depois de baixado, em Window -> Preferences. ZK -> ZK
Packages Add File
Selecione o File Import, o local do arquivo do ZK Depois disso selecione esse pacote que voce instalou, apply
e ok Pronto!
Primeiros passos Criação de um Projeto com ZK Configuração do servidor Iniciando a aplicação Primeiro exemplo… Projeto: Primeiros passos no site de comp2
Criação de uma view com um controlador. Demonstração do uso de MVC com o ZK.
ZUML
O que é? O ZK User Interface Markup Language (ZUML) é baseada
em XML Arquivos ZUML possuem extensão .zul
Características Cada elemento ZK instrui ao ZK Loader qual componente
criar Uma propriedade ZK descreve um valor inicial a ser
atribuído ao componente criado Uma instrução de processamento ZK descreve como
processar a página inteira, como o título da página. XML Implicit Objects Expresion Language zscript ZK Processing Instruction ZK Attributes ZK Elements
XML O ZUML é baseado em XML:
http://docs.zkoss.org/wiki/ZUML_XML
Implicit Objects Objetos implícitos são muito parecidos com variáveis
globais tratadas pelo sistema. Você pode usá-lo para obter informações do sistema e do cliente. Além disso, é uma maneira de passar informações entre páginas. São realmente úteis para o desenvolvimento de uma aplicação web.
http://docs.zkoss.org/wiki/ZUML_Implicit_Objects
ZScript O zscript permitem escrever código Java dentro ZUML,
para prototipagem rápida. Possui suporte a vários tipos de linguagens além de Java
http://docs.zkoss.org/wiki/Zscript
Expression Language (EL)
Expression Language é uma linguagem de scripting. Através dela, o pode-se escrever código em ZUML para acessar componentes Java facilmente. Além disso, o desenvolvedor pode acessar componentes ZUML através de uma expressão clara e simples. EL pode acessar objetos implícitos também.
http://docs.zkoss.org/wiki/ZUML_Expression_Language_(EL)
Outros... ZK Processing Instruction
http://docs.zkoss.org/wiki/ZUML_ZK_Processing_Instructions ZK Attributes
http://docs.zkoss.org/wiki/ZUML_ZK_Attributes ZK Elements
http://docs.zkoss.org/wiki/ZUML_ZK_Elements
Ciclo de Vida
O ciclo de vida de carregamento de uma página
A fase inicial da Page A fase de criação da Page A fase de processamento de eventos A fase de renderização
Gerando uma pagina HTML
O ciclo de vida de atualização de uma página
A fase de processamento de solicitação A fase de processamento de eventos A fase de renderezição
ZK fazendo Ajax
Componente UI Componente
Parte Visual Parte Java
Desktop, Page e Componentes Um desktop é uma janela do navegador. É uma coleção de
páginas para atender a solicitação de uma mesma URL Uma página é uma coleção de componentes, que são
exibidos em uma determinada parcela do seu navegador. Um componente é um objeto de interface do usuário, por
exemplo: janela, botão ...
ID Space<?page id="P"?><zk>
<window id="A"><hbox id="B"><button id="D" /></hbox><window id="C"><button id="E" /></window></window><hbox id="F"><button id="G" /></hbox>
</zk>
JPA
Integração com JPA Uso do arquivo META-INF\persistence.xml no source Configuração do arquivo zk.xml:
<preference><name>JpaUtil.PersistenceUnitName</name><value>comp2web_persistence_unit</value>
</preference><listener> <description>JPA "OpenEntityManagerInView"
Listener</description> <listener-
class>org.zkoss.zkplus.jpa.OpenEntityManagerInViewListener</listener-class>
</listener> Uso da classe: org.zkoss.zkplus.jpa.JpaUtil
Data binding
Conceito Básico Data binding é um mecanismo que automatiza o código
de cópia de dados entre os componentes de interface e fonte de dados. Os desenvolvedores só tem que informar ao gerenciador de data binding sobre as associações entre os componentes de interface e a fonte de dados. Em seguida, o gerenciador de data binding irá fazer o trabalho de carregar(carregar dados da fonte de dados para componentes de interface do usuário) e salvar(guardar dados de componente de UI para a fonte de dados) automaticamente.
Projeto de exemplo: DataBinding
Referências: Guia do Desenvolvedor:
http://docs.zkoss.org/wiki/Developer's_Guide Referências de componentes(Versão 5.0.X):
http://books.zkoss.org/wiki/ZK_Component_Reference ZK Java API:
http://www.zkoss.org/javadoc/latest/zk/
Dúvidas?
FIM