Frameworks Desktop para facil migração para Web

2 respostas
M

Pessoal, seguinte:

Estou para iniciar a codificação de uma aplicação de tamanho médio (o MER prevê umas 100 tabelas), e a plataforma escolhida é Java.

Em princípio, será uma aplicação Desktop para ser utilizada em uma rede Local com aproximadamente 30 acessos simultâneos. Em um futuro bem próximo, terei que desenvolver algumas ferramentas Web de consulta para acesso pelo Site da empresa. Futuramente talvez migraremos 90% da aplicação para Web, restando apenas algumas funções específicas de integração com automação para terefas desktop.

Estou em dúvidas sobre o que usar. Arquitetura, Fremeworks, etc. Não tenho experiência com projetos Java, estudei Java Core, JSP e Servlets a uns oito anos e hoje fiz algumas aplicações com Swing/JDBC.

Uma coisa é certa: Swing e JDBC puros são inviáveis pela questão de produtividade muito baixa.

Então, definimos que vamos usar Hibernate para abstrair o acesso ao banco de dados.

Mas também preciso de componentes gráficos mais elaborados, facilidades para ligação destes com a persistência sem muito esforço de programação. Coisas de produtividade.

Me falaram de dois produtos diferentes: Genesis (que estou estudando) e OpenSwing.

Não sei se a proposta dos dois são realmente conflitantes. Gostaria se alguém soubesse me dizer onde entra cada um destes, que tipo de concorrência um faz ao outro e os prós e contra do uso de cada um…

Ademais, o que é mais viável:?

1-) Swing direto no Hibernate;

2-) Swing + Genesis + Hibernate;

3-) Swing + Genesis + JBoss + Hibernate;

Onde entraria o OpenSwing? E Spring? Onde entraria aí, se é que tem alguma função??

E futuramente, seria só tirar o Swing e colocar um Tomcat e taria tudo certo ? Reaproveitaria o código?

ahhhhhhhh… quanta coisa pra pensar…

2 Respostas

Anime

Oi MWAdriano,

Estou estudando o OpenSwing,em termos de produtividade é show,não conheço o Genesis,sinceramente desconhecia completamente,cheguei a pensar que vc estava confundindo com Genexus… :roll:

Fica a dica sobre o OpenSwing… :wink:

http://www.t2ti.com/livro/openswing/material/

http://www.t2ti.com/curso/video/java/openswing/

R

Fala MWAdriano, beleza?

MWAdriano:
Pessoal, seguinte:

Estou para iniciar a codificação de uma aplicação de tamanho médio (o MER prevê umas 100 tabelas), e a plataforma escolhida é Java.


100 tabelas :shock:
Caramba, é um projeto de médio para grande.

MWAdriano:

Em princípio, será uma aplicação Desktop para ser utilizada em uma rede Local com aproximadamente 30 acessos simultâneos. Em um futuro bem próximo, terei que desenvolver algumas ferramentas Web de consulta para acesso pelo Site da empresa. Futuramente talvez migraremos 90% da aplicação para Web, restando apenas algumas funções específicas de integração com automação para terefas desktop.

Estou em dúvidas sobre o que usar. Arquitetura, Fremeworks, etc. Não tenho experiência com projetos Java, estudei Java Core, JSP e Servlets a uns oito anos e hoje fiz algumas aplicações com Swing/JDBC.

Uma coisa é certa: Swing e JDBC puros são inviáveis pela questão de produtividade muito baixa.

Então, definimos que vamos usar Hibernate para abstrair o acesso ao banco de dados.

Mas também preciso de componentes gráficos mais elaborados, facilidades para ligação destes com a persistência sem muito esforço de programação. Coisas de produtividade.

Me falaram de dois produtos diferentes: Genesis (que estou estudando) e OpenSwing.

Não sei se a proposta dos dois são realmente conflitantes. Gostaria se alguém soubesse me dizer onde entra cada um destes, que tipo de concorrência um faz ao outro e os prós e contra do uso de cada um…

Ademais, o que é mais viável:?

1-) Swing direto no Hibernate;

2-) Swing + Genesis + Hibernate;

3-) Swing + Genesis + JBoss + Hibernate;

Onde entraria o OpenSwing? E Spring? Onde entraria aí, se é que tem alguma função??

E futuramente, seria só tirar o Swing e colocar um Tomcat e taria tudo certo ? Reaproveitaria o código?

ahhhhhhhh… quanta coisa pra pensar…


Nossa, sua pergunta é beeem complexa mesmo.

A primeira pergunta que faço é: iniciar com uma aplicação Desktop é realmente necessário?
Se fosse possível começar com uma aplicação Web simples, você já teria meio caminho andado, pois há diversos frameworks
que trabalham nessa linha, como o VRaptor da Caelum por exemplo. JSF (Java Server Faces) também seria uma opção.

Fiquei mais encucado com esta frase:

A experiência de um usuário Desktop é muito diferente da experiência web. A melhor forma de deixar o código desacoplado entre visão (web/desktop)
e regra de negócios é utilizando uma abordagem MVC (Model-View-Controller). Essa abordagem (que reune diversos padrões de projeto e boas práticas)
separa logicamente uma aplicação em três camadas (ou três frentes): o modelo que descreve as entidades do negócio, a maneira como o usuário
interage com esses modelos e de que forma as ações desses dois mundos são gerenciadas e controladas.

Como dizem: se conselho fosse bom…

  1. Tente fazer as coisas se preocupando menos com o como vai ser visto ou manipulado e mais com o que deve ser feito;
  2. Não precisa fazer centenas de diagramas. No entanto, se eles ajudam a ver o problema com outros olhos, não há nada de errado com eles;
  3. Reduza ao máximo as dependências na hora de conceber as classes de negócio. O uso de interfaces e classes abstratas favorece enormemente essa abordagem;
  4. Finalmente, divirta-se no processo. Programar é, em essência, uma experiência divertida :wink:
Criado 14 de dezembro de 2010
Ultima resposta 15 de dez. de 2010
Respostas 2
Participantes 3