2013-08-26 16 views
6

Có ai có bất kỳ ý tưởng tại sao JavaFX 8 vẫn không phải là một J2SE API hàng ngày trong Java 8 sắp tới?Tại sao JavaFX API không được bao gồm trong Java 8 J2SE?

Sơ đồ công nghệ hiển thị tất cả các thành phần Java loại trừ rõ ràng JavaFX khỏi ngăn xếp J2SE.

Tôi muốn xem JavaFX và Swing API song song trong JDK javadocs .. và tự hỏi tại sao Oracle không/không thể cung cấp cho chúng tôi điều đó?

BTW, về chủ đề trạng thái khác nhau của JavaFX (so với các tiêu chuẩn khác có trong J2SE), bất cứ ai có thể giải thích lý do tại sao các tác giả của JavaFX cảm thấy cần thiết phải tái phát minh ra bánh xe tạo ra các khái niệm AWT/Swing-incompatible Phông chữ FX, Màu sắc FX và các loại tương tự?

Trả lời

3

JavaFX Roadmap.

Theo FAQ -

Tính đến JavaFX 2.2 và Java SE 7 cập nhật 6, các thư viện JavaFX được cài đặt như một phần của Java SE;

Đối với swing dựng đối tác

là JavaFX thay thế Swing như thư viện giao diện người dùng khách hàng mới cho Java SE?

Có. Tuy nhiên, Swing sẽ vẫn là một phần của đặc tả Java SE cho tương lai gần, và do đó được bao gồm trong JRE.

JavaFX đủ rộng để có một hệ thống phân cấp riêng biệt giống như Java SE hoặc Java EE.

Bạn có thể xem định nghĩa here.

Java SE

Khi hầu hết mọi người nghĩ về các ngôn ngữ lập trình Java, họ nghĩ API Java SE. API của Java SE cung cấp chức năng chính của ngôn ngữ lập trình Java . Nó định nghĩa mọi thứ từ các kiểu cơ bản và các đối tượng của ngôn ngữ lập trình Java thành các lớp cấp cao được sử dụng để kết nối mạng, bảo mật, truy cập cơ sở dữ liệu, phát triển giao diện người dùng (GUI) và phân tích cú pháp XML.

Java EE

Nền tảng Java EE được xây dựng trên đầu trang của nền tảng Java SE. Nền tảng Java EE cung cấp một môi trường API và thời gian chạy để phát triển và chạy các ứng dụng mạng có quy mô lớn, có thể mở rộng, đáng tin cậy và an toàn.

Java ME

Nền tảng Java ME cung cấp một API và nhỏ dấu chân ảo máy để chạy các ứng dụng ngôn ngữ lập trình Java trên các thiết bị nhỏ như điện thoại di động. API là một tập con của API Java SE, cùng với các thư viện lớp đặc biệt hữu ích cho ứng dụng thiết bị nhỏ phát triển. Các ứng dụng Java ME thường là các máy khách của các dịch vụ nền tảng Java EE .

JavaFX

JavaFX là một nền tảng cho việc tạo ra các ứng dụng Internet phong phú sử dụng một nhẹ giao diện người dùng API. Các ứng dụng JavaFX sử dụng đồ họa và phương tiện truyền thông tăng tốc phần cứng để tận dụng lợi thế của các ứng dụng hiệu suất cao hơn và giao diện hiện đại cũng như các API cấp cao để kết nối với nguồn dữ liệu được kết nối mạng. Các ứng dụng JavaFX có thể là các ứng dụng khách của các dịch vụ nền tảng Java EE.

+0

"Được cài đặt như một phần của" không giống như sống cạnh nhau trong javadocs. Nếu bạn nhìn vào http://download.java.net/jdk8/docs/index.html thì bạn có thể thấy rõ ràng (bên phải sơ đồ) rằng ranh giới J2SE kết thúc ngay trước JavaFX. Do đó JavaFX không phải là một phần của J2SE. Tại sao? Trở ngại là gì? Ma thuật nào ngăn các API JavaFX giống như các Swing (ví dụ)? – Vincent

+0

@Vincent Tôi đã chỉnh sửa và đặt liên kết tới http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html –

2

JavaFX là một phần của JavaSE trong JDK7 và trên lớp mặc định từ Java 8: bạn sẽ không cần phải làm gì đặc biệt để sử dụng các thành phần JavaFX (ngoài việc thêm câu import có liên quan).

Về câu hỏi cuối cùng của bạn, tôi không thể nói cho các nhà thiết kế API, nhưng vì phông chữ và màu sắc có thể được nhập thông qua tệp css, các API kết quả có phần gần với bất kỳ thứ gì bạn có thể chỉ định trong tệp css, ví dụ một phông chữ thuộc về một gia đình, có một phong cách và kích thước.

3

JavaFX được lên kế hoạch trở thành một phần khởi đầu của JavaSE trong khung thời gian của JavaSE 9 (dưới dạng JSR).

Trong thời gian đó, Oracle vận chuyển JavaFX như là một phần của việc triển khai JavaSE (nhưng các nhà cung cấp khác rất có thể sẽ không).

lý do tại sao các tác giả của JavaFX cảm thấy nó hoàn toàn cần thiết để tái phát minh bánh xe tạo ra khái niệm/Swing không tương thích AWT như FX Fonts, FX Màu sắc, và như thế nào?

JavaFX là bộ công cụ giao diện người dùng hiện đại sử dụng ngăn xếp phần mềm hoạt động chặt chẽ với thẻ đồ họa, nếu có.

Các vấn đề liên quan