JavaFX já foi lançado:Os miniaplicativos e o Java Desktop estão oficialmente mortos/morrendo?[fechado]

StackOverflow https://stackoverflow.com/questions/377593

  •  22-08-2019
  •  | 
  •  

Pergunta

Java FX já foi lançado e há promessas de que o Swing irá melhorar junto com o JavaFX.Longe vão os dias da interface de usuário padrão feia e, finalmente, podemos criar aplicativos atraentes que são comparáveis ​​a Flash, Ar e Silverlight em termos de qualidade.

  1. Isso significará que Miniaplicativos Java que granizo da década de 1990 está morto e não vale a pena voltar?

  2. Mesmo com Área de Trabalho Java:O que será atraente para nós, desenvolvedores Java, usá-lo em vez do JavaFX?

Foi útil?

Solução

Na minha opinião, os miniaplicativos Java estão mortos há anos.Eu escrevi alguns no final dos anos 90 - um jogo de Tetris durante um estágio para demonstrar em um decodificador ARM Acorn de 40 MHz, por exemplo.É claro que aposto que existem alguns sites de jogos casuais que ainda têm muitos deles e, portanto, continuarão com suporte, mas o desenvolvimento ativo irá/caiu.

Java Web Start é uma tecnologia útil na minha opinião.Isso ainda funcionará com JavaFX, é apenas mais uma biblioteca para esse sistema.

JavaFX dará oportunidades Java além de ferramentas técnicas (como SQL Developer), aplicativos de negócios internos e aplicativos de servidor (onde se destaca).Acho que é uma daquelas bibliotecas que vale a pena aprender para qualquer desenvolvedor Java, se tiver tempo.Não há como argumentar que as bibliotecas de interface do usuário para Java têm sido extremamente deficientes ou excessivamente complexas há muitos anos.

No entanto, há muita concorrência por aí e é muito novo (o que significa que o suporte da ferramenta de desenvolvimento é muito bruto, comparado ao Flash e ao Silverlight).Além disso, as pessoas não gostam de baixar ambientes de execução massivos, embora a banda larga torne isso menos doloroso do que há 5 anos para muitos!

Outras dicas

Acho que essa discussão é um tanto enganosa.Também não sou fã da tecnologia de miniaplicativos (e não fiquei impressionado com o JavaFX).Mas o ponto que falta neste tópico é que, a menos que eu esteja enganado, JavaFX é construído com base na tecnologia de miniaplicativos.Eles não são concorrentes ou mutuamente exclusivos.Veja estes artigos aqui e aqui.

Pode ser que a confusão seja um tanto intencional por parte da Sun, já que eles não querem que JavaFX e miniaplicativos sejam mencionados na mesma frase, já que os miniaplicativos tiveram muitos problemas.

Os miniaplicativos Java não estão mortos.

Eles tinham uma história ruim, por vários motivos:

  • A maioria das plataformas tinha plug-ins de navegador ruins durante toda a década de 90, passando para a década de 2000, e isso deu aos miniaplicativos (e ao Java, até certo ponto) uma reputação de lentidão e grandes downloads.
  • A plataforma Applet real criou uma nova VM para cada miniaplicativo, o que criou ainda mais lentidão, especialmente na inicialização de um miniaplicativo.
  • muitos desenvolvedores de miniaplicativos não se preocuparam em minimizar o tamanho dos frascos que empurraram para baixo, criando ainda mais a impressão de lentidão

As melhorias que o JavaFX traz também trazem melhorias para o Applet (são a mesma coisa).As VMs podem ser compartilhadas e o cache está melhor do que antes.Além disso, uma largura de banda média mais alta do usuário pode ajudar até mesmo implantações de miniaplicativos mal projetadas a iniciarem rapidamente.Se você olhar ao longo dos eixos de base instalada e poder da plataforma, o miniaplicativo ainda está bem no topo, se não no topo, na minha opinião.

JavaFX é legal, mas requer um tempo de execução adicional e, para muitas partes dele, é apenas um açúcar sintático no topo da plataforma Applet.Quase todos os problemas que os miniaplicativos têm hoje são compartilhados pelo JavaFX por esse motivo

Os miniaplicativos Java morreram não por causa do conceito de miniaplicativo, mas porque o plugin JRE para navegadores da web era péssimo.

Na verdade, o Flash provou que existe uma função para o conteúdo interativo em linha.

JavaFX é uma nova maneira de programar aplicativos ricos para a Internet - essencialmente equivalente a miniaplicativos Java ou conteúdo Flash.O novo tempo de execução JRE (1.6.0_10, também conhecido como “Atualização 10”) inclui muitos recursos que tornam a execução do Java no contexto de um navegador muito mais palatável.

JavaFX! = Java Desktop.Os dois são bem diferentes e cada um tem um lugar na caixa de ferramentas do desenvolvedor.

Na verdade, os miniaplicativos Java são uma tecnologia interessante que poderia ter sido tão onipresente quanto o Flash, se a Sun não perdesse a guerra de relações públicas e tecnologia com a Microsoft.

