Dúvida Para Quem Realmente Conhece Java - GUI

Estou cansado de SWT/SWING/AWT… Há como usar HTML para fazer todos os “forms” do meu sistema desktop, usando os métodos GET ou POST do HTML para entrada de dados do usuário. Ou seja, usando HTML para a view da minha aplicação local, sem precisar de um servidor de aplicações.(tudo local)? Seria possível utilisando o JDic.Browser ou swt.browser ou swt-webkit ou JWebPane(que ainda não foi lançado)?
Obs: eu cosigo ter a URL com o action e os campos e valores do submit usando o metodo getURL no widget browser do swt, ou seja posso, pegar os valores e pedir um redirecionamento da URL(uma possível solução).

Isso seria realmente um atraso de vida. As tecnologias de desktop são mais dinâmicas e ágeis do que o HTML. Não existem postbacks, a comunicação entre a camada de view e negócio não exige mecanismos de controle tão complexos, é rápida e eficiente, pois implica em só compartilhar memória.

Não entendo onde possa haver ganho com a abordagem que você está propondo. São paradigmas diferentes. Acho que você só estaria sobrecarregando uma aplicação desktop fazendo dessa forma.

Não estou preocupado em sistemas altamente dinâmicos, e sim entrada simples de dados, mas com cara de WEB. Na verdade acredito que html seja mais simples e fácil de aprender. Encontro diversas páginas na WEB muito bem feitas que são, muitas vezes, mais interessantes e inteligentes do ponto de vista de interface com o usuário do que aplicações Desktop. Além disso é um protocolo bastante leve. Observe que não estou querendo usar flash ou javaFX para fazer interfaces dinâmicas pois nesse caso, realmente seria mais prático usar a API da própria plataforma ou swing ou opengl…Além disso possuo muitos designers ótimos em aplicação WEB. Não acredito que seja um retrocesso, mas uma opção.

uma possível solução seria utilizar um servlet container leve, como o Jetty, em cada cliente.

Concordo seria mais uma opção(muito boa por sinal), apesar de conhecer muito bem, eu acrdito que ele aloque a porta de html, mas eu gostaria que fosse mais simples, como abrir uma página local de html usando a url
"file:///c:/pagina.html" exetamente como funciona o ie ou ff abrem a página gravada na área de trabalho.

Complementando, o SWT Browser widget abre páginas e faz submit da página gravada localmente.

[quote=mwprado]Estou cansado de SWT/SWING/AWT… Há como usar HTML para fazer todos os “forms” do meu sistema desktop, usando os métodos GET ou POST do HTML para entrada de dados do usuário. Ou seja, usando HTML para a view da minha aplicação local, sem precisar de um servidor de aplicações.(tudo local)? Seria possível utilisando o JDic.Browser ou swt.browser ou swt-webkit ou JWebPane(que ainda não foi lançado)?
Obs: eu cosigo ter a URL com o action e os campos e valores do submit usando o metodo getURL no widget browser do swt, ou seja posso, pegar os valores e pedir um redirecionamento da URL(uma possível solução). [/quote]

Primeiro, bem vindo ao forum!

Na minha opinião tudo isso que vc fala (na boa) não faz muito sentido. Porque:

  1. Se vc desenvolve aplicações desktop que não seja do tipo teste, certamente mais de um usuário irá utiliza-lo. Portanto o compartilhamento de recursos oferecido por um servidor de aplicação é bastante bem vinda.

  2. Desenvolver aplicações utilizando uma arquitetura do tipo utilizada na web sem considerar um servidor de aplicação definitivamente não acho uma boa idéia.

  3. Páginas web podem ser bonitinhas mas podem ser bem ordinárias, muitas vezes vc tem um trabalho enorme para chegar em um resultado mediano.

Tudo é uma questão de verificar os requisitos, normalmente componentes utilizados em sistemas do tipo desktop permitem construir interfaces mais sofisticadas em termos de operações.

Se seus formularios forem “simples”, sem recursos especiais do tipo acessar perifericos nas estações etc…, vc poderia (na minha opinião) utilizar os recursos utilizados para desenvolver sistemas web sem problema. Ela (a aplicação) seria do tipo intranet, ou seja, fica em um servidor onde todos os usuários teriam acesso; e melhor ainda vc não terá problemas com deploy, basta o usuário acessar a plicação através de uma url e pronto. Isto sem falar no compartilhamento de recursos enorme como por exemplo: objetos de negócio, pool de conexões, uso reduzido de seções no banco de dados etc…

A velocidade será superior a de um desktop tambem, principalmente se a empresa possuir filiais, obviamente com redes conectadas.

flws

Primeiro, qual o motivo de sua revolta com swing/swt/awt?? talvez esteja ocorrendo algum problema que nós possamos ajudar a solucionar…

Talvez ele nao queira usar o Netbeans pra desenvolver GUIs e não consegue se conciliar com os LayoutManagers.

Não venha reclamar do que eu disse e só uma piadinha XD

Entendo que o servidor de apliação seria mais inteligente, porém há a necessidade de alguém para administrar o servidor. Quanto a intranet, eu também acho uma ótima opção. Porém, eu só estou discutindo a possibilidade. Existem api de renderizaçao de páginas somente como o swt-webkit e o JavaXPCOM, o SWT usa o javaxpcom.

Entendo que o servidor de apliação seria mais inteligente, porém há a necessidade de alguém para administrar o servidor. Quanto a intranet, eu também acho uma ótima opção. Porém, eu só estou discutindo a possibilidade. Existem api de renderizaçao de páginas somente como o swt-webkit e o JavaXPCOM, o SWT usa o java

Não acho as API ruins, só estou pensando em uma outra possibilidade. Eu sei fazer o básico com ambas APIs.

[quote=Mark_Ameba]Talvez ele nao queira usar o Netbeans pra desenvolver GUIs e não consegue se conciliar com os LayoutManagers.

Não venha reclamar do que eu disse e só uma piadinha XD[/quote]

Não vejo segredo no que vc está pedindo, segue a receita:

banco de dados: java db
container web: jetty

Cada vez que o usuário executar sua aplicação (uma classe main) ela irá instanciar o banco de dados em memória e o servidor web, após isto você irá abrir uma url no navegador e deixar o sistema fluir normalmente.

Lembrando que o jaba db possuii suas versões embedded e network (multi usuário), além de possui baixo uso de memória junto ao jetty. (2~5megas).

Parece realmente que jetty foi feito praticamente para isso. Desculpem mas eu não conheço a ferramenta, vi que o jetty é um servidor de aplicação que pode ser utlizado inclusive em telephones, então, é quase o que eu estava pensando. Eu não queria um servidor de aplicações que pudesse ter milhares de requisições como o tomcat ou jboss. Posso ainda embutir a página gerada pelo jetty dentro do Widget browser do swt. A única coisa ruim é que vou passar pela pilha de protocolos de rede.

Se não me falha a memória o site do GUJ é suportado pelo Jetty, tem noção de quantas conexões ele deve estar “suportando”?

flws

não vejo problema nisso.

é claro que, por padrão, qualquer outro cliente poderá acessar a aplicação pela rede, mas creio que isso possa ser configurado.

vejo o JTrac. ele utiliza Jetty, Spring, Hibernate e HSQLDB. é uma aplicação simples e rápida.

Eu tenho certeza que o jetty da conta do recado, eu mencionei sobre os protocolos de rede porque é um overhead que eu não precisaria, pois somente uma estação iria utilizar. Como eu falei antes, seria somente para desenhar a interface.