{"id":2456,"date":"2013-10-04T22:55:29","date_gmt":"2013-10-04T20:55:29","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2456"},"modified":"2013-10-04T22:55:29","modified_gmt":"2013-10-04T20:55:29","slug":"geschichte-von-javafx-javafx-1-javafx-2-javafx-8","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/10\/geschichte-von-javafx-javafx-1-javafx-2-javafx-8\/","title":{"rendered":"Geschichte von JavaFX: JavaFX 1, JavaFX 2, JavaFX 8"},"content":{"rendered":"<p>Urspr\u00fcnglich wollte Sun\/Oracle JavaFX als Flash-Ersatz im Internet positionieren, doch daf\u00fcr ist die Kombination HTML5 + CSS3 + JavaScript zu attraktiv. JavaFX ist in erster Linie eine gro\u00dfartige GUI-Bibliothek f\u00fcr klassische Client-Anwendungen, die langsam auch auf mobile Endger\u00e4te vorr\u00fcckt. So nahm die Entwicklung auch unterschiedliche Richtungen an.<\/p>\n<p>JavaFX ist schon sehr lange in Entwicklung und viele interne Swing-Entwickler wurden bei Sun\/Oracle auf das Projekt angesetzt \u2013 umgekehrt passierte bei AWT\/Swing nicht mehr viel, Bugfixes kommen aber immer noch brav. Im Jahr 2007 wurde JavaFX auf der SunOne-Konferenz vorgestellt, Ende 2008 erschien das Release JavaFX 1.0 zusammen mit der Programmiersprache JavaFX Script. Die besondere Sprache machte es einfach m\u00f6glich, hierarchische Objektgrafen aufzubauen, und bot eine nette Syntax f\u00fcr Object-Binding, sodass Zust\u00e4nde synchronisiert werden konnten.<\/p>\n<p>Im Oktober 2011 erschien JavaFX 2.0 mit vielen Neuerungen und auch \u00c4nderungen. So wurde JavaFX Script entfernt, denn Oracle wollte keine weitere Programmiersprache aufbauen, sondern eine pure Java API, die Entwickler dann von unterschiedlichen existierenden Skriptsprachen ansprechen k\u00f6nnen. Das ist sicherlich eine gute Entscheidung, denn unter JavaScript und Groovy<a href=\"file:\/\/\/C:\/Users\/Christian\/Dropbox\/Eigene Dokumente\/Insel\/#_ftn1_9078\" name=\"_ftnref1_9078\">[1]<\/a> sieht das sehr schlank aus, fast wie mit JavaFX Script. Mit dem Update auf JavaFX 2.0 \u00e4ndert sich auch die API, sodass alter Code angefasst werden musste. Heute ist JavaFX 1.x ist veraltet, genauso wie die Literatur.<\/p>\n<p>JavaFX entwickelte sich immer mehr als Alternative zu Swing\/AWT und so integrierte Oracle im August 2012 das Java FX 2.2 SDK und die Runtime in das JDK 7u6 and JRE 7u6. Der Schritt war ungew\u00f6hnlich, denn so gro\u00dfe Erg\u00e4nzungen waren bisher im JRE\/JDK noch nie gemacht worden. Neben der Integration bewegte sich auch das ehemals geschlossene JavaFX in Richtung Open-Source und m\u00fcndete in der Implementierung OpenJFX. Mit dem OpenJDK und OpenJFX l\u00e4sst sich ein komplett freies Java-System mit GUI-Stack unter der GPL bauen, was strikte Linux-Distributionen freuen wird. Die Offenheit f\u00fchrte schon zu sehr spannenden Experimenten, etwa einer Java-Version f\u00fcr iOS.<\/p>\n<p>Mit Java 8 zieht auch JavaFX 8 fest in die Distribution ein, der n\u00e4chste Sprung mit 3D-Unterst\u00fctzung.<\/p>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<p><a href=\"file:\/\/\/C:\/Users\/Christian\/Dropbox\/Eigene Dokumente\/Insel\/#_ftnref1_9078\" name=\"_ftn1_9078\">[1]<\/a> <a href=\"http:\/\/groovyfx.org\/\">http:\/\/groovyfx.org\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Urspr\u00fcnglich wollte Sun\/Oracle JavaFX als Flash-Ersatz im Internet positionieren, doch daf\u00fcr ist die Kombination HTML5 + CSS3 + JavaScript zu attraktiv. JavaFX ist in erster Linie eine gro\u00dfartige GUI-Bibliothek f\u00fcr klassische Client-Anwendungen, die langsam auch auf mobile Endger\u00e4te vorr\u00fcckt. So nahm die Entwicklung auch unterschiedliche Richtungen an. JavaFX ist schon sehr lange in Entwicklung und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11,66,14],"tags":[],"class_list":["post-2456","post","type-post","status-publish","format-standard","hentry","category-insel","category-java-8","category-java-se"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2456"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2456\/revisions"}],"predecessor-version":[{"id":2457,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2456\/revisions\/2457"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}