Swing x SWT  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
caiofilipini
GUJ Master
[Avatar]

Membro desde: 26/06/2003 15:17:59
Mensagens: 1255
Localização: São Paulo
Offline

Pessoal,

Quais as principais diferenças entre Swing e SWT? O modelo de eventos é o mesmo? Li alguns artigos (não me lembro onde, senão colocava a URL aqui) dizendo que SWT compromete a portabilidade, é verdade?

Agradeço desde já pelos esclarecimentos.

Valeu!
[]'s

Caio N. Filipini
"There is no spoon."
[Email] [WWW]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Swing: cria os próprios widgets (botoes, icones, textboxes, etc, etc, etc), desenhando-os na tela com Java2D ou o que for.

SWT: usa o sistema operacional pra desenhar os widgets, mas quando o SO não sabe de algum determinado controle (árvore, por exemplo), ele faz na mão.

Modelo de eventos: diferente

API: totalmente diferente

Portabilidade: na SWT, a portabilidade depende de ter uma SWT disponível para a plataforma onde se quer trabalhar, o que não é o caso da Swing, que está disponível pra todas as JREs que tem AWT (ou seja, todas). Mas, agora que a SWT está ficando mais estável no OS X, portabilidade deixou de ser problema, na prática
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
TaQ
JavaChild
[Avatar]

Membro desde: 18/07/2003 10:04:52
Mensagens: 124
Localização: São José do Rio Preto, SP
Offline

Tô meio por fora do SWT, mas há uma certa padronização na implementação dele ou algo do tipo?

