Versi Java mana yang harus saya gunakan untuk aplikasi desktop untuk menjangkau sebagian besar pengguna? [Tutup]

15

Apakah saya benar menganggap bahwa sebagian besar pengguna akhir menggunakan versi yang lebih lama dari Java 8? Karena saya tidak ingin memaksa orang untuk memutakhirkan untuk menggunakan aplikasi saya, haruskah saya merencanakannya untuk menggunakan Java 7 atau bahkan 6 sejak awal, bahkan jika itu berarti saya tidak dapat menerapkan manfaat dari versi yang lebih baru untuk diri saya sendiri sebagai pengembang?

Andreas Hartmann
sumber
6
Bagaimana jawaban untuk pertanyaan ini relevan dalam satu tahun? Lima tahun? Mengajukan pertanyaan tentang misalnya Java 8 dibandingkan dengan Java 7 baik-baik saja, tetapi menanyakan yang mana dari dua versi yang digunakan bukanlah pertanyaan yang baik untuk situs ini karena fakta bahwa pertanyaan itu sendiri macet dalam waktu, belum lagi itu pada dasarnya meminta rekomendasi produk.
Siapa pengguna Anda dan aplikasi apa itu? Aplikasi untuk nenek di dunia berbeda dari aplikasi utilitas untuk orang-orang IT.
Freiheit
Java tidak datang dengan pra-instal (tidak seperti .NET di Windoze), jadi Anda harus memasukkan (sebagian dari) JRE dengan aplikasi Anda. Jadi, Anda bisa menggunakan apa pun yang terbaik. Itu berarti - gunakan versi stabil terbaru. (artinya sekarang - versi JRE 1.8)
Nama Tampilan
Karena praktik terbaik untuk keamanan adalah mempertimbangkan bahwa Java telah menginstal risiko yang tidak dapat diterima, saya pikir satu-satunya jawaban yang masuk akal adalah "tidak ada sama sekali".
R .. GitHub BERHENTI MEMBANTU ICE
@R .., di mana Anda mendengar "praktik terbaik" seperti itu?
Arturo Torres Sánchez

Jawaban:

44

Mengandalkan JRE yang terinstal agar benar tidak masuk akal di luar lingkungan perusahaan yang terkendali di mana semua desktop dikunci ke versi tertentu. Dalam hal ini, Anda harus mengajukan pertanyaan tentang orang yang mengendalikan lingkungan itu.

Untuk aplikasi desktop Java pasar massal, Anda harus menggunakan pemasang atau peluncur yang menggabungkan JRE yang Anda inginkan, atau mengatur Java Web Start (JAWS).

Perhatikan bahwa jika Anda secara fisik mendistribusikan JRE yang dibundel, Anda harus mematuhi persyaratan lisensi . Saya bukan pengacara, tetapi mereka seharusnya tidak bermasalah untuk sebagian besar tujuan. Jika Anda berada dalam situasi di mana Anda memiliki tim hukum, tentu saja Anda harus melewati mereka.

Untuk pengembang atau alat berorientasi teknis lainnya, biasanya lebih baik untuk menerbitkan guci Maven Central , sehingga distribusi dan unduhan sepenuhnya otomatis. Ini adalah satu kasus di mana berpegang teguh pada versi Java yang lebih lama adalah sesuatu yang menguntungkan, karena memungkinkan penggunaannya di perusahaan yang dikunci ke versi yang lebih lama.

Tetapi saya tidak akan terlalu mengkhawatirkan hal itu untuk proyek yang dimulai hari ini.

Akhirnya, jika semua hal di atas terlalu banyak pekerjaan, Anda bisa mempublikasikan sumbernya di github atau bitbucket dan biarkan pengguna membangunnya sendiri.

soru
sumber
3
Jawaban abadi untuk pertanyaan yang tepat waktu, luar biasa. Saya ingin menambahkan bahwa Anda dapat mendistribusikan versi pengganti JRE gratis untuk orang-orang yang menyukai hal semacam itu. Bahkan bisa membuat rilis portabel.
StarWeaver
1
Bundling JRE memerlukan lisensi dan itu sangat berbahaya jika aplikasi mengakses internet.
acelent
Tolong jelaskan, apakah itu berarti saya harus melisensikan JRE bahkan jika saya akan merilis perangkat lunak saya tanpa bermaksud mencari untung, atau bahkan mungkin open source?
Andreas Hartmann
12

Java 6 tidak didukung oleh Oracle, jadi jangan gunakan itu. Dukungan Java 7 berakhir pada 15 April, jadi Anda tahu. Cukup gunakan Java 8 dan selamatkan kerumitan Anda.

Lihat peta jalan dukungan Oracle untuk info lebih lanjut.

Haakon Løtveit
sumber
Saya berharap ini adalah kasus untuk Android :(.
Jared Burrows
1

Hal lain yang perlu dipertimbangkan adalah bahwa, tergantung pada ukuran proyek Anda, versi Java apa yang akan keluar dan apa yang akan usang. Untuk sebagian besar proyek yang cukup besar, akan lebih bijaksana untuk bekerja dengan versi 'out of beta / alpha' saat ini, (dalam hal ini Java 8) yang mungkin atau mungkin tidak terkini saat Anda rilis.

huntersan9
sumber