genesis 3.0-EA4: Suporte SWT e tutorial do binding Swing  XML
Índice dos Fóruns » Notícias
Autor Mensagem
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

Foi lançada alguns dias atrás a nova release do genesis, a 3.0-EA4. Uma das novidades é o binding SWT, expandindo o suporte desktop do framework, que já inclui Swing (desde a 3.0-EA3) e Thinlet.

O princípio do binding é o mesmo usado pelas outras tecnologias: você constrói sua interface normalmente, usando o Visual Editor do Eclipse ou codificando na mão mesmo, com o único requerimento de definir o nome dos seus componentes igual ao da propriedade ou ação com o que você deseja ligá-lo. No caso do SWT, usamos a propriedade data dos componentes como seu nome, mas isto pode ser mudado.

Um exemplo prático de uso do binding SWT e o link para o tutorial podem ser encontrados aqui.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
Fabio Kung
JavaEvangelist

Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline

Parabéns pelo trabalho Michael!

Realmente vocês estão fazendo um ótimo trabalho.

Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?


http://blog.caelum.com.br


Fabio Kung
[WWW] [MSN] [ICQ]
Eduardo Bregaida
Moderador
[Avatar]
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline

Boaaaaaaaa to usando aki num novo projeto e é mto boa, vlw Michael pela dica.

Blog - Java Anywhere
@bregaida - Twitter
Flickr - Fotos
Cursos de Java?

"Você poderia me dizer, por favor, qual caminho eu devo seguir?"
"Isto depende muito de onde você deseja chegar."
-Lewis Carroll, Alice no País das Maravilhas
[Email] [WWW] [MSN]
bzanchet
Java Ninja

Membro desde: 18/05/2006 20:04:34
Mensagens: 256
Offline

Parabéns pela iniciativa. Gostei muito da documentação extensiva, pretendo em breve fazer alguns testes com este framework.

Mas me antecipe algumas informações, por favor... eu tenho utilizado as bibliotecas do JGoodies (validation, binding, forms) usando swing. Pelo que puder perceber, as funcionalidades são bem semelhantes (com o genesis fazendo muito mais uso de annotations e JGoodies de... Java). Quais vantagens o genesis tem em relação ao JGoodies?

http://conceitua-se.blogspot.com/
[WWW] [MSN]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

bzanchet wrote:Mas me antecipe algumas informações, por favor... eu tenho utilizado as bibliotecas do JGoodies (validation, binding, forms) usando swing. Pelo que puder perceber, as funcionalidades são bem semelhantes (com o genesis fazendo muito mais uso de annotations e JGoodies de... Java). Quais vantagens o genesis tem em relação ao JGoodies?


O que o forms do JGoodies faz nao tem nada a ver com o genesis. Voce poderia compara-lo com outra solucao para desenho de telas, como o Matisse, por exemplo.

