(Vorstellung) JFoenix - JavaFX Material Design Library


#1

Mein erster Post und schon laufe ich Gefahr, vielleicht doch den falschen Themenbereich ausgesucht zu haben. Meine zweite Idee war bei JavaFX, habe keinen Vorstellungsbereich o.ä. sonst gefunden.

Ich wollte jenen, die JavaFX nutzen nur mal eine Library vorstellen, über die ich letztens gestolpert bin.
JFoenix versucht die JavaFX-Elemente nach dem Google Material Design Richtlinien umzustetzen.

Benutzt/Kennt ihr JFoenix, was haltet ihr davon und würdet ihr es für zukünftige Projekte nutzen?
Oder findet ihr diese feste Vorgabe vom Look 'n Feel in euren Anwendungen eher störend für die Endnutzer?

Persönlich muss ich sagen, bin ich vom Material Design sehr angetan und im ersten Moment hat mich die Lib doch begeistert und ich
werde sie wohl auch demnächst einsetzen.

CroNut


#2

Benutzen/Kennen? Nein/Nein

Sieht nett aus. Eine Designrichtlinie ist im allgemeinen gut. Da hat man einen Punkt auf den man verweisen kann und gut ist. Konsistenz finde ich in einer Anwendung ein wichtiges Kriterium. Ob das jetzt Material Design ist oder was anderes, hängt auch von Anwendungsfall und anderen subjektiven Kriterien ab.

Was ich nicht so toll finde ist, dass im Gegensatz zu einem Stylesheet, mit dem man in JavaFX alles einstellen und ändern kann, hier komplett neue Komponenten hat.
Siehe z.B. AGIX | Innovative Engineering

Das macht den Aufwand eine bestehende Applikation zu portieren nicht unerheblich. Egal in welche Richtunge (JavaFX<>JFoenix). Und das ist eben ein nicht unerhebliches Problem, dass weitere nach sich zieht. Es hält andere davon ab das einzusetzen. Wenn es nicht eingesetzt wird ist die Chance höher, dass die Entwicklung eingestellt wird.


#3

Benutzen/Kennen? Nein/Nein :wink:
[ot]
Ich dachte erst, es ginge um https://docs.oracle.com/javase/8/javafx/api/javafx/scene/paint/Material.html - Schade, aber … mehr als Phong wird das wohl nie :frowning:
[/ot]
FALLS ich das richtig verstehe, ist das hauptsächlich das, was in Swing noch das “Look&Feel” war. Ich fand das CSS-Styling in JavaFX ja immer räusper recht sperrig (und einer der Gründe, warum ich JavaFX insgesamt bisher nicht wirklich verwendet habe, obwohl ich ja die Using JavaFX Charts: About This Tutorial | JavaFX 2 Tutorials and Documentation ganz toll finde…). Wenn es da jetzt etwas gibt, was Standardkomponenten mit “etabliertem” (Touch-Fähigem usw.) L&F vorgibt, kann das zumindest praktisch sein (und tatsächlich scheint das an einigen Stellen über “Standard” hinauszugehen).

“Einsetzen” ist eine sehr unspezifische Frage. In einem Hobby-Projekt? Sicher, mal damit rumspielen, warum nicht? Ein Unternehmen darauf aufbauen? Vorsicht … :wink:


#4

Hab mir jetzt nur mal die Bilder angeschaut und denke nicht, dass man es nicht direkt mit einem Look&Feel vergleichen kann. Dafür scheint mir dann doch noch zu viel extra Funktionalität gegeben zu sein. Mir persönlich ist es auch alles etwas zu “Klickibunt” und sieht mir sehr nach Google aus. (Habe aber auch nicht geschaut inwieweit man das anpassen kann).

L&F in JavaFx (oder wohl Themes genannt^^) sind wohl eher nur über CSS definiert, siehe Caspian und Modena welche CSS Styles definieren.
Dazu passt eventuell dieses Bild

Etwas klein eventuell, aber das Konzept sollte deutlich werden.
Alles in allem sind die Sachen von JFoenix nicht verkehrt und auch mit viel Arbeit verbunden. Ich persönlich würde jedoch eher zu ControlsFX neigen, da die Komponenten einerseits sich an dem JavaFX Style (bzw wenn man ihn ändert diesem dann) orientieren… zum anderen weil man die Komponenten auch im SceneBuilder einbinden und benutzen kann. Wobei letzteres auch scheinbar bei JFoenix gegeben ist nach kurzem Blick


#5

[QUOTE=Clayn]Mir persönlich ist es auch alles etwas zu “Klickibunt” und sieht mir sehr nach Google aus.
[/quote]
Genau, darum geht es in dem Projekt auch anscheinend. Umsetzung des Google Material Designs und quasi Umsetzung des gleichen Verhaltens der Benutzerelemente.

ControlsFX sagte mir kurz was, aber ist wohl schon wieder in Vergessenheit geraten. Danke dafür, setze ich mir mal als Lesezeichen.
Das Einbinden von JFoenix in den SceneBuilder funktioniert auch, hat etwas gedauert bis ich rausgefunden habe, wie ich die JAR dort importiert bekomme. :smiley:

Ich kann mich erinnern, dass es irgendwo mal eine CSS-Datei gab, die sich am Metro-Design von Windows orientierte. Muss ich mal wieder suchen. Ich stehe doch schon
ziemlich auf den “eckigen” Stil.


#6

Ja, ich dachte mir schon, dass insbesondere die ganzen Animationen (und es gibt ja ja VIELE Animationen) nicht “out-of-the-box” dabei waren. Man kann davon halten, was man will. Ich persönlich bin ja auch eher “pragmatisch”. Ein Button hat eben ein paar Zustände (Pressed/NotPressed, Enabled/Disabled, Hovered/NotHovered), und die kann man ggf. in bestimmten Kombinationen duch ein paar Farben darstellen, da braucht’s eigentlich keinen “sich animiert ausbreitenden Wassertropfen” beim Antippen. Aber sowas wie
https://camo.githubusercontent.com/e386fc62160efb4e8989adbc70a490c6fc911ff0/687474703a2f2f6a666f656e69782e636f6d2f6769662f6d61736f6e72792e676966
sieht halt schon fancy aus, und einiges davon macht vermulich für Touch-Interaktion schon Sinn.
(Sorry, ein bißchen un-technisches Gelaber … ansonsten werde ich mich dann etwas zurückhalten :o )


#7

Naja der Vorteil ist halt schon das JFoenix die Material Design Library von Google übernimmt und dadurch die Material Design Richtlinien von Google einfach übernommen werden können.

Aber das ist ja eine Richtlinie die jeder Entwickler selber implementieren kann wer möchte.
Und die Richtlinien sind auch gut überlegt. Wer sich selber keine Gedanken machen möchte ob der Button jetzt Blau oder Rot sein soll der schaut ins Kapitel Farbkompositionen.
Das ist für mich der interessantere Teil und der ist auch per JavaFX umsetzbar, aber sicherlich mit mehr Eigenarbeit verbunden