Oracle Zalecenia
Zobacz porady Oracle:
- Why use FXML
- Implementing JavaFX Best Practices
Oracle Niepolecane FXML dla definicji layoutu nad API Java.
Alternatywne deklaratywne Technologie dla JavaFX
Pozostałe deklaratywne sztuk w JavaFX są CSS i 3D models
pół-deklaratywnej metodą jest JavaFX Builder API, ale może chcesz uniknąć jak the builder api will be deprecated in future JavaFX versions. Dodatkowo, jeśli programujesz w innych językach, niektóre z nich zawierają deklaratywny język specyficzny dla domeny (DSL) do programowania JavaFX (np. ScalaFX lub GroovyFX).
Generalnie użycie deklaratywnej składni przeważyło przede wszystkim nad programowaniem proceduralnym dla większości zadań związanych z oznaczaniem interfejsu użytkownika. To być postrzegane przez wyeksponowany technologii, takich jak HTML, CSS, FXML, XAML, MXML, XUL, itp
Niski poziom programowania
Do zadań niskopoziomowych, takich jak rozwój niestandardowej kontroli JavaFX, manipulując płótnem JavaFX lub przetwarzając dane obrazu, procedura Java API jest bardziej odpowiednia niż użycie deklaratywnego FXML - żaden z JavaFX codebase in openjfx nie używa FXML.
osobistych wyborów i porady
W końcu, nie ma dobrej odpowiedzi tutaj. Wybór zależy od tego, który deweloper wybierze najlepsze podejście.
Nie ma również powodu, dla którego nie można mieszać dwóch stylów, jak uważasz za stosowne. Użycie prostej deklaratywnej metody daje ci bardzo sztywny interfejs użytkownika (np. Statyczną stronę html), w porównaniu z czymś, co miesza zarówno procedury proceduralne, jak i deklaratywne (np. Html + javascript + ajax) - i to samo dotyczy JavaFX, ponieważ jest to do rozwoju html w tym przypadku.
Dla małych programów lubię po prostu pisać jakiś kod w IDE, kompilować i uruchamiać go bez konieczności radzenia sobie z przełączaniem kontekstu między FXML i kodem Java opartym na XML. Odkryłem jednak, że to podejście wyłącznie proceduralne nie jest łatwe do zastosowania w większych projektach. Widok podzielony na FXML pomaga wymusić rozdzielenie obaw i modularyzację. Zbyt łatwo jest połączyć te opinie i obawy logiczne bez sztucznej separacji, której wymaga FXML.
Nie lubię XML jako języka układu interfejsu użytkownika. Myślę, że już nieistniejący format FXD z przestarzałego oddziału JavaFX 1.x był o wiele lepszy. Jednak FXML jest najbardziej dostępną i powszechnie stosowaną deklaratywną składnią interfejsu użytkownika dla JavaFX 2.
Używam CSS z programami JavaFX i lubię używać go zarówno z kodem deklaratywnym FXML, jak iz kodem proceduralnym Java API. Moim zdaniem, tak samo ważne jest oddzielenie stylu od kodu, jak i oddzielenie układu od kodu.
Używając CSS, najlepiej jest umieścić style w osobnym arkuszu stylów niż wstawiać style w kodzie.
Jak wskazano w innej odpowiedzi, narzędzie do projektowania wizualnego JavaFX SceneBuilder obecnie działa tylko z FXML i, oprócz innych rzeczy poza tym, jest wystarczającym powodem dla wielu do używania FXML do zdefiniowania ich interfejsu JavaFX.