Eustáquio "TaQ" Rangel
http://beam.to/taq
Usuário registrado Linux 224050
[Email] [WWW] [Yahoo!] [ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Se por "padronização" vc quer dizer JSR, não, e dificilmente vai ter (a menos que chova canivete um belo dia desses e a Sun passe a gostar da IBM )

Mas a implementação da SWT tem sido bem estável, com poucas mudanças significativas na API de versão para versão, e o código cliente não varia em quase nada de uma plataforma para outra (ou seja, o código do Eclipse para Windows, Linux e Mac varia pouco para acomodar pequenas diferenças de ambiente).
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
TaQ
JavaChild
[Avatar]

Membro desde: 18/07/2003 10:04:52
Mensagens: 124
Localização: São José do Rio Preto, SP
Offline

Uhnnn mas compensa essas mudanças no código por causa da mudança de ambiente?
Uma das coisas mais mão-na-roda que tem aqui é compilar o código aqui no Linux e rodar legal em tudo qto é lugar.

Eustáquio "TaQ" Rangel
http://beam.to/taq
Usuário registrado Linux 224050
[Email] [WWW] [Yahoo!] [ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Pelo pouco que eu vi (minha experiencia com SWT é algo bem próximo de zero ), essas dependências de plataforma são em coisas beeeeem específicas (embedding de componentes OLE, por exemplo, coisa que a Swing nem te deixa fazer, mas que na SWT é perfeitamente possível, e tem sido feita pra tudo quanto é lado no WebSphere Studio com o Internet Explorer / Mozilla Gecko).
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Vegetto
GUJ Ranger

Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline

Não conheço nada de SWT, mas depois de ler esse tópico eu acho que o SWT deve ser mais pesado que o SWING... isso realmente acontece??
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Vegetto, muito pelo contrário. A SWT e a Swing praticamente empatam em performance... e a Swing está por aí desde...uhhh... 97 (?), enquanto a SWT está aí desde 2000, então ainda tem muito chão pra se otimizar
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
caiofilipini
GUJ Master
[Avatar]

Membro desde: 26/06/2003 15:17:59
Mensagens: 1255
Localização: São Paulo
Offline

Eu não dependo do Eclipse pra usar os componentes da SWT, certo? Onde baixar a API?

Valeu!
[]'s

Caio N. Filipini
"There is no spoon."
[Email] [WWW]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Não depende, mas a vida fica mais fácil quando vc está trabalhando com ele

Basicamente, o que vc precisa é do swtxxx.jar, e da DLL especifica pro seu sistema operacional colocada na propriedade java.library.path.

Trocando em miúdos, coloque o jar no classpath, e chame a VM assim:

java -Djava.library.path=/cafundo/do/judas/swtxxx.dll MeuProgSWT

O Umlauf tá trabalhando com SWT, voces podem encher o saco dele
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Umlauf
JavaEvangelist
[Avatar]

Membro desde: 17/09/2002 21:30:44
Mensagens: 456
Localização: São Paulo/SP
Offline

Isso! Podem mesmo! Apesar de também estar aprendendo o SWT, no que estiver ao meu alcance eu ajudarei com o maior prazer.

Aproveitando, o ensejo, gostaria de anunciar aqui, em primeira mão, o lançamento do projeto SweetReader, um leitor de RSS feeds em SWT, no SF. Na página só tem um screenshot do pré-alpha-protótipo , mas dá pra ter uma idéia de como fica uma GUI em SWT (que não seja o Eclipse ).

Pra quem usa o Eclipse, vale instalar o SWT Examples Plugin, que pode ser baixado da página de downloads do Eclipse.org mesmo. Ele traz um "launcher" de vários exemplos de widgets do SWT, muito legal.

[Email] [WWW] [Yahoo!] aim icon [MSN] [ICQ]
caiofilipini
GUJ Master
[Avatar]

Membro desde: 26/06/2003 15:17:59
Mensagens: 1255
Localização: São Paulo
Offline

Umlauf,

Legal o SweetReader. Tem algum screenshot dele rodando no Linux? A SWT usa GTK+, ou independe da biblioteca gráfica?

Valeu!
[]'s

Caio N. Filipini
"There is no spoon."
[Email] [WWW]
Umlauf
JavaEvangelist
[Avatar]

Membro desde: 17/09/2002 21:30:44
Mensagens: 456
Localização: São Paulo/SP
Offline

Infelizmente não tenho, sorry. O browser que aparece no painel inferior é o IE, "embedado" num OLE container do SWT (na verdade você pode abrir qualquer aplicação que suporte OLE no SWT usando OLE Automation - Word, Excel, etc, bastando mudar o ProgID da aplicação), o que não daria certo no Linux.

Estou fazendo alguns testes com o Gecko e assim que conseguir algo eu "colo" um screenshot lá

Há duas versões do SWT para Linux: GTK2 e Motif.

[]'s

[Email] [WWW] [Yahoo!] aim icon [MSN] [ICQ]
Ivan Martins
Thread.start()

Membro desde: 16/01/2003 10:29:34
Mensagens: 48
Localização: Rio de Janeiro - RJ
Offline

Pessoal,

Pelo o que o CV falou, SWT e Swing empatam em performance. Então qual seria a vantagem em usar SWT, já que o Swing é padrão da Sun ?

Valeu,

Ivan.
[ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Ivan, não é só performance que conta quando se escolhe uma tecnologia - senão a gente ainda estaria programando em... sei lá, Assembly

A SWT tem uns pontos positivos em relação à Swing bem bacanas. IMHO, o melhor deles é um modelo de objetos limpo, sem dependência com a AWT, que tinha uma série de probleminhas relacionados à idade

Outra coisa legal da SWT é que ela não imita o look-n-feel da plataforma, ela efetivamente usa o look-n-feel da plataforma. Então, algumas coisas que não funcionam muito bem na Swing (Alt -, pra mostrar o menuzinho de contexto da janela atual no Windows, por exemplo) funcionam 100% em aplicacoes SWT.

Quanto à questão de ser ou não padrão, não é pq é padrão que a gente simplesmente precisa aceitá-los... vide minhas intermináveis discussões sobre EJBs versus o resto do mundo, Hibernate versus JDO, etc
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team