A Microsoft estava empurrando os controles do DirectX ao mesmo tempo e aproveitando a participação de mercado do IE contra os miniaplicativos.Lembro-me de fazer alguns benchmarks:O miniaplicativo Java de 3 MB (que era grande), carregado do disco local (para tirar o tempo de carregamento da rede da equação), levou cerca de 5 segundos para iniciar no Opera.O mesmo miniaplicativo demorou cerca de 2 minutos para iniciar no IE.

Então, não foi que a tecnologia fosse uma droga;não que os miniaplicativos fossem lentos porque eram muito grandes;eles eram lentos porque o navegador dominante na época os tornava deliberadamente lentos.:)

Acho que JavaFX é a tentativa da Sun de reviver muitas ideias de miniaplicativos, em uma época diferente e em um mercado diferente.

Embora isso possa eventualmente ser verdade, atualmente o JavaFX não possui controles, nenhum suporte a dispositivos móveis e outras lacunas que o tornam "ainda não existe"

  1. Isso significará que os miniaplicativos Java da década de 1990 estão mortos e não vale a pena voltar?

O JavaFX e as mudanças associadas são uma tentativa de revitalizar o espaço dos miniaplicativos - os miniaplicativos sempre foram prejudicados por implementações ruins de plugins e pontes flakeu`y no navegador.Isso foi melhorado - embora ainda precise de mais trabalho - mas finalmente a Sun reconheceu que precisava de trabalho e fez algo a respeito.Os miniaplicativos estão melhor posicionados do que nunca.Da concorrência que você mencionou - Flash, Air e Silverlight - acho que você perdeu o principal concorrente - o navegador/javascript - os fabricantes de navegadores também estão abordando os principais pontos fracos da plataforma - desempenho de javascript, capacidade de fazer desenhos arbitrários (ou seja, canvas etc.) .Para requisitos de baixo custo, acho que uma abordagem de navegador puro vencerá - para gráficos de ponta - o JavaFX tem uma chance.

  1. O mesmo com Java Desktop:O que será atraente para nós, desenvolvedores Java, usá-lo em vez do JavaFX?

Como um grande desenvolvedor de aplicativos Java Desktop, uma das coisas que falta é um conjunto decente de widgets básicos e tempo para jogar!Ele precisa de uma implementação de tabela matadora - você pode incorporar o swing, mas qual é o objetivo.Agora eu poderia escrever o meu próprio, pois não é exatamente aí que estou agregando valor ao meu tipo de trabalho.

1 - Isso significa que os miniaplicativos Java da década de 1990 estão mortos e não vale a pena voltar? Com a atualização do plug-in Java - todos os miniaplicativos, não apenas os miniaplicativos baseados em JavaFX, obtêm experiência e desempenho do usuário aprimorados.Dito isto - não acho que existam muitos (se houver) miniaplicativos matadores por aí.Se houvesse - o JavaFX nunca teria sido necessário.

2 - O mesmo com Java Desktop:O que será atraente para nós, desenvolvedores Java, usá-lo em vez do JavaFX?Se você estiver construindo aplicativos GUI e quiser executá-los em Java - em particular em múltiplas plataformas (por exemplo,desktop, applets e dispositivos móveis), além de facilitar o trabalho com alguém que tenha habilidades reais em Photoshop/GIMP - JavaFX é sua melhor escolha porque foi projetado explicitamente para esse tipo de processo.No entanto, lembre-se de que JavaFX pode chamar código Java e também fazer chamadas remotas (recebendo XML ou JSON).Acho que o ponto de integração mais provável será usar JavaFX para UI e cache de resultados, mas toda a lógica de codificação pesada estará no servidor.Onde pode ser escrito em Java ou .NET ou assembler se você conseguir que seu assembler emita XML ou JSON :).

Concordo com os outros, Java Applets já morreram.JavaFX poderia preencher esse vazio.No entanto, não vejo isso substituindo o Java Desktop tão cedo.É o mesmo que dizer que os aplicativos da web substituirão todos os aplicativos de desktop.Algumas pessoas acreditam nisso, e eu concordo que os aplicativos da web crescerão em popularidade; no entanto, os aplicativos de desktop continuarão a ter lugar por um bom tempo.

Não podemos escrever miniaplicativos facilmente, pois há muitos códigos bons na web.Muito disso foi escrito por pessoas que não são especialistas em desenvolvimento de software, mas sim em diversas áreas de ponta que tentaram explicar e ilustrar com a ajuda de miniaplicativos Java, a tecnologia de ponta da época.Eles podem não ter tempo para aprender um novo idioma e reescrever qualquer trabalho.Muitos não estão ativos há anos.

Também vejo os miniaplicativos Java como mais apropriados para projetos comunitários baseados em compilações do lado do servidor e revisão de código.Várias ferramentas sofisticadas e fáceis de usar podem tornar o desenvolvimento de componentes da web rápido e fácil, mas o resultado não é legível por humanos ou é muito difícil de revisar.

Lançamos recentemente o Ultrastudio.org projeto que ainda depende da tecnologia de miniaplicativos Java.Eu estava pensando muito em colocar mais linguagens e plataformas, mas no final fui forçado a concluir que ou é menos seguro ou é muito mais complexo de fazer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top