Freitag, 9. Januar 2009


Interview

Freitag, 7. November 2008 | Interview

Interview: "JavaFX war nie als Java++ vorgesehen"

(Link zum Artikel: http://www.phpconference.com///045905)

Java Magazin: Java hat bis heute mit dem Image zu kämpfen, dass es auf der Clientseite langsam wäre. Denkst du nicht, dass JavaFX mit diesem Problem konfrontiert wird, wenn es im direkten Vergleich zu anderen Technologien wie Flex/Flash oder Silverlight steht?

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.

Java Magazin 12.08

Die große Story mit allem Wissenswerten rund um JavaFX gibt es im aktuellen Java Magazin.

Ab 06.11. im Handel!

JM: Einer der Hauptvorzüge von JavaFX ist die leichte Anbindung an serverseitiges Java, z.B. beim Datenbankzugriff. Bedeutet das umgekehrt, dass es für Nicht-Java-Entwickler, die aber JavaFX benutzen wollen, keine Alternative zu diesen Features geben wird?

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.

JM: Einen Java-Entwickler dürfte überraschen, dass JavaFX zwar Mehrfachvererbung, aber keine Interfaces unterstützt. Was ist der Grund dafür?

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.

JM: Welche Eigenschaften muss der "neue Typ“ von JavaFX-Entwickler mitbringen, um mit der Technologie erfolgreich zu arbeiten?

BG: Neben den klassischen Java-Entwicklern zielt JavaFX auf Designer ab, und zwar diejenigen, die Tools wie Illustrator oder Flash benutzen.

JM: Einige "gute alte“ und auch "neue Freunde“ der Java-Welt wie Interfaces, Generics, Enums und Annotations sucht man bei JavaFX vergeblich. Das kombiniert mit der Tatsache, dass es kein JavaFX Binding für Java-Klassen gibt, das macht den Gebrauch von existierendem Java-Code unnötig schwer. Gibt es schon Pläne, diese Situation in einem späteren Release zu ändern?

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.

JM: Gibt es eine Art JavaScript-nach-JavaFX-Brücke für JavaFX-Anwendungen, die im Browsermodus laufen?

BG: Ja! Das neue Java-Browser-Plug-in unterstützt den Zugriff auf JavaFX-Objekte durch JavaScript.

JM: Würdest du JavaFX eher als eine weitere Java-Clienttechnologie für Multimediaanwendungen ansehen oder betrachtest du es als ein neues Paradigma für eine allgemeine Clienttechnologie in der Java-Welt?

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.

JM: Also ist JavaFX ausschließlich für Consumer-orientierte Rich-Media-Anwendungen gedacht oder bietet es auch Möglichkeiten für das Bauen von User-Frontends bei Businessanwendungen?

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.

(ms)

Kommentare

Folgende Links könnten Sie auch interessieren