मैं एक ही ऐप में विंडोज 10 यूडब्ल्यूपी और विंडोज फोन 8.1 दोनों को कैसे लक्षित कर सकता हूं?


18

पृष्ठभूमि

एक डेवलपर के दृष्टिकोण से, विंडोज 10 का मुख्य विक्रय बिंदु इसका नया यूनिवर्सल * विंडोज प्लेटफॉर्म (यूडब्ल्यूपी) है

* जहां "यूनिवर्सल" का वास्तव में मतलब है "विंडोज 10 को चलाने वाले सभी उपकरणों के लिए सार्वभौमिक", और न कि "उन उपकरणों के लिए सार्वभौमिक जो न केवल विंडोज 10 चलाते हैं, बल्कि विंडोज 8.1 और शायद विंडोज 7 भी हैं। इसलिए यदि आप एक UWP ऐप बना रहे हैं, तो आप वास्तव में सिर्फ "विंडोज 10 ऐप" बना रहे हैं। UWP ऐप्स विंडोज 8.1 और विंडोज फोन 8.1 डिवाइस पर भी नहीं चलेंगे, यानी वे बिल्कुल भी पीछे नहीं हैं।

Q3 2015 तक, विंडोज 10 पीसी और के लिए उपलब्ध है आईओटी उपकरणों के है । यह कम से कम एक और कुछ महीने पहले होगा विंडोज 10 मोबाइल जनता के लिए जारी किया गया है, लेकिन शायद एक वर्ष से अधिक नहीं। इसका मतलब है कि विंडोज फोन 8.1 कुछ समय के लिए आसपास रहेगा।

सवाल

मैं एक विंडोज फोन ऐप विकसित करना शुरू करने वाला हूं, और मैं इसे अगले महीने के भीतर प्रकाशित करने की योजना बना रहा हूं। चूंकि विंडोज 10 मोबाइल जल्द ही किसी भी समय नहीं आ रहा है, दुनिया भर के उपकरणों को अपग्रेड होने दें, मुझे अभी के लिए विंडोज फोन 8.1 को लक्षित करना होगा। हालांकि, बाद से यह नहीं होगा कि लंबे समय से पहले Windows 10 मोबाइल रोल बाहर, मैं सोच रहा हूँ अगर यह बुद्धिमान 10 UWP Windows के लिए तैनाती के लिए मेरी समाधान तैयार करने के लिए होगा और साथ ही (जो भी मुझे करने की अनुमति देगा विंडोज फोन 8.1 जब तक मुझे ज़रूरत है 8.1 तक समर्थन जारी रखें)।

मैं देखता हूं कि मैं एक ही समाधान में एक UWP परियोजना और एक 8.1 परियोजना को समूहित कर सकता हूं, और एक साझा परियोजना के माध्यम से स्रोत फ़ाइलों और परिसंपत्तियों को साझा कर सकता हूं जैसा कि विजुअल स्टूडियो में विंडोज 8.1 यूनिवर्सल टेम्पलेट के साथ किया गया है। क्या मैं सही रास्ते पर हूं? यदि ऐसा है, तो क्या कोई अतिरिक्त दिशा-निर्देश है जो मुझे सुनिश्चित करने के लिए पालन करना चाहिए (एक्सएएमएल सहित, जैसा कि आदर्श रूप में मैं दोनों प्लेटफार्मों पर समान या कम से कम समान यूआई होना चाहूंगा) वास्तव में किसी भी असंगति के लिए दोनों प्लेटफार्मों पर सही ढंग से काम करता है?

वैकल्पिक रूप से, मैं अभी के लिए विंडोज 10 मोबाइल के बारे में चिंता नहीं कर सकता और 8.1 परियोजना के साथ शुरू कर सकता हूं, और इसे बाद में यूडब्ल्यूपी पर माइग्रेट कर सकता हूं, लेकिन मुझे अभी भी अपने ऐप के दोनों संस्करणों को बनाए रखना होगा क्योंकि मैं 8.1 पर योजना नहीं बनाता हूं। उपयोगकर्ताओं को तुरंत। मैं अभी भी इस मामले में सुविधा / XAML समता के बारे में चिंता करना होगा।


