Iniciando em SWT

15 respostas
Andre_Breves

Se você está curioso e quer se iniciar em SWT, recomendo este ÓTIMO tutorial da IBM, em 3 partes:
Parte 1
Parte 2
Parte 3

15 Respostas

ozielneto

Alguem tem SnapShorts do LookAndFeel para o Motif e para o MAC OS???
Como fica???

ozielneto

Outra coisa…

Tem como instalar o SWT sem instalar o Eclipse ???

cv1

Tem sim, Oziel. É só baixar na eclipse.org o download do Eclipse SDK (que, por sinal, vem com o Eclipse junto :D) e comecar a ler a documentação e programar.

cv1

“ozielneto”:
Alguem tem SnapShorts do LookAndFeel para o Motif e para o MAC OS???
Como fica???

O Eclipse não usa look’n’feels, ele usa os widgets nativos da plataforma. Aqui vai um screenshot dele rodando no QNX:

Tou tentando achar algum do MacOS X, mas nada até agora :?

ozielneto

Soh!!!

Viva o SWT (mesmo se não tem LookAndFeel) morte ao SWING!!!

Bem que a JavaSoft poderia incluir na JDK 1.5…

[]'s

cv1

Eu não acho que um toolkit gráfico deveria ser incluso na JDK. Pô, ja temos 2 toolkits (AWT e Swing), e mais um só ia piorar as coisas, por alguns motivos:

  • Já foi cagada suficiente “colar” o Java a um toolkit gráfico. Podiam ter deixado isso às soltas no começo, e, depois de um bom tempo de estabilização, incluído o melhor dos toolkits, por seleção natural.

  • Já tem classe demais na JDK. E boa parte desse bloat é devido aos toolkits. Daqui a pouco tempo vai ficar quase insuportável lembrar os nomes de todos os pacotes principais e extensões (java.* e javax.*)

  • Sai versão nova do Eclipse (e, consequentemente, da SWT) em períodos curtos, de menos de 6 meses, geralmente. Um release da JDK dura mais ou menos um ano e meio. E aí, o pessoal tem que esperar pelas novidades o triplo do tempo? :frowning:

Andre_Breves

Vai aqui uma screenshot do SWT Carbon (versão para o MAC):

Mais links interessantes sobre SWT:

Página do Desenvolvedor na Home do Eclipse
SWT na Wiki do Eclipse

F

A Sun dificilmente vai colocar o SWT dentro do J2SDK pq o SWT vai contra os principios de java q é a multiplataforma.
Não conheço nada de SWT, mas já ouvi falarem sobre isso.
Também tenho uma dúvida: Sei q SWT vc precisa ter uma versão da biblioteca para cada S.O. diferente. Tipo, é uma p/ Windows, outra p/ linux, etc. Mas o código usado para desenvolver uma aplicação em windows é diferente do código utilizado no linux ou é o mesmo ? Só precisa da biblioteca correta para poder compilar no S.O. desejado e depois rodar neste S.O. ? Aí p/ rodar em outro S.O. é só pegar o código e compilar nele q funciona tb ? Ou o código implementado é diferente ? Se for isso não vejo problemas no SWT, pois basta a biblioteca correta para compilar em versões diferentes de S.O. Agora se tiver q mudar o código-fonte dependendo do S.O. usado aí é meio ruim…
Não sei se é assim, sou totalmente leigo neste assunto. Só tô tirando a dúvida…

Valeu

cv1

Não deviam ter inventado a AWT, então - a idéia da SWT não é muito diferente da AWT. A diferença é que a SWT funciona :slight_smile: (e os Classificados do Estadão também :D)

“franklinbenini”:
Também tenho uma dúvida: Sei q SWT vc precisa ter uma versão da biblioteca para cada S.O. diferente. Tipo, é uma p/ Windows, outra p/ linux, etc. Mas o código usado para desenvolver uma aplicação em windows é diferente do código utilizado no linux ou é o mesmo ? Só precisa da biblioteca correta para poder compilar no S.O. desejado e depois rodar neste S.O. ? Aí p/ rodar em outro S.O. é só pegar o código e compilar nele q funciona tb ? Ou o código implementado é diferente ? Se for isso não vejo problemas no SWT, pois basta a biblioteca correta para compilar em versões diferentes de S.O. Agora se tiver q mudar o código-fonte dependendo do S.O. usado aí é meio ruim…
Não sei se é assim, sou totalmente leigo neste assunto. Só tô tirando a dúvida…

