 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Stefan Matthias Aust Guest
|
|
| Back to top |
|
 |
Jochen Theodorou Guest
|
Posted: Fri May 11, 2007 3:34 pm Post subject: Re: F3 heißt jetzt JavaFX |
|
|
Stefan Matthias Aust schrieb:
[...]
| Quote: | F3 ist statisch getypt. Das ist schon mal ein wesentlicher Unterschied
zu Groovys SwingBuilder.
|
oh? dann müssen sie sich aber was schlaues einfallen lassen oder die
Skripte werden relativ gross werden. Ein Teil von F3 soll ja scheinbar
nur als Skript vorliegen.. gerade bei den Mobiltelefonen könnte das ein
wenig kritisch werden...
| Quote: | Desweiteren ist F3 deklarativ - wenn ich's
richtig verstanden habe - während der SwingBuilder nur deklarativ
aussieht, aber ein ganz normales prozedurales Vorgehen an den Tag legt.
|
die Nutzung ist deklarativ, wen kümmerts wie die Verarbeitung intern
abläuft. Ich meine XML von einem SAX parser könnte man auch als
deklarativ mit prozeduralem Verhalten bezeichnen.
| Quote: | erscheint mir seltsam. Wenn sie gesagt hätten das ihnen Groovy zu
langsam ist wäre das was anderes gewesen.
Da war ihnen als Argument vielleicht zu schwach, vielleicht ist aber
auch F3 auch einfach nur nicht wesentlich schneller
|
Naja, das F3 statisch ist wirft schon mal ein anderes Licht auf die
Sache. Ziel war dann wohl eher ein guter IDE-support und ähnliches.
Gruss theo
--
Jochen "blackdrag" Theodorou
Groovy Tech Lead (http://groovy.codehaus.org)
http://blackdragsview.blogspot.com/ |
|
| Back to top |
|
 |
Sven Drieling Guest
|
Posted: Fri May 11, 2007 6:56 pm Post subject: Re: F3 heißt jetzt JavaFX |
|
|
Stefan Matthias Aust wrote:
Hallo,
Fürs erste Ausprobieren ist das
JavaFX Script JavaFXPad Demo
http://download.java.net/general/openjfx/demos/javafxpad.jnlp
geeignet. So kommt man für einen ersten Blick nur mit den Download von
Java 5 bzw. 6 aus und muss nicht noch eine IDE dazunehmen. Groovy liegt
ja auch passendes bei.
| Quote: | javaFX hängt ja nicht unbedingt von diesen ab.. Was mich jetzt mal
interessieren würde wäre in wie weit javaFX mächtiger als zum Beispiel
der Swingbuilder in Groovy oder JRuby sein soll.
|
Das Model-View-Konzept ist mit 'bind' in JavaFXScript gut umgesetzt.
Mit Hilfe von '[0..200] dur 1000 linear' lassen sich leicht Animationen
im Hintergrund ablaufen. Mit 'do{}' kann leicht ein Hintergrundthread
gestartet werden.
Statt Kon-/Destruktor und Set-/Getter gibt es Trigger-Methoden ähnlich
wie bei SQL-Datenbanken. Ob man das unbedingt braucht, weiß ich nicht
aber es ist eine interessante Variante.
Die Online-Dokumentation von JavaFXScript ist in Vergleich zu der
von Groovy übersichtlicher und interaktiver.
Sind aber auch alles Sachen, um die sich Groovy erweitern lassen
dürfte.
Die JavaFXScript spezifisches Jars belegen 2,3 MByte.
groovy-all-1.0.jar 2,2 MByte.
Der größte Unterschied ist wohl die Art der Vermarktung. Sun spricht
eher als das Groovy-Team Webdesigner mit CSS und DOM/JavaScript-Kenntnissen
an, denen die deklarative Syntax aus CSS/JSON bekannt ist und die leicht
mit 'onMouseClicked' und 'dur' mit nur wenigen Zeilen spielerisch den
ersten grafischen Effekt erzielen können. Was vom interaktiven 2D-Tutorial
und den Demos unterstützt wird. Unten auf
https://openjfx.dev.java.net/
tschuess
[|8 |
|
| Back to top |
|
 |
Stefan Ram Guest
|
Posted: Sat May 12, 2007 12:36 am Post subject: Re: F3 heisst jetzt JavaFX |
|
|
Sven Drieling <sd@sven-drieling.de> writes:
| Quote: | http://download.java.net/general/openjfx/demos/javafxpad.jnlp
|
Das untere Textfenster scheint einen typischen
GUI-Anfängerfehler zu zeigen, denn die Schriftfarbe (schwarz),
aber nicht die Hintergrundfarbe, wurde im Programm festgelegt.
Wenn die (System-)Hintergrundfarbe die Farbe »schwarz« ist,
kann man dann erst einmal nichts lesen.
Wenn man auch nur /eine/ Farbe definiert, sollte man daher
immer /alle/ Farben definieren.
http://www.w3.org/QA/Tips/color
~~
Nun gibt es gleich mehrere von Sun geförderte Scriptsprachen
(JRuby, Rhino und F3), also eine Art von »Balkanisierung«,
aber immer noch keine Unterstützung für Endrekursion in der
JVM oder Methodenobjekt-Literale (»closures«) in Java oder
Map/List-Literale.
Das »Deklarative« von F3 hätte man ja in Java, wenn man dort
Map/List-Literale schreiben könnte, die dann wiederum
Methodenobjekt-Literale (»closures«) enthalten dürfen. |
|
| Back to top |
|
 |
Jochen Theodorou Guest
|
Posted: Sun May 13, 2007 10:56 pm Post subject: Re: F3 heißt jetzt JavaFX |
|
|
Stefan Matthias Aust schrieb:
[...]
| Quote: | Das ist richtig. Aber kommt Groovy in Knappheit und Ausdruckstärke an
diese "sequence comprehension"-Syntax heran?
var ns = select n*n from n in [1..100] where n < 50;
|
abgesheen davon das ich mir ein entsprechendes select leicht definieren
kann:
def ns = (1..100).findAll {it<50}.collect {it*it}
oder smalltalk like mit eigener Methode:
select value:{it*it} from:(1..100) where:{it<50}
allerdings gibt es dieses select so nicht als standard
| Quote: | Oder das Binden von Properties an UI-Elemente:
var m = Foo { bar: "Hallo" }
var w = Frame {
title: "Ein Fenster"
content: Label { text: m.bar }
visible: true
}
m.bar = "Welt"
|
naja, ob nun
var w = Frame {
title: "Ein Fenster"
content: Label { text: m.bar }
visible: true
}
oder
var w = Frame (
title: "Ein Fenster"
content: Label ( text: m.bar )
visible: true
)
dürfte den Kohl nicht Fett machen. mit einem "=" statt einem ":" könnte
man auch einiges anstellen.
| Quote: | Die letzte Zeile ändert den Text des Labels.
Das geht auch indirekt:
Label { text: bind "Er sagte {m.bar}" }
was Flex übrigens ebenfalls kann und was dort ein sehr mächtiges Konzept
ist (zu sein scheint, ich bin da (noch) nicht so firm).
Innerhalb der {} kann (im Gegensatz zu Flex, aber ähnlich wie bei Scala,
wo es jedoch kein automatisches Binden gibt) beliebig viel Code stehen -
also etwa Schleifen oder Bedingungen. Das macht einfache Strings zu
Templates a la JSP ohne das man dazu die Sprache ändern muss.
|
in Groovy sind das GString, allerdings ist mir nicht ganz klar wozu das
bind ist.
| Quote: | Nett ist auch die folgende Verkürzung:
bind "<a href='{#(operation() {m.bar=42;})}'>Link</a>"
wo man gleich die Aktion angeben kann, die ausgeführt werden soll, wenn
ein Link in einem JLabel oder JEditorPane angeklickt wird.
|
ah, ok... ne das wäre schon etwas schwerer zu realisieren... vielleicht
als map:
bind "<a href='${[operation: {m.bar=42}]}'>Link</a>"
wobei bind dann erst den GString auswerten müsste.
Gruss theo
--
Jochen "blackdrag" Theodorou
Groovy Tech Lead (http://groovy.codehaus.org)
http://blackdragsview.blogspot.com/ |
|
| Back to top |
|
 |
Jochen Theodorou Guest
|
Posted: Sun May 13, 2007 11:10 pm Post subject: Re: F3 heißt jetzt JavaFX |
|
|
Jochen Theodorou schrieb:
text mit Fehlern... sorry:
[...]
| Quote: | var w = Frame (
title: "Ein Fenster"
content: Label ( text: m.bar )
visible: true
)
|
das muss so sein:
| Quote: | var w = Frame (
title: "Ein Fenster",
content: Label ( text: m.bar ),
visible: true,
)
|
Gruss theo
--
Jochen "blackdrag" Theodorou
Groovy Tech Lead (http://groovy.codehaus.org)
http://blackdragsview.blogspot.com/ |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|