As principais diferencas/vantagens do genesis para o binding JGoodies sao:

  • O seu JavaBean nao precisa ficar disparando eventos nem suportar PropertyChangeListener

  • O genesis "descobre" automaticamente quais propriedades ligar, sem necessidade de configuracao

  • O genesis consegue ligar metodos a widgets como botoes

  • O conceito de @DataProvider do genesis permite popular tabelas, combos e listas com qualquer implementacao de List ou uma array

  • O genesis permite a chamada de metodos e atualizacoes de @DataProviders automaticamente com @CallWhen em resposta a mudancas de estado do form, ex: mudou o estado, repopula as cidades

  • As anotacoes @EnabledWhen/@VisibleWhen permitem centralizar a logica da propriedade em um lugar soh

  • O modelo de binding Swing/SWT do genesis eh ortogonal aos componentes, permitindo que voce escreve binders para seus proprios componentes e registre-os em um lugar soh ao inves de configurar em todas as telas do sistema


  • E, alem de diversas outras diferencas, o genesis possui outras features uteis para o desenvolvimento desktop, como remotabilidade transparente, i.e., executar codigo no servidor apenas com uma anotacao, @Remotable, no metodo de uma classe comum sem interfaces (POJO mesmo).

    Michael Nascimento Santos, aka Mister M

    Summa Technologies do Brasil - http://www.summa-tech.com/
    genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
    ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
    Líder da JSR-310 - Date and Time API
    Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
    SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
    JSR Community @ java.net - http://community.java.net/jsr
    Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
    Twitter - @mr__m
    [WWW]
    AllMighty
    Java Ninja
    [Avatar]

    Membro desde: 16/08/2004 17:21:42
    Mensagens: 266
    Localização: São Paulo
    Offline

    Mister M, você podia dar um update sobre a JSR-296 ou tá sob NDA?
    thx.

    Rafael de F. Ferreira
    Blog: http://www.rafaelferreira.net/
    Links miscelâneos: http://stoa.usp.br/rafaelferreira
    [Email] [WWW] [MSN] [ICQ]
    mister__m
    Virtual Machine Man
    [Avatar]

    Membro desde: 18/03/2005 16:13:17
    Mensagens: 736
    Offline

    AllMighty wrote:Mister M, você podia dar um update sobre a JSR-296 ou tá sob NDA?


    Nada mudou ainda do que foi apresentado no JavaOne. Estamos aguardando a disponibilizacao do codigo fonte daquele framework exibido lah para podermos colaborar. De certa forma, acredito que essa JSR vai ser parecida com um projeto colaborativo mesmo, o que eh bom (normalmente nao eh assim, voce acaba mais vetando do que incluindo coisas).

    A JSR-303, de validacao, promete. Estou gostando bastante de como o spec lead estah conduzindo a definicao da spec. Infelizmente, aih sim, o NDA nao me permite detalhar

    Michael Nascimento Santos, aka Mister M

    Summa Technologies do Brasil - http://www.summa-tech.com/
    genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
    ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
    Líder da JSR-310 - Date and Time API
    Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
    SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
    JSR Community @ java.net - http://community.java.net/jsr
    Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
    Twitter - @mr__m
    [WWW]
    danieldestro
    Moderador
    [Avatar]

    Membro desde: 04/09/2002 17:26:16
    Mensagens: 6667
    Localização: São Paulo / Catanduva
    Offline

    Se puxa-saquismo, o Genesis é um dos projetos mais legais que já vi. Parabéns ao Michael.

    gotjava?
    Doe sangue
    What You See Is What You Get!
    Apostilas de Java grátis!
    RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
    [WWW]
    ws_everton
    Smalltalk

    Membro desde: 06/07/2007 14:43:43
    Mensagens: 1
    Offline

    Em desenvolvimento de sistemas para Pocket em SWT é possivel usar o Genesis?
    Digo isso tendo em vista que a JVM do Pocket não suporta as Annotations.

    Teria alguma forma disso ser possivel?

    Um abraço
    RafaelRio
    Java Ninja
    [Avatar]

    Membro desde: 05/09/2006 06:52:42
    Mensagens: 255
    Localização: São Paulo
    Offline

    mister__m wrote:A JSR-303, de validacao, promete. Estou gostando bastante de como o spec lead estah conduzindo a definicao da spec. Infelizmente, aih sim, o NDA nao me permite detalhar

    Era exatamente o que estava pensando em te perguntar!

    Como vai indo a 303? Ela é própria para bibliotecas e frameworks de validação, certo? Quando vamos poder brincar um pouquinho com ela?

    Sobre o Gênesis, o que mais gosto são as condições e o tratamento de erro. Sou fã dessas duas funcionalidades.

    Rafael Fiume.
    Yes, Nós Temos Bananas

    Sun Certified Programmer for the Java Platform, Standard Edition 6
    Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5

    Nullius in verba.
    "A palavra de nenhum homem será a final."
    Lema da Royal Society, associação de cientistas de Londres, em 1660. Entre os seus membros e presidentes esteve Isaac Newton.
    [Email]
    mister__m
    Virtual Machine Man
    [Avatar]

    Membro desde: 18/03/2005 16:13:17
    Mensagens: 736
    Offline

    ws_everton wrote:Em desenvolvimento de sistemas para Pocket em SWT é possivel usar o Genesis?
    Digo isso tendo em vista que a JVM do Pocket não suporta as Annotations.

    Teria alguma forma disso ser possivel?


    O genesis não está amarrado com o uso de anotações, mas ele usa classes do Java 1.4. É necessário saber qual solução Java você vai usar no device (CDC, PersonalJava, extensões para o device, Superwaba etc) para responder essa pergunta.

    Michael Nascimento Santos, aka Mister M

    Summa Technologies do Brasil - http://www.summa-tech.com/
    genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
    ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
    Líder da JSR-310 - Date and Time API
    Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
    SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
    JSR Community @ java.net - http://community.java.net/jsr
    Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
    Twitter - @mr__m
    [WWW]
    mister__m
    Virtual Machine Man
    [Avatar]

    Membro desde: 18/03/2005 16:13:17
    Mensagens: 736
    Offline

    RafaelRio wrote:Como vai indo a 303? Ela é própria para bibliotecas e frameworks de validação, certo?


    Sim, mas provavelmente muito do que ela definir será usado diretamente pelos desenvolvedores "finais".

    RafaelRio wrote:Quando vamos poder brincar um pouquinho com ela?


    Em breve, se tudo der certo

    RafaelRio wrote:Sobre o Gênesis, o que mais gosto são as condições e o tratamento de erro. Sou fã dessas duas funcionalidades.


    Aproveitando que ressuscitaram esse tópico e pra evitar confusão, a versão 3.0 final do genesis já se encontra disponível há um 1 mês.

    Michael Nascimento Santos, aka Mister M

    Summa Technologies do Brasil - http://www.summa-tech.com/
    genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
    ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
    Líder da JSR-310 - Date and Time API
    Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
    SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
    JSR Community @ java.net - http://community.java.net/jsr
    Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
    Twitter - @mr__m
    [WWW]
    ecrodrigues
    What is classpath?
    [Avatar]

    Membro desde: 23/06/2007 15:46:33
    Mensagens: 7
    Offline

    Fala galera do GUJ!!!!

    Sou novo no GUJ e também nessa linguagem que estou achando muito legal.

    E parabens Mister_M, eu achei muito legal a noticia, principalmente que estou desenvolvendo para Desktop, e ja não vejo a hora de testar e depois me desbravar tambem na programação voltada a web.


    Valeu a todos do GUJ!!!!
    albertongai
    JavaGuru
    [Avatar]

    Membro desde: 03/04/2006 19:57:23
    Mensagens: 233
    Localização: Sampa City
    Offline

    hmm..desculpa ressucitar o tópico mas estou com uma perguntinha.. olhei no site do genesis e queria ver screenshots de aplicações rodando o genesis no desktop ( swing/awt ) , eu sei que provavelmente vão me dizer pra eu instalar e configurar tudo e bla bla bla.. mas é mais por questão de tempo mesmo , pra ver se realmente poderia atender a necessidade do projeto em que eu estou ou não...

    desculpe me por qualquer coisa


    Abraços


    mister__m
    Virtual Machine Man
    [Avatar]

    Membro desde: 18/03/2005 16:13:17
    Mensagens: 736
    Offline

    albertongai wrote:hmm..desculpa ressucitar o tópico mas estou com uma perguntinha.. olhei no site do genesis e queria ver screenshots de aplicações rodando o genesis no desktop ( swing/awt ) , eu sei que provavelmente vão me dizer pra eu instalar e configurar tudo e bla bla bla.. mas é mais por questão de tempo mesmo , pra ver se realmente poderia atender a necessidade do projeto em que eu estou ou não...


    Olá Alberto,

    Embora tenhamos planos de ter os demos rodando no site pra release 3.1, não entendo que isso responda a pergunta se o genesis serve para sua aplicação ou não.

    O genesis não ajuda nem atrapalha você na tarefa de "embelezar" a aplicação. Suas funcionalidades simplificam as tarefas que envolvem dar "vida" à sua aplicação, mas não tem nada a ver com a aparência.

    Talvez se você pudesse listar seus requisitos (preferencialmente em outro tópico ou na própria lista de usuários do genesis), eu possa fornecer as informações de que você precisa.

    Michael Nascimento Santos, aka Mister M

    Summa Technologies do Brasil - http://www.summa-tech.com/
    genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
    ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
    Líder da JSR-310 - Date and Time API
    Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
    SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
    JSR Community @ java.net - http://community.java.net/jsr
    Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
    Twitter - @mr__m
    [WWW]
     
    Índice dos Fóruns » Notícias
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team