Introdução Wicket

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Introdução Wicket - Presentation Transcript

    1. Apache Wicket
    2. Nosso contexto
      • Há uma enorme demanda por sistemas web
      • Os ciclos de desenvolvimento ficaram curtos
      • As entregas são frequentes
    3. Por que Wicket?
      • Wicket é um framework web permite o desenvolvimento rápido e indolor de aplicativos web
    4. O sonho de todo programador programador é
    5. Criar um aplicativo de sucesso
    6. Para ficar bilionário como
    7. Bill Gates
    8. Influente como…
    9. Steve Jobs
    10. Reconhecido como…
    11. Linus Torvald
    12. E viver sossegado como…
    13. Um bebê
    14. Wicket pode fazer isso tudo?
    15. NÃO!!!!
    16. Suas idéias é que trazem o sucesso!
    17. Wicket pode ajudá-lo a torná-las reais
    18. Mais um framework web?
    19. Sobre os “outros” frameworks
    20. Um pouco de história
      • A maior parte dos frameworks web Java são baseados num modelo MVC chamado de “Modelo 2”.
    21. O Modelo 2
    22. Deficiências do modelo 2
      • Abstração rasa da natureza stateless do procotolo HTTP.
      • Administração manual do estado da IU
      • Excesso de artefatos
      • Difícil aprendizado
      • Baixa reutilização de código
      • Impossibilidade de criar IU complexas
    23. Arquitetura Típica do Modelo 2
    24. Conseqüências
      • Induz a criação de código procedural.
      • Excesso de plumbing code
      • Progresso lento
      • Alto custo
    25. Resultado final
      • Processo propenso à erros
      • Dificuldade na evolução e manutenção
      • Estresse
      • Desespero
      • Apátia
    26. Foto do resultado final
    27. Programador em fim de projeto
    28. Você merece mais que isso!!!
    29. Lembra do sonho?
    30. Wicket pode te ajudar.
    31. Como ele difere dos demais?
    32. Uma palavra:
    33. Simplicidade
    34. De que forma?
    35. Utilizando componentes
    36. Sobre orientação à componentes
      • A aplicação é construida a partir de componentes reutilizáveis
      • Componentes possuem estado
      • Componentes possuem comportamento
    37. Componentes combinados criam soluções
    38. História
      • Criado por um Jonathan Locke, ex-membro da equipe de engenharia do Swing UI da Sun
      • Versão 1.0 lançada em 2004
      • Em 2007 torna-se um projeto da Apache Software Foundation
    39. Influências Echo Swing API
    40. Vantagens
      • Código-aberto
      • Simples
      • Orientado a componentes
      • Separação de responsabilidades
      • Gerenciamento transparente do estado
      • Não requer configurações em XML
      • Integração a outros frameworks (Spring, Hibernate)
    41. Como Wicket faz tudo isso?
    42. + <HTML>
    43. Na prática
    44. Na prática public class OlaMundo extends WebPage { public OlaMundo() { add( new Label(“ mensagem ”, “ Ola, mundo!!! ”)); } } <html> <body> <h1 wicked:id=“ message ”>TEXTO A SER SUBSTITUIDO </h1> </body> </html> <html> <body> <h1 wicked:id=“ message ”> Ola, mundo!!! </h1> </body> </html> + =
    45. Conceitos
      • Componente
      • Modelos
      • Templates
      • Application
      • Session
    46. Componente Wicket
      • Bloco fundamental da aplicação
      • Responsável sua própria apresentação
      • Responde eventos
      • Componentes podem ser aninhados numa árvore
      • Mantém os dados num objeto modelo
      • Existem mais de 220 componentes no Wicket Core e no Wicket Extensions
    47. Componentes Wicket
    48. Componentes Wicket
      • Cada instância possui um ID único
      • O template deve conter um markup equivalente identificado pelo atributo wicket:id
      • Java
        • new Label (“ telefone ”,”011-222-1111”);
      • HTML
        • <span wicket:id =“ telefone” > XXX </span>
    49. Componentes Wicket
      • Podem estar associados ou não a um template HTML próprio.
    50. Componentes Wicket
      • Componentes com templates associados
        • Page, Panel, Border, Fragment
        • A classe e template do componente devem estar no mesmo pacote e ter o mesmo nome
        • Exemplo:
        • src/com/acme/comp/ Slider.java
        • src/com/acme/comp/ Slider.html
    51. Componentes Wicket
      • Componentes sem templates associados
        • Label, Button, DropDown, Link, Form e outros
        • Seus templates encontram-se junto a uma superclasse
    52. Conceitos
      • Componente
      • Modelos
      • Templates
      • Application
      • Session
    53. Modelos
      • Implementam a interface Imodel
      • Encapsulam os objetos de domínio
      • Ligam os componentes aos objetos do domínio
    54. Modelos
      • Exemplos:
      • add (new Label (“ nome ”, “ João ”));
      • add (new Label (“ nome ”, new PropertyModel ( pessoa , “ nome ”)));
      • <span wicket:id =“ nome” > XYZ </span>
    55. Conceitos
      • Componente
      • Modelos
      • Templates
      • Application
      • Session
    56. Templates
      • Escritos em HTML
      • Os webdesigner pode trabalhar com suas ferramentas favoritas
      • As ligações com os componentes são feitas por meio do atributo wicket:id
    57. Conceitos
      • Componente
      • Modelos
      • Templates
      • Application
      • Session
    58. Application
      • Ponto de entrada da aplicação web
      • Iniciação
      • Configuração
      • Configurada no web.xml
      • Define página home
    59. Conceitos
      • Componente
      • Modelos
      • Templates
      • Application
      • Session
    60. Session
      • Mantém o estado da aplicação para um usuário
      • Podem ser personalizadas
      • Com sessões personalizadas pode-se conhecer o que pode ser armazenado nelas
      • Sessões personalizadas são type-safe
    61. Criando aplicações com Wicket
    62. Criando aplicações com Wicket
      • A forma mais rápida é utilizando um archetype maven
      • $ mvn archetype:create
      • -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.3.4 -DgroupId= com.acme -DartifactId= agenda
      • $ cd agenda
      • $ mvn eclipse:eclipse
    63. Criando aplicações com Wicket
      • <html>
      • <head>
      • <title> Agenda </title>
      • </head>
      • <body>
      • <h1>Endereços</h1>
      • <table>
      • <tr>
      • <td><span> Adrián Dantas </span></td>
      • <td><span> 880-2600 </span></td>
      • <td><span> Analista </span></td>
      • </tr>
      • </table>
      • </body>
      • </html>
    64. Criando aplicações com Wicket
      • <html>
      • <head>
      • <title> Agenda </title>
      • </head>
      • <body>
      • <h1>Endereços</h1>
      • <table>
      • <tr wicket:id=&quot;registros&quot; >
      • <td><span> Adrián Dantas </span></td>
      • <td><span> 880-2600 </span></td>
      • <td><span> Analista </span></td>
      • </tr>
      • </table>
      • </body>
      • </html>
    65. Criando aplicações com Wicket
      • <html>
      • <head>
      • <title> Agenda </title>
      • </head>
      • <body>
      • <h1>Endereços</h1>
      • <table>
      • <tr wicket:id=&quot;registros&quot; >
      • <td><span wicket:id=&quot;nome&quot; > Adrián Dantas </span></td>
      • <td><span wicket:id=”telefone&quot; > 880-2600 </span></td>
      • <td><span wicket:id=”profissao&quot; > Analista </span></td>
      • </tr>
      • </table>
      • </body>
      • </html>
    66. Criando aplicações com Wicket
      • package com.acme.paginas;
      • import org.apache.wicket.PageParameters;
      • import org.apache.wicket.markup.html.WebPage;
      • import org.apache.wicket.markup.html.basic.Label;
      • public class ListaPage extends WebPage {
      • public ListaPage (final PageParameters parameters ) {
      • // Configuracao dos componentes da pagina
      • }
      • }
    67. Criando aplicações com Wicket
      • public class ListaPage extends WebPage {
      • public ListaPage( final PageParameters parameters) {
      • add(registrosListView = new ListView(&quot;registros&quot;, registrosList) {
      • protected void populateItem(ListItem item) {
      • final Registro registro =
      • (Registro) item.getModelObject();
      • item.add( new Label(&quot;nome&quot;, registro.getNome()));
      • item.add( new Label(&quot;telefone&quot;, registro.getTelefone()));
      • item.add( new Label(&quot;profissao&quot;, registro.getProfissao()));
      • }
      • });
      • }
    68. Resumo
      • Wicket fornece um ambiente rápido de desenvolvimento de aplicações web
      • Os desenvolvedores podem se concentrar na lógica de negócios
      • Utiliza componentes em Java e HTML para apresentação
      • É simples e divertido!
    69. Referências
      • Website
        • http://wicket.apache.org/
      • Wiki
        • http://cwiki.apache.org/WICKET/
      • IRC
        • Nos servidores Freenode
        • ##wicket@irc.freenode.net
    70. Perguntas
    71. OBRIGADO!!!

    + adantasadantas, 2 years ago

    custom

    1702 views, 1 favs, 15 embeds more stats

    Um breve intrução ao framework web Wicket. Esta a more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1702
      • 1142 on SlideShare
      • 560 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 33
    Most viewed embeds
    • 295 views on http://www.fernandoquadro.com.br
    • 103 views on http://javawora.blogspot.com
    • 44 views on http://devtopia.blogspot.com
    • 38 views on http://www.javawora.blogspot.com
    • 34 views on http://www.adriandantas.com

    more

    All embeds
    • 295 views on http://www.fernandoquadro.com.br
    • 103 views on http://javawora.blogspot.com
    • 44 views on http://devtopia.blogspot.com
    • 38 views on http://www.javawora.blogspot.com
    • 34 views on http://www.adriandantas.com
    • 24 views on http://www.infoblogs.com.br
    • 9 views on http://www.thierryaraujo.com.br
    • 3 views on http://www.portaljava.com
    • 3 views on http://thierryaraujo.com.br
    • 2 views on http://www.devtopia.blogspot.com
    • 1 views on http://64.233.169.132
    • 1 views on http://74.125.45.132
    • 1 views on http://209.85.215.104
    • 1 views on file://
    • 1 views on http://64.233.169.104

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories