Tôi nên sử dụng phiên bản Java nào cho ứng dụng máy tính để bàn để tiếp cận nhiều người dùng nhất? [đóng cửa]


15

Tôi có đúng không khi cho rằng hầu hết người dùng cuối đang sử dụng phiên bản cũ hơn Java 8? Vì tôi không muốn buộc mọi người nâng cấp để sử dụng ứng dụng của mình, tôi nên lập kế hoạch sử dụng Java 7 hoặc thậm chí 6 ngay từ đầu, ngay cả khi điều đó có nghĩa là tôi không thể áp dụng các lợi ích của các phiên bản mới hơn cho chính mình Là một nhà phát triển?


6
Làm thế nào câu trả lời cho câu hỏi này có liên quan trong một năm? Năm năm? Đặt câu hỏi về ví dụ Java 8 so với Java 7 là tốt, nhưng việc hỏi phiên bản nào trong hai phiên bản sẽ sử dụng không phải là một câu hỏi hay cho trang web này vì thực tế rằng bản thân câu hỏi bị kẹt trong thời gian, không đề cập đến nó về cơ bản yêu cầu giới thiệu sản phẩm.

Người dùng của bạn là ai và loại ứng dụng này là gì? Một ứng dụng dành cho các ông lớn trên thế giới khác với một ứng dụng tiện ích dành cho dân IT.
Freiheit

Java không được cài đặt sẵn (không giống như .NET trên Windoze), vì vậy bạn sẽ phải bao gồm (một tập hợp con) JRE với ứng dụng của bạn. Vì vậy, bạn có thể sử dụng bất cứ điều gì là tốt nhất. Điều đó có nghĩa là - sử dụng phiên bản ổn định mới nhất. (có nghĩa là ngay bây giờ - một phiên bản của JRE 1.8)
Tên hiển thị

Do các thực tiễn tốt nhất về bảo mật là xem xét việc Java cài đặt một rủi ro không thể chấp nhận được, tôi nghĩ rằng câu trả lời hợp lý duy nhất là "không có gì cả".
R .. GitHub DỪNG GIÚP ICE

@R .., bạn đã nghe thấy những thực hành tốt nhất như thế ở đâu?
Arturo Torres Sánchez

Câu trả lời:


44

Dựa vào một JRE được cài đặt là chính xác không có ý nghĩa gì ngoài môi trường công ty được kiểm soát, nơi tất cả các máy tính để bàn bị khóa với một phiên bản cụ thể. Trong trường hợp nào, bạn nên hỏi câu hỏi này của người kiểm soát môi trường đó.

Đối với ứng dụng máy tính để bàn Java dành cho thị trường đại chúng, bạn nên sử dụng trình cài đặt hoặc trình khởi chạy đi kèm gói JRE mà bạn muốn chúng đang sử dụng hoặc thiết lập Java Web Start (JAWS).

Lưu ý rằng nếu bạn thực sự phân phối một JRE đi kèm, bạn phải tuân thủ các điều khoản cấp phép . Tôi không phải là một luật sư, nhưng những người không nên có vấn đề cho hầu hết các mục đích. Nếu bạn đang ở trong một tình huống mà bạn có một đội ngũ hợp pháp, tất nhiên bạn nên chạy nó qua họ.

Đối với nhà phát triển hoặc công cụ định hướng kỹ thuật khác, thông thường nên xuất bản các lọ trên Maven Central , vì vậy việc phân phối và tải xuống hoàn toàn tự động. Đây là một trường hợp trong đó việc gắn bó với các phiên bản Java cũ hơn là một lợi thế, vì nó cho phép sử dụng chúng trong các tập đoàn bị khóa với phiên bản cũ hơn.

Nhưng tôi sẽ không lo lắng về điều đó quá nhiều cho một dự án bắt đầu ngày hôm nay.

Cuối cùng, nếu tất cả các công việc trên là quá nhiều công việc, bạn chỉ có thể xuất bản nguồn trên github hoặc bitbucket và để người dùng tự xây dựng nó.


3
Một câu trả lời vượt thời gian cho một câu hỏi đúng lúc, tuyệt vời. Tôi sẽ thêm rằng bạn có thể phân phối một phiên bản thay thế miễn phí JRE cho những người thích loại đó. Có thể làm cho nó một bản phát hành di động thậm chí.
StarWeaver

1
Gói JRE yêu cầu cấp phép và thật nguy hiểm nếu ứng dụng truy cập internet.
acelent

Xin hãy giải thích, điều đó có nghĩa là tôi phải cấp phép cho JRE ngay cả khi tôi sẽ phát hành phần mềm của mình mà không có ý định kiếm lợi nhuận, hoặc thậm chí có thể là nguồn mở?
Andreas Hartmann

12

Java 6 không được Oracle hỗ trợ, vì vậy đừng sử dụng nó. Hỗ trợ của Java 7 kết thúc vào ngày 15 tháng 4, vì vậy bạn biết. Chỉ cần sử dụng Java 8 và tiết kiệm cho mình những rắc rối.

Xem lộ trình hỗ trợ của Oracle để biết thêm thông tin.


Tôi ước đây là trường hợp của Android :(.
Jared Burrows

1

Một điểm khác cần xem xét là, tùy thuộc vào quy mô dự án của bạn, phiên bản Java nào sẽ được phát hành và những gì sẽ lỗi thời. Đối với hầu hết các dự án lớn, sẽ là khôn ngoan khi làm việc với phiên bản 'hết beta / alpha' hiện tại, (trong trường hợp này là Java 8) có thể có hoặc không hiện tại khi bạn phát hành.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.