के बिना डब्ल्यूपीएफ वास्तुकला में, मुझे लगता है कि डब्ल्यूपीएफ बहुत अद्भुत है। आम तौर पर, मैं अंतर्निहित प्रतिपादन/एनीमेशन आंतरिक कार्यकलापों का एक बड़ा प्रशंसक हूं। टेम्पलेटिंग और स्टाइल सेट अप की लचीलापन बहुत प्रभावशाली है।एक्सएएमएल
लेकिन मैं एक्सएएमएल से नफरत करता हूं - मुझे लगता है कि यह कई चीजों को जटिल बनाता है। मैंने इसे बड़े और छोटे अनुप्रयोगों पर उपयोग किया है और मैंने खुद को XAML में कुछ करने का तरीका जानने का प्रयास किया है जिसके लिए अंतर्निहित सिद्धांत मूलभूत है लेकिन वाक्यविन्यास quirky है। इतना ही नहीं, लेकिन मैंने कई बार सोचा है कि पार्सिंग/बाध्यकारी के कुछ हिस्सों कितने भारी हैं। (मुझे पता है कि यह संकलित है, लेकिन मुझे यकीन नहीं है कि रनटाइम पर अभी भी कितना मूल्यांकन किया जाता है)
एक्सएएमएल दृश्य वृक्ष के निर्माण और लोड करने का एक ही तरीका है। क्या गैर-एक्सएमएल, कोड-आधारित (लेकिन अभी भी काफी हद तक घोषणात्मक) तरीके में दृश्य पेड़ के निर्माण को सरल बनाने के लिए कोई ढांचा है? विशेष रूप से, मैं चौखटे कि निम्न समस्याओं में से किसी भी कम है जबकि एक MVVM दृष्टिकोण को बनाए रखना में दिलचस्पी रखता हूँ:
जोरदार बाध्यकारी टाइप किया है। निर्दिष्ट करें कि ViewModel को एक विशिष्ट प्रकार के अनुरूप होना चाहिए। मुझे लगता है कि बेसबाइंडिंग हुड के नीचे प्रतिबिंब का उपयोग करता है और मैं उस गति की तरह थोड़ा सा संदेह कर रहा हूं, टूटी हुई बाइंडिंग को परेशान करने का उल्लेख नहीं करना।
तेज बाध्यकारी, गैर -
INotifyPropertyChanged
बाइंडिंग। ऐसा लगता है किBindableProperty<T>
के किसी प्रकार की तरह बनाया जा सकता है और बाध्यकारी सभी ViewModel संपत्ति परिवर्तन प्राप्त करने के बजाय सीधे सुन सकता है। और एक स्ट्रिंग तर्क बनाम प्रत्यक्ष कॉलबैक का उपयोग भी फायदेमंद प्रतीत होता है।संसाधन प्रबंधन के लिए एक अलग दृष्टिकोण; फिर, कुछ प्रकार के दृढ़ता से टाइप किए गए शब्दकोश बहुत अच्छे हो सकते हैं। मैं शैलियों को दृढ़ता से टाइप किए गए पहलू को पकड़ने के लिए लैम्बडा या कुछ के रूप में देखना चाहता हूं।
सारांश में, किसी भी चौखटे है कि गैर XAML हैं आधारित, MVVM के साथ अच्छी तरह से फिट है, और दृढ़ता से लिखे जाते हैं?
जावाएफएक्स के साथ एक सप्ताहांत व्यतीत करें और वापस न देखें। – sproketboy