ओरेकल अनुशंसाएँ
ओरेकल सलाह देखें।
वैकल्पिक घोषणात्मक टेक्नोलॉजीज JavaFX
के लिए JavaFX में अन्य कथात्मक टुकड़े CSS और 3D models
एक अर्ध-कथात्मक विधि JavaFX Builder API है कर रहे हैं, लेकिन आप उस से बचने के लिए the builder api will be deprecated in future JavaFX versions के रूप में चाहते हो सकता है।
इसके अतिरिक्त, यदि आप अन्य भाषाओं में प्रोग्राम करते हैं, तो इनमें से कुछ जावाएफएक्स विकास के लिए एक घोषणात्मक डोमेन विशिष्ट भाषा (डीएसएल) एम्बेड करते हैं, (उदाहरण के लिए ScalaFX या GroovyFX)।
आम तौर पर घोषणात्मक वाक्यविन्यास का उपयोग मुख्य रूप से यूआई मार्कअप कार्यों के लिए प्रक्रियात्मक प्रोग्रामिंग पर जीता है। यह, इस तरह के HTML, सीएसएस, FXML, XAML, MXML, XUL के रूप में प्रौद्योगिकियों की प्रमुखता के द्वारा देखा जा आदि
निम्न स्तर प्रोग्रामिंग
इस तरह के एक कस्टम JavaFX नियंत्रण के विकास के रूप में निम्न स्तर के कार्यों के लिए, जावाएफएक्स कैनवास या प्रसंस्करण छवि डेटा में हेरफेर करना, प्रक्रियात्मक जावा एपीआई घोषणात्मक FXML का उपयोग करने के बजाय सबसे उपयुक्त है - JavaFX codebase in openjfx में से कोई भी FXML का उपयोग नहीं करता है।
व्यक्तिगत पसंद और सलाह
अंत में, वहाँ कोई सही जवाब यहाँ है। पसंद को चुनने के लिए डेवलपर को पसंद किया जाता है।
कोई कारण नहीं है कि आप फिट होने पर दो शैलियों को मिश्रित नहीं कर सकते हैं। एक सीधी घोषणात्मक दृष्टिकोण का उपयोग करके आपको एक बहुत ही कठोर यूआई (जैसे स्थिर एचटीएमएल पेज) के साथ छोड़ दिया जाता है, जो प्रक्रियात्मक और घोषणात्मक दृष्टिकोण (जैसे एचटीएमएल + जावास्क्रिप्ट + AJAX) दोनों को मिलाता है - और यह जावाएफएक्स के लिए भी सच है इस मामले में एचटीएमएल विकास के लिए।
छोटे कार्यक्रमों के लिए मुझे आईडीई में कुछ कोड लिखना, संकलन करना और एक्सएमएल आधारित एफएक्सएमएल और जावा कोड के बीच संदर्भ स्विच से निपटने के बिना इसे चलाना पसंद है। लेकिन मुझे पता चला है कि यह प्रक्रियात्मक दृष्टिकोण केवल बड़ी परियोजनाओं के लिए अच्छी तरह से स्केल नहीं करता है। एफएक्सएमएल में अलग दृश्य होने से चिंताओं और मॉड्यूलरलाइजेशन को अलग करने में मदद मिलती है। FXML मांगों के कृत्रिम अलगाव के बिना इन दृश्यों और तर्क चिंताओं को मिश्रित करना बहुत आसान है।
मुझे वास्तव में यूआई लेआउट भाषा के रूप में एक्सएमएल पसंद नहीं है। मुझे लगता है कि अप्रचलित जावाएफएक्स 1.x शाखा से अब निष्क्रिय एफएक्सडी प्रारूप बहुत बेहतर था। हालांकि, एफएक्सएमएल जावाएफएक्स 2 के लिए सबसे सुलभ और व्यापक रूप से उपयोग किया जाने वाला घोषणात्मक यूआई वाक्यविन्यास है।
मैं जावाएफएक्स प्रोग्राम के साथ सीएसएस का उपयोग करता हूं और इसे FXML घोषणात्मक कोड और जावा एपीआई प्रक्रियात्मक कोड दोनों के साथ उपयोग करने की तरह करता हूं। मेरी राय में, कम से कम कोड से शैली को अलग करना महत्वपूर्ण है क्योंकि यह कोड से लेआउट को अलग करना है।
सीएसएस का उपयोग करते समय, कोड में शैलियों को इनलाइन करने के बजाय अपनी शैली को एक अलग स्टाइल शीट में रखना हमेशा सर्वोत्तम होता है।
जैसा कि किसी अन्य उत्तर में बताया गया है, जावाएफएक्स सीन बिल्डर विज़ुअल डिज़ाइन टूल वर्तमान में केवल FXML के साथ काम करता है और अन्य सभी चीज़ों को अलग करता है, यही कारण है कि कई लोग अपने जावाएफएक्स यूआई को परिभाषित करने के लिए FXML का उपयोग करने के लिए पर्याप्त कारण हैं।