2013-08-26 13 views
6

Czy ktoś ma pojęcie, dlaczego JavaFX 8 nadal nie jest codziennym API J2SE w nadchodzącej Java 8?Dlaczego API JavaFX nie jest zawarte w Java 8 J2SE?

Schemat technologiczny pokazujący wszystkie komponenty Java wyraźnie wyklucza JavaFX ze stosu J2SE.

Chciałbym zobaczyć JavaFX i Swing API obok siebie w javadocs JDK .. i zastanawiam się, dlaczego Oracle nie ma/nie może nam to dać?

BTW, na temat różnych status JavaFX (w porównaniu do innych standardów zawartych w J2SE), może ktoś wyjaśnić, dlaczego autorzy JavaFX uznał za absolutnie konieczne, aby ponownie wymyślić koła tworząc AWT/niezgodne z koncepcjami Swing takich jak Czcionki FX, Kolory efektów itp.?

Odpowiedz

3

JavaFX Roadmap.

Według FAQ -

Jak JavaFX 2.2 i Java SE 7 uaktualnienia 6, biblioteki JavaFX są zainstalowany jako część Java SE;

Na huśtawce niepełnym wymiarze

Czy JavaFX zastępując Swing jako nowy klient biblioteki UI dla Java SE?

Tak. Jednak Swing pozostanie częścią specyfikacji Java SE dla w dającej się przewidzieć przyszłości i dlatego zostanie uwzględniony w JRE.

JavaFX jest wystarczająco szeroki, aby mieć osobną hierarchię, podobnie jak Java SE lub Java EE.

Możesz zobaczyć definicję here.

Java SE

Gdy większość ludzi myśli o język programowania Java, myślą o API Java SE. Interfejs API języka Java SE zapewnia podstawową funkcjonalność języka programowania Java . Definiuje wszystko, począwszy od podstawowych typów i obiektów języka programowania Java do klas wysokiego poziomu , które są używane do tworzenia sieci, bezpieczeństwa, dostępu do baz danych, graficznego interfejsu użytkownika (GUI) oraz przetwarzania XML.

Java EE

Platforma Java EE jest zbudowany na platformie Java SE. Platforma Java EE zapewnia środowisko API i środowisko wykonawcze do opracowywania i uruchamiania wielkogabarytowych, wielopoziomowych, skalowalnych, niezawodnych i bezpiecznych aplikacji sieciowych o dużej skali, wielopoziomowości, skalowalności.

Java ME

platformie Java ME zapewnia API i małe gabaryty wirtualny maszynę do uruchamiania aplikacji języku programowania Java na małych urządzeń, takich jak telefony komórkowe. Interfejs API jest podzbiorem Java SE API, wraz z bibliotekami specjalnymi przydatnymi do rozwoju aplikacji dla małych urządzeń . Aplikacje Java ME są często klientami usług platformy Java EE .

JavaFX

JavaFX jest platformą do tworzenia bogatych aplikacji internetowych z wykorzystaniem lekką interfejsu użytkownika API. Aplikacje JavaFX korzystają z przyspieszanych sprzętowo silników graficznych i multimedialnych, aby skorzystać z klientów o wyższej wydajności i nowoczesnego wyglądu oraz interfejsów API wysokiego poziomu do łączenia się z sieciowymi źródłami danych. Aplikacje JavaFX mogą być klientami usług platformy Java EE.

+0

"Zainstalowany jako część" to nie to samo, co życie obok siebie w javadocs. Jeśli spojrzysz na http://download.java.net/jdk8/docs/index.html , możesz wyraźnie zobaczyć (na prawo od diagramu), że granica J2SE kończy się tuż przed JavaFX. W związku z tym JavaFX nie jest częścią J2SE. Czemu? Jaka jest przeszkoda? Jaka magia sprawia, że ​​API JavaFX nie są tak podobne do Swinga (na przykład)? – Vincent

+0

@Vincent Edytowałem i umieszczałem link do http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html –

2

JavaFX jest częścią JavaSE w JDK7 i na domyślnej ścieżce klasy z Java 8: nie trzeba robić nic specjalnego, aby korzystać z komponentów JavaFX (oprócz dodanie odpowiednich import sprawozdania, podobnie jak huśtawka).

Jeśli chodzi o twoje ostatnie pytanie, nie mogę mówić o projektantach API, ale ponieważ czcionki i kolory mogą być importowane za pośrednictwem pliku css, wynikowe interfejsy API są nieco bliskie temu, co można określić w pliku css, na przykład czcionka należy do rodziny, ma styl i rozmiar.

3

JavaFX ma stać się standardową częścią JavaSE w ramach czasowych JavaSE 9 (jako JSR).

W międzyczasie, Oracle dostarcza JavaFX jako część swojej implementacji JavaSE (ale inni producenci najprawdopodobniej tego nie zrobią).

dlaczego autorzy JavaFX uważało, że jest to absolutnie konieczne, aby wymyślać koło tworząc AWT/Swing-niezgodne pojęcia jak Fonts FX, FX kolorach, i tym podobne?

JavaFX to nowoczesny zestaw narzędzi UI stosując zestaw oprogramowania, który ściśle współpracuje z kartą graficzną, jeśli jest dostępna.