ฉันควรใช้ Java เวอร์ชันใดสำหรับแอปพลิเคชันเดสก์ท็อปเพื่อเข้าถึงผู้ใช้ส่วนใหญ่ [ปิด]


15

ฉันถูกต้องหรือไม่ที่จะสันนิษฐานว่าผู้ใช้ปลายทางส่วนใหญ่ใช้เวอร์ชันเก่ากว่า Java 8? เนื่องจากฉันไม่ต้องการบังคับให้คนอัปเกรดเพื่อใช้แอปพลิเคชันของฉันฉันควรวางแผนให้ใช้ Java 7 หรือ 6 ตั้งแต่เริ่มต้นถึงแม้ว่าจะหมายความว่าฉันไม่สามารถใช้ประโยชน์จากเวอร์ชั่นใหม่สำหรับตัวเองได้ ในฐานะนักพัฒนา


6
คำตอบสำหรับคำถามนี้จะเกี่ยวข้องกันอย่างไรในหนึ่งปี? ห้าปี? การถามคำถามเกี่ยวกับเช่น Java 8 เมื่อเทียบกับ Java 7 นั้นใช้ได้ แต่การถามว่าทั้งสองรุ่นที่จะใช้ไม่ใช่คำถามที่ดีสำหรับไซต์นี้เนื่องจากข้อเท็จจริงที่ว่าตัวเองติดอยู่ในเวลาไม่ต้องพูดถึง ขอคำแนะนำผลิตภัณฑ์

ใครคือผู้ใช้ของคุณและเป็นแอปพลิเคชันประเภทใด แอปพลิเคชั่นสำหรับโลกของโลกแตกต่างจากแอพพลิเคชั่นสำหรับคนไอที
Freiheit

Java ไม่ได้ติดตั้งไว้ล่วงหน้า (ซึ่งแตกต่างจาก. NET ใน Windoze) ดังนั้นคุณจะต้องรวม (ชุดย่อย) JRE กับแอปพลิเคชันของคุณ ดังนั้นคุณสามารถใช้สิ่งที่ดีที่สุด นั่นหมายถึง - ใช้เวอร์ชันที่เสถียรล่าสุด (นั่นหมายถึงตอนนี้ - รุ่น JRE 1.8)
ชื่อที่แสดง

เนื่องจากแนวทางปฏิบัติที่ดีที่สุดเพื่อความปลอดภัยคือการพิจารณาให้ Java ติดตั้งความเสี่ยงที่ยอมรับไม่ได้ฉันคิดว่าคำตอบที่สมเหตุสมผลคือ "ไม่มีเลย"
.. GitHub หยุดช่วยน้ำแข็ง

@R .. คุณได้ยินคำว่า "แนวปฏิบัติที่ดีที่สุด" ที่ไหน?
Arturo Torres Sánchez

คำตอบ:


44

การใช้ JRE ที่ติดตั้งไว้อย่างถูกต้องนั้นไม่เหมาะสมกับสภาพแวดล้อมขององค์กรที่มีการควบคุมซึ่งเดสก์ท็อปทั้งหมดจะถูกล็อคเป็นเวอร์ชั่นเฉพาะ ในกรณีนี้คุณควรถามคำถามนี้กับบุคคลที่ควบคุมสภาพแวดล้อมนั้น

สำหรับแอ็พพลิเคชันเดสก์ท็อป mass-market Java คุณควรใช้ตัวติดตั้งหรือตัวเรียกใช้งานที่รวมJRE ที่คุณต้องการให้ใช้หรือตั้งค่าJava Web Start (JAWS)

โปรดทราบว่าถ้าคุณจริงร่างกายแจกจ่าย JRE รวมคุณจะต้องปฏิบัติตามเงื่อนไขของใบอนุญาต ฉันไม่ใช่นักกฎหมาย แต่สิ่งเหล่านั้นไม่ควรเป็นปัญหาสำหรับจุดประสงค์ส่วนใหญ่ หากคุณอยู่ในสถานการณ์ที่มีทีมกฎหมายคุณควรดำเนินการให้สำเร็จ

สำหรับนักพัฒนาซอฟต์แวร์หรือเครื่องมือที่มุ่งเน้นทางเทคนิคอื่น ๆ โดยทั่วไปจะดีกว่าที่จะเผยแพร่ไหบนMaven Centralดังนั้นการแจกจ่ายและดาวน์โหลดจึงเป็นไปโดยอัตโนมัติทั้งหมด นี่เป็นกรณีหนึ่งที่การเกาะติด Java เวอร์ชันเก่าเป็นสิ่งที่มีความได้เปรียบเนื่องจากช่วยให้การใช้งานในองค์กรถูกล็อกไปเป็นเวอร์ชันที่เก่ากว่า

แต่ฉันไม่ต้องกังวลเกี่ยวกับสิ่งที่มากเกินไปสำหรับโครงการที่เริ่มต้นในวันนี้

ในที่สุดหากทั้งหมดข้างต้นทำงานได้มากเกินไปคุณก็สามารถเผยแพร่แหล่งที่มาบนgithubหรือbitbucketและปล่อยให้ผู้ใช้สร้างมันขึ้นมาเอง


3
คำตอบที่เป็นอมตะสำหรับคำถามที่ทันเวลาน่ากลัว ฉันจะเพิ่มว่าคุณสามารถแจกจ่ายรุ่นสำรองฟรีของ JRE สำหรับผู้ที่ชื่นชอบสิ่งนั้น อาจทำให้เป็นรุ่นพกพาได้
StarWeaver

1
บันเดิล JRE ต้องการสิทธิ์ใช้งานและเป็นอันตรายอย่างยิ่งหากแอปพลิเคชันเข้าถึงอินเทอร์เน็ต
acelent

โปรดอธิบายอย่างละเอียดนั่นหมายความว่าฉันต้องอนุญาต JRE แม้ว่าฉันจะปล่อยซอฟต์แวร์ของฉันโดยไม่มีเจตนาเพื่อผลกำไรหรืออาจจะเป็นโอเพ่นซอร์สด้วยซ้ำ
Andreas Hartmann

12

Oracle 6 ไม่ได้รับการสนับสนุนจาก Oracle ดังนั้นอย่าใช้สิ่งนั้น การสนับสนุนของ Java 7 จะสิ้นสุดลงในวันที่ 15 เมษายนดังนั้นคุณจึงรู้ เพียงใช้ Java 8 และช่วยตัวคุณเองให้ยุ่งยาก

ดูแผนงานการสนับสนุนของ Oracleสำหรับข้อมูลเพิ่มเติม


ฉันหวังว่านี่เป็นกรณีสำหรับ Android :(.
Jared Burrows

1

อีกประเด็นที่ควรพิจารณาคือขึ้นอยู่กับขนาดของโปรเจ็กต์ของคุณว่า Java เวอร์ชันใดที่จะออกและสิ่งที่ล้าสมัย สำหรับโครงการที่มีขนาดใหญ่ส่วนใหญ่คุณควรทำงานกับเวอร์ชัน 'out of beta / alpha' ปัจจุบัน (ในกรณีนี้คือ Java 8) ซึ่งอาจจะใช่หรือไม่ใช่ปัจจุบันเมื่อคุณวางจำหน่าย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.