मैं मोनो का उपयोग करके क्रॉस प्लेटफ़ॉर्म विकास भी कर रहा हूं और आपके जैसे और कई अन्य लोगों को उपयोगकर्ता इंटरफ़ेस और अन्य अंतर्निहित हार्डवेयर एकीकरण के संबंध में क्या करना है, इस समस्या का सामना करना पड़ता है।
मैंने फैसला किया कि मैं अभी तक एक और तीसरे पक्ष के ढांचे (मोनो पर्याप्त है) की दया पर नहीं रहना चाहता था और एक ऐसे समाधान के लिए शोध किया जो मैं खुद को बना और बनाए रख सकता था। अभिव्यक्ति मिश्रण के साथ नया एमवीवीएम पैटर्न वास्तव में अच्छा है लेकिन जल्द ही आप क्रॉस प्लेटफ़ॉर्म विकास की बात करते समय खुद को अटक जाते हैं। MVC an MVP पैटर्न मुझे जो भी चाहिए, उसके अनुरूप नहीं लग रहा था। आखिरकार PM पैटर्न पर बस गए और इसे पीएमएच में विस्तारित किया जहां एच हार्डवेयर के लिए है। मुझे जो चाहिए वह प्राप्त करने के लिए मुझे प्रत्येक डिवाइस प्रकार के लिए मूलभूत विजेट (बटन, पैनल, टेक्स्टबॉक्स) को अंतर्निहित प्लेटफ़ॉर्म परत में सार करना था। मेरी प्लेटफार्म परत मेरे कोड बेस के लगभग 1% का प्रतिनिधित्व करती है और मुझे प्रत्येक डिवाइस के लिए एप्लिकेशन को त्वचा की अनुमति देता है जिसे मैं लक्षित करता हूं।
मेरे WP7 समाधान के लिए मैं केवल 25 लाइनों के लिए किसी भी HTML का उपयोग करता हूं जो एप्लिकेशन और मुख्य पृष्ठ को प्रारंभ करने के लिए पर्याप्त है। बाकी यूजर इंटरफेस प्रोग्रामेटिक रूप से एक साथ रखा जाता है जैसे मैं WinForms में करता हूं। WP7 पर मैं अभी भी पिवट नियंत्रण का उपयोग करता हूं क्योंकि यह वास्तव में सुंदर ग्रोवी है और एंड्रॉइड/आईफोन पर उपयोग के लिए समान नियंत्रण मॉडलिंग कर रहा हूं। हालांकि यह 100% समान नहीं होगा, यह बहुत ही समान होगा और अभी भी मेरे कोर कोड के भीतर एक ही नेविगेशन इंजन का उपयोग करेगा।
मैं अभी तक अपने विकास के साथ पूरा नहीं हूं लेकिन अब तक मैं अपनी प्रगति से बहुत खुश हूं। मैं कुछ 20 सालों से विंडोज़ एप्लीकेशन के लिए यूजर इंटरफेस विकसित कर रहा हूं और मैं कभी भी इंटरफ़ेस बिल्डर टूल का उपयोग नहीं करता क्योंकि मुझे लगता है कि वे मुझे जो भी चाहते हैं उसे कभी नहीं देते हैं और वास्तव में मेरा समय बर्बाद करते हैं (मिश्रण हालांकि बहुत अच्छा है) और एक जबरदस्त कोड ब्लोट भी बनाते हैं विशेष रूप से मिश्रण में।
स्रोत
2012-02-15 01:39:04