3
एक अद्यतन के रूप में, मैंने आगे बढ़कर एक साझा परियोजना, एक UWP परियोजना और एक WP8.1 परियोजना से मिलकर एक समाधान तैयार किया। मैं बाद में इसका उत्तर विस्तार से दूंगा, एक बार मुझे यकीन है कि मुझे पता है कि मैं क्या कर रहा हूं ...
BoltClock

कोई भी अपडेट जिसे आप इस विशेष विषय पर अपनी खोजों के बारे में साझा करना चाहते हैं? मुझे वास्तव में यह जानने में दिलचस्पी है कि यह दृष्टिकोण आपके लिए कैसे काम कर रहा है।
नेल्सन रीस

3
@ नेल्सन रीस: मैं अपने ऐप को WP8.1 के लिए शिपिंग पर काम कर रहा हूं (जो बहुत अच्छा है!), इसलिए मैंने अभी तक यूडब्ल्यूपी ऐप पर काम शुरू नहीं किया है। लेकिन मैं जल्द ही। अब तक, WP8.1 ओर चीजें बहुत अच्छी तरह से काम कर रही हैं।
बोल्टब्लॉक

मुझे सिर्फ अपडेट में दिलचस्पी है। WP8.1 और UWP का विकास कैसे हुआ? (मेरे पास कम से कम 50 अंक हैं, इसलिए मैं टिप्पणी नहीं कर सकता) इसका कारण यह है कि मैं एक क्रॉस-प्लेटफ़ॉर्म ऐप विकसित करना शुरू कर रहा हूं, और मैं वर्तमान में निर्णय ले रहा हूं कि किन तकनीकों का उपयोग करना है। ( प्रोग्रामर्स.स्टैकएक्सचेंज.
com

2
अरे, मुझे खेद है कि यह इतना लंबा समय ले रहा है। मेरे UWP ऐप पर विकास साथ आ रहा है इसलिए मुझे अगले कुछ हफ्तों में कुछ साझा करना होगा।
बोल्टलोक

जवाबों:


2

जैसा कि आप अपनी टिप्पणियों में कहते हैं कि इस बारे में जाने का सबसे अच्छा तरीका एक साझा परियोजना का उपयोग करके और इसमें कई सिर जोड़ना है। आपके मामले में एक विंडोज़ फोन 8.1 सिर और एक uwp सिर है। यह स्थिति जेवी निक्सन और एंडी विगली द्वारा एक एमवीए में भी व्यक्त की गई थी (मुझे लगता है कि यह यह है, लेकिन इसके बाद से इसे अपडेट किया गया है), अनुभाग में 8.1 एप्लिकेशन को uwp में पोर्ट करने के बारे में।

अपने साझा प्रोजेक्ट में आपको uwp और फोन 8.1 में चलने वाले कोड के बीच अंतर करने के लिए सशर्त संकलन निर्देशों का उपयोग करना पड़ सकता है। (जैसे यूनिवर्सल विंडोज 8.1 / फोन 8.1 एप्स बनाते समय)


1

यह निर्भर करता है कि आपके ऐप के लिए Windows की सुविधा कितनी विशिष्ट है, आप Xamarin जैसे प्लेटफ़ॉर्म के साथ जा सकते हैं, जो आपको न केवल विंडोज़ के लिए, बल्कि iOS और Android के लिए भी एक ही कोडबेस में लिखने की अनुमति देगा।


1

मेरे अनुभव से जैसा कि: यह कुछ सहायकों / तर्क / आदि को पीसीएल पुस्तकालयों में रखने के लायक है। फिर आप दो प्रोजेक्ट (क्रमशः UWP और WP8 के लिए) बना सकते हैं जो शून्य परिवर्तन के साथ पीसीएल का उपयोग कर सकते हैं। इसके अलावा, आप सेवाओं, दृश्य मॉडल और मॉडल साझा कर सकते हैं (बहुत कम #if सशर्त संकलन लाइनों के साथ)।

केवल एक चीज जो साझा करने लायक नहीं है, वह है यूआई-संबंधी कर्मचारी क्योंकि बहुत सारी चीजों को स्विच / वातानुकूलित किया जाना है (इसलिए यूडब्ल्यूपी और डब्ल्यूपी 8 में से प्रत्येक के लिए अलग-अलग लेआउट तैयार करना बहुत आसान है, भले ही वे व्यावहारिक रूप से समान हों)।

PS I ने UWP और WP8.1 सिल्वरलाइट के लिए ऐसा किया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.