Freitag, 9. Januar 2009 |
Brian Goetz: Sicherlich schreitet die Technologie häufig schneller voran als die Leute es wahrnehmen. Java muss immer noch Jahrzehnte alten "Java ist langsam“-Mythen entgegentreten, und das, obwohl die Codegenerierung in HotSpot gleichwertig mit den besten C-Compilern (wie gcc-O2) zu setzen ist. Das Memory-Management in Java ist im Vergleich schneller als die besten C-Implementierungen. Es ist auf der anderen Seite auch verständlich, wo diese Wahrnehmungen herkommen. 1996 war Java im Vergleich zu C wirklich langsam – in der Regel liegt bei der ersten Version eines Produkts der Fokus darauf, das Ding fertig zu bekommen und an den Mann zu bringen, und nicht darauf, es schnell zu machen. Nachfolgende Versionen fügen Funktionalität ein und erhöhen die Performance erheblich. JavaFX ist eine solche neue Technologie; der Fokus der ersten Version liegt auf der Funktionalität und nicht auf der Performance, aber die User werden signifikante Performanceverbesserungen bald erwarten können, sobald sich die Technologie weiter entwickelt.
Die große Story mit allem Wissenswerten rund um JavaFX gibt es im aktuellen Java Magazin.
Ab 06.11. im Handel!
BG: Nein, jeder Zugriff zu serverseitigen Features wie Web Services läuft über APIs, die sowohl mit Java-basierten als auch nicht-Java-basierten Services umgehen können.
BG: Java und JavaFX haben unterschiedliche Entwicklerzielgruppen. Das Einbeziehen der Mehrfachvererbung zielte darauf ab, das Mixen von Funktionalität und Komponenten zu erleichtern. Gleich beides einzuführen, also Mehrfachvererbung und Interfaces, könnte die Zielgruppe verwirren, denn schließlich gäbe es dann zwei leicht unterschiedliche Wege, um ähnliche Ziele zu erreichen.
BG: Neben den klassischen Java-Entwicklern zielt JavaFX auf Designer ab, und zwar diejenigen, die Tools wie Illustrator oder Flash benutzen.
BG: JavaFX war nie als Java++ vorgesehen. Nur weil ein Sprachfeature in Java vorkommt, heißt das nicht, dass es automatisch in JavaFX gebraucht oder erwünscht ist. Die beiden Sprachen haben, wie schon erwähnt, unterschiedliche Zielgruppen. Weil aber JavaFX auf Basis der Java-Plattform gebaut wurde, spielt es gut mit bestehenden Java-Klassen wie Interfaces und Enums zusammen. Gleichzeitig entwickelt sich JavaFX Script weiter – in den nächsten Versionen werden viele Feature hinzugefügt werden. So ist es z.B. wahrscheinlich, dass JavaFX Binding in Zukunft mit JavaBeans Binding zusammenarbeitet, wenn sich die Spezifikation stabilisiert hat.
BG: Ja! Das neue Java-Browser-Plug-in unterstützt den Zugriff auf JavaFX-Objekte durch JavaScript.
BG: Der User erwartet heute reichhaltigere, interaktivere Applikationen als noch vor ein paar Jahren. JavaFX versucht, diesen Erwartungen entgegenzukommen, und zwar im Rahmen der Java-Plattform, damit Entwickler nicht in Ad-hoc-Techniken wie Ajax Zuflucht suchen müssen.
BG: Ich würde nicht sagen, dass es exklusiv für das eine oder andere gedacht ist – es macht beides leichter.
Brian Goetz ist Autor zahlreicher Artikel über Software-Entwicklung, sein Buch "Java Concurrency In Practice“ wurde im Mai 2006 veröffentlicht. Er ist Mitglied der JCP-Expertengruppen für die JSRs 166 (Concurrency Utilities), 107 (Caching), und 305 (Annotations für Sicherheitsanalysen). Derzeit ist er bei Sun Microsystems als Compiler tech lead for JavaFX Script maßgeblich für die technologische Entwicklung von JavaFX verantwortlich.