Olá a todos. Atualmente trabalho com desenvolvimento WEB, mas já trabalhei um bom tempo desenvolvendo aplicativos desktop com Swing.
Recentemente surgiu uma oportunidade de um trabalho extra, o qual devo desenvolver um sistema (micro-erp para gerenciamento de casas lotéricas) especificado para ser uma solução inteiramente desktop e futuramente fazer uso do JavaWebStart (não tenho experiência com JWS).
Tenho várias idéias para montar uma arquitetura legal utilizando alguns frameworks de mercado. Aqui que está minha dúvida!
Pergunta clássica: Vale a pena desenvolver a solução utilizando JavaFX 2 ou parto para o bom e velho Swing?
Para quem trabalha com Swing, recomendam o uso do OpenSwing ou algum outro framework do gênero?
Será que terei problemas com JWS + Java FX?
Obrigado!
[]s
Sei que é inteiramente desktop, mas vc não poderia fazer como uma Intranet (à la desktop) usando JSF por exemplo?
Muitos podem não gostar, mas muitas dessas aplicações exclusivamente desktops (ainda não gosto do termo desktop) estão morrendo e estão dando lugar a
intranets, web, etc.
Opinião pessoal: Se fosse para usar swing, eu iria de .Net. Dependendo do projeto (não me crucifiquem) eu iria até de Delphi se fosse o caso. (o Delphi XE2 tem uma melhora
absurda comparado ao Delphi clássico Delphi 7 que muita gente usa).
Sem uma especificação é realmente difícil chutar, mas sou Javeiro e usaria JSF neste caso, que atende muito bem este tipo de desenvolvimento à la desktop.
Abs!
Entedi seu ponto de vista… Particularmente eu também prefiriria fazer utilizando JSF e afins. Mas… =/
Alguém já usou o WindowBuilder? É melhor que o suporte do netbeans?
[]s
Como o AlexandreGama disse, sem saber detalhes do projeto (requisitos) fica difícil.
Se houver requisitos relacionados a utilização agressiva de periféricos nas estações a arquitetura web poderá oferecer dificuldades…analise bem a situação.
flws
Boa @fantomas
Na verdade o cliente não sabe a diferença do Web e Desktop, e está correto, não é o trabalho dele. Mas sabemos como é a burocracia! Se você tiver lidando
com um Gerente de Projeto qualquer e não um líder decente, é capaz dele definir qual será a arquitetura e pronto.
Cabe analisar quais os motivos que levam alguem a falar “Eu quero Desktop” e saber se a pessoa sabe “O que é Desktop”.
Sobre a dúvida, gosto mais do WindowBuilder(mais limpo, opções legais) com o Eclipse que o suporte nativo do NetBeans. Gosto pessoal mesmo, não gosto do NetBeans, simples assim =)
Abs!
Bom sobre a aplicação, será basicamente um sistema de lançamentos de produtos vendidos, contendo alguns CRUD e relatórios, nada complicado em termos de regras de negócio.
A aplicação será usada em redes locais, mas existe um desejo de futuramente acessar um banco WEB (isto ainda não esta bem definido).
Teremos poucos usuário com acesso simultâneo (~10).
Não sei o que mais posso falar sobre as requisitos, no geral são bem simples…
[]s
Bom, com este tipo de aplicação com toda certeza eu deixaria o Swing de lado.
Uma Intranet com JSF, RichFaces, etc se encaixaria. Claro que se vc tem um conhecimento maior em XYZ tecnologia e XYZ Framework e sabe
que funcionará com eles, não vejo grandes problemas com o Swing. Aqui vai a questão de gosto e facilidade.
Se você souber bem fazer as suas vies (JS, JQuery, CSS, etc) até o VRaptor você poderia usar = P
Mas o JSF te ajuda bastante com esse tipo de view “desktop”, principalmente usando IceFaces, PrimeFaces, ajax nativo do JSF 2, etc.
Abs!
Eu vou esperar amadurecer um pouco mais meu relacionamento com o cliente e vou sugerir algo pensando nas sugestões!
O cliente fala muito em “Smart Client”. Alguém tem um case de sucesso usando este tipo de conceção em Java Desktop?
[]s
.O cliente fala muito sobre “Smart Client” - você disse.
Tente entender o quê o cliente esta querendo dizer quando fala “Smart Client”. Pelas palavras parece óbvio, mas este é o problema…pode haver requisitos mirabolantes escondidos atras deste “Smart Client”.
Existem muita gente que pensa que sabe explicar e muita gente que pensa que sabe entender por causa disso é que não existe pergunta boba - pergunte tudo mesmo aquilo que vc ACHA que entendeu principalmente quando ouvir coisas em inglês com esta. Se usou inglês é porque não achou como falar em português e se não achou em português pode não saber muito bem o que esta falando rsrsr.
Pelo que vc falou web talvez seja a sua melhor opção; você irá fazer as atualizações em um único lugar com possibilidade de acessos enorme inclusive em dispositivos mobile - o teu sistema no cell vai impressionar bom pra vc.
Se for swing o JWS é que irá fazer as atualizações nas estações automaticamente para você, ótima idéia, porem é mais lento e as opções de acessos remotos (se precisar) serão bem restritas em termos de interface gráfica (para mobiles irá depender da arquitetura + um módulo específico) e conexões.
flws
[quote=fantomas].O cliente fala muito sobre “Smart Client” - você disse.
Tente entender o quê o cliente esta querendo dizer quando fala “Smart Client”. Pelas palavras parece óbvio, mas este é o problema…pode haver requisitos mirabolantes escondidos atras deste “Smart Client”.
Existem muita gente que pensa que sabe explicar e muita gente que pensa que sabe entender por causa disso é que não existe pergunta boba - pergunte tudo mesmo aquilo que vc ACHA que entendeu principalmente quando ouvir coisas em inglês com esta. Se usou inglês é porque não achou como falar em português e se não achou em português pode não saber muito bem o que esta falando rsrsr.
Pelo que vc falou web talvez seja a sua melhor opção; você irá fazer as atualizações em um único lugar com possibilidade de acessos enorme inclusive em dispositivos mobile - o teu sistema no cell vai impressionar bom pra vc.
Se for swing o JWS é que irá fazer as atualizações nas estações automaticamente para você, ótima idéia, porem é mais lento e as opções de acessos remotos (se precisar) serão bem restritas em termos de interface gráfica (para mobiles irá depender da arquitetura + um módulo específico) e conexões.
flws
[/quote]
Sabias palavras! hehehe
Estou tentando sentir mais o que o cliente realmente precisa.
Um desafio será a quebra de um paradigma, ele já elegeu algo como sendo a solução para os seus problemas…
[]s
Aproveitando o tópico:
Vocês acreditam que é legal eu iniciar usando o java 7? Ou é mais prudente utilizar o 6? (Pode ser uma dúvida boba, mas me peguei pensando nisso hoje… =/)
[]s
[quote=AlexandreGama]Opinião pessoal: Se fosse para usar swing, eu iria de .Net. Dependendo do projeto (não me crucifiquem) eu iria até de Delphi se fosse o caso. (o Delphi XE2 tem uma melhora absurda comparado ao Delphi clássico Delphi 7 que muita gente usa).
[/quote]
Desculpem-me pela intromissão no assunto, mas, Alexandre, por que a preocupação em te crucificarem? Por que você citou o Delphi?
Qual o problema com ele?
Estou fazendo um pequeno programa desktop e decidi utilizar java por que é gratuito e também devido à proposta multiplataforma (alguns usuários podem querer usá-lo no linux, talvez) e estou tomando uma verdadeira surra.