2011-01-08 12 views
7

मैं अपने एप्लिकेशन में से एक को अद्यतन करने रहा हूँ और मैं एक दुविधा है:क्या मुझे अपने ऐप में आईओएस 4 नई सुविधाओं का उपयोग करना चाहिए? और क्यों?

स्थानों में मैं आईओएस 4 अद्वितीय विशेषताएं जोड़ना चाहते थे मैं लेकिन उन्हें केवल समर्थित उपकरणों के लिए लागू करने के लिए कोई विकल्प नहीं था - यहाँ कोई दुविधा।

दुविधा तब होती है जब मेरे पास एक ही प्रभाव को प्राप्त करने के 2 तरीके होते हैं, एक "पुराने तरीके" में से एक और "नए तरीके" में से एक।

[UIView animateWithDuration:2 animations:^{ 
    self.segmentedControl.alpha=0; 
}]; 

कि केवल iOS 4.0 में समर्थन किया जाएगा: एक अच्छा उदाहरण एनीमेशन के लिए ब्लॉकों का उपयोग कर रहा है, मैं इस वाक्य विन्यास का उपयोग कर सकते हैं। या पुराने तरीके का उपयोग करें जो 4 सहित सभी संस्करणों में समर्थित होगा। (कई अन्य समान उदाहरण हैं।)

आप क्या करते हैं और क्यों?

ब्लॉक वास्तव में बहुत अच्छे हैं लेकिन अगर मुझे पिछले संस्करणों का समर्थन करना है तो मुझे और कोड लिखना होगा? मैं उस स्थिति में उनका उपयोग करने से क्या कमाऊं?

+1

आपको अभी कॉल करना होगा कि आईओएस के पुराने संस्करणों का समर्थन करने के लिए यह उचित है या नहीं। आपके कितने ग्राहक अभी भी उन डिवाइसों का उपयोग कर रहे हैं जो आईओएस 4 का समर्थन नहीं करते हैं, और उनके व्यापार को अतिरिक्त कोडिंग प्रयास के सापेक्ष कितना महत्वपूर्ण है? कोई भी आपके लिए इस प्रश्न का उत्तर नहीं दे सकता है। –

उत्तर

9

आम तौर पर, नियम ओएस के निम्नतम संस्करण का समर्थन करना है जो क्षमताओं को प्रदान करता है जो आपको इच्छित उत्पाद वितरित करने में सक्षम बनाता है। मैंने अपने सभी एप्लिकेशन को लॉन्च करने के एक महीने बाद आईफोन ओएस 3.0 की आवश्यकता है क्योंकि मुझे कस्टम कॉपी और पेस्ट, साथ ही इन-एप्लिकेशन ईमेल का समर्थन करने की आवश्यकता है। मेरे अनुप्रयोगों में से एक के मुफ्त संस्करण के लिए, मैं आईएडीएस को आजमाने की कोशिश करता था, इसलिए मैंने केवल 4.0 ही बनाया।

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

मैक पर, कई डेवलपर्स ओएस के वर्तमान संस्करण और ऐप्पल (हिम तेंदुए और तेंदुए, इस समय) द्वारा जारी किए गए पिछले संस्करण के लिए समर्थन बनाए रखते हैं। केवल जब एक नया ओएस बाहर आता है तो वे पहले के पीछे वाले संस्करण के लिए समर्थन छोड़ देते हैं। अन्य, जैसे विल शिपली, वकील नए ओएस पर विशेष रूप से तुरंत और पुराने संस्करणों को अनदेखा करते हुए कूदते हैं। यहां तर्क यह है कि जो लोग ऐप्पल के नए ओएस संस्करणों के लिए भुगतान नहीं करेंगे या जो अपने सिस्टम को अद्यतित नहीं रखते हैं, वे आपके तीसरे पक्ष के आवेदन को खरीदने की संभावना कम हैं।

मैंने इसे आईओएस पर भी देखा है। उदाहरण के लिए, मैंने 3.0 के लॉन्च के आसपास विभिन्न संस्करणों के लिए लक्षित विज्ञापनों का परीक्षण चलाया (जब आईपॉड टच उपयोगकर्ताओं को अभी भी अपने ओएस अपडेट के लिए भुगतान करना पड़ा)। जबकि मेरे आवेदन के एक मुक्त संस्करण के डाउनलोड 2.x बनाम 3.x उपयोगकर्ताओं के बीच तुलनात्मक रूप से सुसंगत थे, जबकि 3.x उपयोगकर्ताओं ने आवेदन के लिए भुगतान किए गए लगभग 2.x उपयोगकर्ता नहीं थे।

