Qual versão do Java devo usar para que um aplicativo de desktop alcance a maioria dos usuários? [fechadas]

15

Estou correto ao supor que a maioria dos usuários finais está usando uma versão anterior ao Java 8? Como não quero forçar as pessoas a fazer upgrade para usar meu aplicativo, devo planejar o uso do Java 7 ou mesmo do 6 desde o início, mesmo que isso signifique que não posso aplicar os benefícios das versões mais recentes para mim como desenvolvedor?

Andreas Hartmann
fonte
6
Como a resposta a essa pergunta será relevante em um ano? Cinco anos? Fazer uma pergunta sobre, por exemplo, o Java 8 em comparação com o Java 7 é bom, mas perguntar qual das duas versões usar não é uma boa pergunta para este site pelo fato de que a pergunta em si está presa no tempo, sem mencionar que é essencialmente pedindo uma recomendação do produto.
Quem são seus usuários e que tipo de aplicativo é esse? Um aplicativo para as avós do mundo é diferente de um aplicativo utilitário para as pessoas de TI.
Freiheit
O Java não vem pré-instalado (diferente do .NET no Windoze), portanto você precisará incluir (um subconjunto de) JRE em seu aplicativo. Então, você pode usar o que for melhor. Isso significa - use a última versão estável. (que significa agora - uma versão do JRE 1.8)
Nome de exibição
Sendo que as melhores práticas de segurança devem considerar o Java instalado como um risco inaceitável, acho que a única resposta razoável é "nenhuma".
R .. GitHub Pare de ajudar o gelo
@R .., onde você ouviu essas “melhores práticas”?
Arturo Torres Sánchez

Respostas:

44

Confiar em um JRE instalado para estar correto não faz sentido fora de um ambiente corporativo controlado, onde todos os desktops estão bloqueados para uma versão específica. Nesse caso, você deve fazer esta pergunta à pessoa que controla esse ambiente.

Para um aplicativo de desktop Java de mercado de massa, você deve usar um instalador ou iniciador que agrupe o JRE que deseja que eles estejam usando ou configure o Java Web Start (JAWS).

Observe que, se você realmente distribuir fisicamente um JRE em pacote, precisará cumprir os termos da licença . Não sou advogado, mas isso não deve ser problemático para a maioria dos propósitos. Se você estiver em uma situação em que possui uma equipe jurídica, é claro que deve passar por eles.

Para um desenvolvedor ou outra ferramenta tecnicamente orientada, geralmente é preferível publicar os jars no Maven Central , para que a distribuição e o download sejam totalmente automatizados. Este é um caso em que aderir a versões mais antigas de Java é uma vantagem, pois permite seu uso em empresas bloqueadas para uma versão mais antiga.

Mas não me preocuparia muito com isso para um projeto iniciado hoje.

Por fim, se tudo isso for muito trabalhoso, você pode simplesmente publicar a fonte no github ou bitbucket e deixar que o usuário construa por conta própria.

soru
fonte
3
Uma resposta atemporal para uma pergunta oportuna, incrível. Eu acrescentaria que você pode distribuir uma versão alternativa gratuita do JRE para pessoas que gostam desse tipo de coisa. Poderia tornar isso um lançamento portátil mesmo.
StarWeaver 28/02
1
A compilação do JRE requer licenciamento e é extremamente perigoso se o aplicativo acessar a Internet.
acelent 01/03
Por favor, elabore, isso significa que eu tenho que licenciar um JRE, mesmo que eu vá lançar meu software sem a intenção de obter lucro, ou talvez até de código aberto?
Andreas Hartmann
12

O Java 6 não é suportado pelo Oracle, portanto, não use isso. O suporte ao Java 7 termina em 15 de abril, como você sabe. Basta usar o Java 8 e poupar o trabalho.

Consulte o roteiro de suporte da Oracle para obter mais informações.

Haakon Løtveit
fonte
Gostaria que este fosse o caso do Android :(.
Jared Burrows
1

Outro ponto a considerar é que, dependendo do tamanho do seu projeto, qual versão do Java será lançada e qual será obsoleta. Para a maioria dos projetos consideráveis, seria aconselhável trabalhar com a versão atual 'fora de beta / alfa' (neste caso, Java 8), que pode ou não estar atual quando você for lançado.

huntersan9
fonte