Não, na SWT vc precisa de uma biblioteca para cada toolkit gráfico. Ou seja, para rodar em Linux, Solaris, FreeBSD, HP/UX e tudo mais, vc pode usar a versão do .so da SWT feita para GTK+ ou Mosix. Para usar em ambientes Windows, vc precisa da DLL da SWT que usa a API Win32. Para MacOS X, vc precisa da versão Carbon, e por aí vai. O screenshot do Eclipse que eu postei mais acima mostra um QNX usando Photon, a API gráfica do mesmo.

Aliás, não deve ser impossível compilar a SWT-GTK+ pra Windows e usar o Eclipse com carinha de GTK+, temas e tudo mais. Alguém sabe de alguma tentativa de fazer isso? :slight_smile:

Andre_Breves

Funciona assim:

  • A sua aplicação não precisa ser recompilada, basta usar uma classe para carregar o swt. Mas essa classe precisa ser recompilada para cada SO, pois os pacotes que são especificos para determinado SO estão em diretórios diferentes.

Quanto ao poder usar em todos os SO sem modificacao, só se vc não usar nenhum recurso especifico do SO (controle ActiveX do windows…)

F

Hum, legal…
Acho então que não tem nada demais em usar SWT ao invés de SWING, pois parece que não muda quase nada (tirando a velocidade do SWT :slight_smile: ). É só ter a biblioteca e pronto ! Se na JVM já viesse a biblioteca junto aí acho q não teria galho algum :slight_smile: Mas se fosse só a biblioteca que mal teria em a Sun incluir na JVM ? Eles não querem colocar nem ferrando pelo que ouvi falar…
Bom, valeu as dicas. Qdo. tiver um tempinho vou ver se começo a mexer com SWT p/ aprender.

[]'s

smota

ops … então ficou igual C,C++ e qualquer linguagem compilada. :alien!:

Com C (exemplo que eu conheço) também é possível desenvolver uma aplicação que rode em qualquer plataforma sem alteração do código fonte, apenas recompilando na plataforma desejada. Inclusive usando bibliotecas gráficas (como a QT por exemplo).

Achei o SWT muito bacana e realmente pretendo utilizar porque pra mim no máximo vou compilar pra 2 SOs, mas a portabilidade do Java foi pro espaço sim senhor :shock: .

[]s

Andre_Breves

Quanto a portabilidade, eu não creio que tenha ido para o espaço. Veja: o SWT nada mais é que um substituto para o AWT. Cada JVM possui uma versão do AWT específica para o SO, assim como acontece com o SWT. A diferença é que o AWT vem embutido na JVM, ao contrário do SWT.
Quanto ao Swing ser portável, ele o é porque é montado em cima do AWT, assim como existe o JFace, que é montado em cima do SWT.
Até onde eu sei, existe versões do SWT para:
[list]AIX
HP-UX
Linux (motif, GTK e QT)
MacOS
QNX
Solaris
Win32
Win32-CE
(sim, para os portáteis também)[/list]

Todas as versões são atualizadas freqüentemente, no ritmo da comunidade open-source.

F

A SWT até q é legal sim, mas sei lá. Aqui em casa, tenho uma máquina razoavelmente potente, um Athlon XP 1700 com 512 de RAM e J2SDK 1.4.2, e nela praticamente não vejo diferenças entre aplicações SWT e SWING. Por exemplo: Tanto o Eclipse (SWT) e o JBuilder (SWING) rodam numa boa sem travamentos, com ótima performance.
Em máquinas mais simples é claro que tem diferença, mas em máquinas um pouco melhores acho q quase não se sente a diferença. E a performance do SWING vai melhorar ainda mais no Java 1.5, pois a Sun está trabalhando muito nisso.
Então analisando um pouco, não sei se é tão vantajoso escrever aplicações em SWT, sendo que a tendência é os computadores ficarem cada vez mais velozes, e a JVM melhorar cada vez mais. Então acho q em breve nem notaremos mais o baixo desempenho do SWING.

Andre_Breves

Eu me interessei pelo SWT porque aplicações escritas sobre ele parecem aplicações nativas (e as são efetivamente, já que usam as chamadas GUI nativas, ao invés de tentar mimetizar o aspecto de uma aplicação nativa, como acontece com o Swing).
A maioria dos programadores que migraram do Swing/AWT para JFace/SWT, o fizeram por achar que seus programas não tinham um aspecto profissional, pois por mais que a Sun se esforce em aproximar o Swing do aspecto nativo, ficam algumas diferenças.

Criado 2 de junho de 2003
Ultima resposta 5 de jun. de 2003
Respostas 15
Participantes 5