x@ndy:
jmmenezes:
Swing é bem diferente de toolkit nativo e isso tem os prós e contras… JavaFX é uma linha totalmente diferente…
Desculpe amigo, mas uma aplicação onde o requisito seja rodar Windows, Linux e Mac e não tenha que ter tanta (ou nenhuma) interação com hardware e SO, falando especificamente de SWT, onde um Delphi 7 ou até mesmo um desenvolvimento com Windows Forms é tão melhor assim ???
Se for para rodar em multiplas plataformas, talvez o java seja uma boa escolha, mas talvez, isso tem que ser analisado.
jmmenezes:
Concordo que a maioria das aplicações precisam unica e exclusivamente rodar em ambientes windows, mas toda regra tem exceções…
Eu acho o Eclipse uma ferramenta fantástica (Java+SWT)… tão fantastico que na época que desenvolvia profissionalmente em Linux, o adotei para desenvolvimento C e C++… usava também o Code Blocks, mas preferia o Eclipse… também trabalhei com C/C++ no Visual Studio desde a versão 5… sei la… pode ser simples questão de costume… hoje desenvolvo muito menos do que a 5 anos atrás… isso é apenas uma parte do meu trabalho, entretanto, ainda considero o Eclipse uma ferramenta extremamente produtiva de se trabalhar…
Ninguém aqui está falando mal do eclipse, o que esta sendo feito é uma comparação entre o desenvolvimento para desktop com java e com outras linguagens, onde o java toma uma surra feia.
Para deskotp Windows Form e Delphi são melhores simplesmente porque possuem uma curva de aprendizado infima e as IDEs possuem WYSIWYG de verdade! Ah, e não vem dizer que fazer na mão de dá melhor controle do que é feito que isso é besteira e a produvidividade cai la embaixo. Somente quem trabalhou em ambos os ambientes sabe que a diferença é brutal em termos de produtividade.
Java tem vários problemas no Desktop:
- Não possui uma biblioteca de componentes boa e efetiva. Está sendo feita uma tentativa com JavaFX, mas não considero o avanço significativo perto da concorrência.
- Uma IDE com WYSIWYG de verdade. Já utilizei o Window Builder para Eclipse e o Matisse do NetBeans e nesse queisito até o Delphi 7 é melhor (Nunca usei o JDeveloper para saber se é bom ou não).
- Forma de tratamentos de eventos e manipulação dos componentes! Por utilizar os padrões Observer e Composite para manipulação de eventos de construção da interface isso torna a curva de apredizado muito alta, embora isso torne a interface extremamente robusta. Isso acaba por afastar a maioria das pessoas que estão começando.
- Dependência da JVM. Por mais incrível que isso possa parecer é verdade. Existe problemas em se depender da JVM quando se tem recursos limitados.
- Falta de acesso a recursos nativos do SO e de Hardware. A maioria das aplicações dependem disso pois senão é era bem mais simples fazer para ambiente Web.
A questão do Eclipse é apenas de um produto de qualidade, desktop, multi-plataforma, feito em Java… Falar que java é somente para web é mentira…
Volto a repetir:
Acho que tudo vai dos requisitos… dependendo deles, é possível fazer sistema desktop em java sim, mas com certeza, olhe bem para eles, e não tenha como Java a primeira opção!
Tudo em tecnologia é assim… e hoje a primeira pergunta que tem de ser feita para qualquer sistema… é: Pode ser web ? Mas nem sempre pode… e serão estes os motivos que devem ser levados em conta na hora de escolher a tecnologia.
A questão curva de aprendizado é muito relativa…
Por exemplo: Tenho 10 sistemas Java Web e tenho uma necessidade especifica de um módulo Desktop. Tenho um time de 15 desenvolvedores Java. Fazer Java Desktop pode ser muito mais simples nesse cenário do que qualquer outra tecnologia.
Muitas vezes tem a ver com todo o ecosistema em torno e não somente com o sistema a ser desenvolvido…
As vezes estamos partindo de um cenário estaca zero, não conhecemos nem Java, nem C#, nem nada, só sabemos VB6… qual o melhor caminho nesse caso…
Trabalhei com Delphi nas versões 4, 5 e 6… já larguei ele faz tempo e acredito que tenha mudado muita coisa… era uma ferramenta fantástica embora tivesse bastante problema também… como toda tecnologia, ele continua sendo uma opção e que confesso que deveria começar a olhar novamente!
E ah… quando se fala de sistemas toscos, com telinha e acesso ao banco de dados… nem mesmo a Microsoft conseguiu criar algo tão pratico e produtivo quanto velho Visual Basic… e muitas empresas não precisam de nada mais que isso! E por incrivel que pareça… nem sempre é possível colocar tudo em um sistema web… mesmo sem ter interação com hardware e SO!