कोई भी मेरे भुगतान करने वाले उपयोगकर्ताओं के बीच शुरुआती कदम के बारे में शिकायत नहीं करता है।0 (हालांकि, उन्होंने नई सुविधाओं के बारे में अच्छी तरह से बात की थी), और केवल दो लोगों ने शिकायत की है कि 56,000 की तुलना में, केवल एक समस्या के बिना अपग्रेड किए गए मेरे फ्री संस्करण 4.0-केवल जा रहे हैं। जबकि मैं एक संक्रमण अवधि के लिए थोड़ा समय दूंगा, मैं लॉन्च होने के तुरंत बाद नए ओएस संस्करणों में जाने में विश्वास करता हूं। अभी, मैं केवल 4.0 की सबकुछ बनाने की प्रक्रिया में हूं ताकि मैं कोडबेस का आधुनिकीकरण कर सकूं।

आखिरकार, नए ओएस संस्करण के साथ जाने से आपको एक आखिरी लाभ यह है कि आप ऐप्पल के लिए अधिक आकर्षक बन जाते हैं, जो हमेशा अपने नए उपकरणों और ओएस संस्करणों में नई सुविधाओं का उपयोग करके अनुप्रयोगों को बढ़ावा देना चाहता है।

0

नए एनीमेशन तरीके से आप एक अलग विधि बनाने के बजाय, पूरा करने के लिए ब्लॉक का उपयोग कर सकते हैं, यह बहुत साफ है यदि आपके पास कई एनिमेशन हैं जिन्हें पूरा होने पर कुछ करने की आवश्यकता है। इसके अलावा इसे पढ़ना आसान है, क्योंकि यह इतना फैलता नहीं है। कुछ तकनीकी लाभ होने के बावजूद है लेकिन मुझे चीजों के उस पक्ष के बारे में पता नहीं है।

1

यदि आप अपने सॉफ्टवेयर को बेचने की कोशिश कर रहे हैं, तो हर तरह से आपको ओएस के कई संस्करणों को यथासंभव समर्थन देना चाहिए, और ऐसा करने का सबसे आसान तरीका कोड के एक टुकड़े को लिखना है जो सभी पर चल जाएगा संस्करण - इसलिए, एनीमेशन ब्लॉक की पुरानी शैली का उपयोग करें।

+0

@ जो ब्लो: क्या आप एक ट्रोल हैं? क्योंकि आप निश्चित रूप से वास्तविक सौदे की तरह नहीं लगते हैं। –

+0

जो ब्लो की टिप्पणियां व्यावसायिक निर्णय संदर्भ में समझ में आती हैं। मौजूदा ओएस के लिए आपके अगले महान ऐप विचार पर 10 घंटे खर्च करने की तुलना में पुराने उपकरणों पर 10 घंटे का परीक्षण करने की संभावना अधिक आय पैदा करने की संभावना है? यदि आपके पास शून्य नए ऐप विचार हैं, तो शायद हां। – hotpaw2

+0

@ जो ब्लो: मैं आपको परेशान करना चाहता हूं, लेकिन किसी भी तरह आपका कार्य वास्तव में मनोरंजक है। आपने मुझे अपने स्टैगर्जिंग पर वापस आने के लिए प्रेरित किया है, अमेजिंग न्यू म्यूजिकल आईडीज़ !!!!!!! – MusiGenesis

2

इस ऐप को विकसित करने के लिए आपका लक्ष्य क्या है?

यदि यह राजस्व (या उच्च डाउनलोड गणना से प्रसिद्धि) है, तो विकास (और परीक्षण और क्यूए और समर्थन) लागत के विरुद्ध अतिरिक्त बाजार खंड के आकार और क्रय शक्ति को देखें।

पुराने डिवाइस के मालिक और पुराने ओएस उपयोगकर्ता (1) अल्पसंख्यक हैं (वर्तमान संख्या के लिए विश्लेषिकी की जांच करें, 10% या उससे कम के आदेश पर और ड्रॉप), और (2) वे औसत से बहुत कम ऐप्स खरीदते हैं नवीनतम उपकरणों और ओएस संस्करण वाले लोग। गैर-ब्लॉकबस्टर ऐप्स के लिए, संभावित डाउनलोड का यह छोटा अतिरिक्त प्रतिशत अतिरिक्त डिवाइस परीक्षण और क्यूए समय के लायक नहीं हो सकता है जो इन ग्राहकों को समर्थन देने के लिए आवश्यक है, विकास प्रयास बहुत कम है।

यदि आप दान या सीखने के लिए एक ऐप कर रहे हैं, तो आगे बढ़ें और अपने पुराने डिवाइस के लिए नए ऐप्स पसंद करने वाले 1 व्यक्ति (या अन्य छोटी संख्या) के प्रयासों के अपने घंटों का दान करें। यह एक अच्छा कौशल सेट है यदि आप नवीनतम ओएस रिलीज में कुछ सुपर नई फीचर का उपयोग करने के लिए कूदना चाहते हैं, जैसे कि यह आता है, कुछ हफ्ते पहले उपयोगकर्ता अपने डिवाइस के ओएस को मैच के लिए अपग्रेड करते हैं।

संबंधित मुद्दे