पिछले साल के अंत में, मुझे व्यक्तिगत उपयोग के लिए ब्लैकबेरी 10 अल्फा, एक प्रोटोटाइप मिला, फिर अभी तक जारी नहीं किया गया, Z10। स्वाभाविक रूप से, मुझे नए मंच के लिए कुछ लिखने की इच्छा थी, जितना अधिक यह बहुत दिलचस्प लग रहा था।
अब एप्लिकेशन तैयार है, और मैं एंड्रॉइड / आईओएस के साथ तुलना में अपने विकास के अनुभव को साझा कर सकता हूं।
आईडीई
यह ब्लैकबेरी के एक्सटेंशन के एक सेट के साथ एक परिचित ग्रहण है। प्लस - आपको फिर से कुछ भी सीखने की ज़रूरत नहीं है, पर्यावरण परिचित है, माइनस - आईडीई केवल एक सेट के रूप में दिया जाता है, और एक्सटेंशन के एक सेट के रूप में नहीं, प्रत्येक विक्रेता के लिए एक मशीन पर कई ग्रहण रखने के लिए यह थोड़ा असुविधाजनक है। हालांकि, यह सब केवल नए
कैस्केड ढांचे पर मूल अनुप्रयोगों के विकास पर लागू होता है, एंड्रॉइड / एआईआर डेवलपर्स सामान्य टूल को नहीं छोड़ सकते हैं।
कैस्केड sdk
संक्षेप में, यह Qt4 + QML है, और यदि Qt4 के साथ सब कुछ सरल है, तो QML में ब्लैकबेरी यूआई घटकों द्वारा मानक तत्वों को प्रतिस्थापित किया जाता है, केवल सिंटैक्स रहता है। इसमें एक प्लस है - सभी कार्यक्रम समान व्यवहार करेंगे, लेकिन एक माइनस भी है - कार्यक्षमता और लचीलेपन के मामले में, नए घटक नियमित रूप से अवर हैं, खासकर लेआउट सुविधा और "लचीले" लेआउट के संदर्भ में। लेआउट के लिए उपयोग करना आम तौर पर थोड़ा मुश्किल था, विशेष रूप से इस तथ्य के लिए कि मार्जिन और पैडिंग गुण, हालांकि सभी तत्वों में मौजूद हैं, हमेशा परिणाम को प्रभावित नहीं करते हैं (यह कंटेनर में निहित झूठ - नियंत्रण, या किसी अन्य कंटेनर पर निर्भर करता है) ।
मूल निवासी sdk
यह एक शुद्ध रूप से सी एपीआई है और ऑब्जेक्ट क्यूटी कोड के बगल में यह विदेशी दिखता है। आप इसके बिना पूरी तरह से नहीं कर सकते हैं (उदाहरण के लिए, यदि आपको ब्लूटूथ की आवश्यकता है), लेकिन उदाहरणों में तैयार किए गए आवरण हैं जो आप ले सकते हैं ताकि आप अपना खुद का न लिख सकें।
मौजूदा समस्याएं
- क्यूएमएल संपादक हार्डवेयर त्वरण पर निर्भर करता है और हमेशा लॉन्च नहीं होता है और हमेशा नहीं, मेरे लिए, उदाहरण के लिए, एसडीके v10.0 के साथ काम किया, लेकिन बीटा 10.1 में बंद हो गया। आप पूर्वावलोकन के बिना काम कर सकते हैं, लेकिन इसमें अधिक समय लगता है। विभिन्न स्क्रीन रिज़ॉल्यूशन और ओरिएंटेशन के लिए कोई पूर्वावलोकन तंत्र नहीं है, जैसा कि एंड्रॉइड में भी है, आपको डिवाइस पर सब कुछ जांचना होगा।
- सिम्युलेटर बेहद धीमी गति से काम करता है, गति में यह न केवल आईओएस सिम्युलेटर तक पहुंचता है, बल्कि एक पूर्ण एंड्रॉइड एमुलेटर भी है। इसके अलावा, चूंकि सिम्युलेटर में एआरएम से एक अलग वास्तुकला है, इसलिए इसके लिए आवेदन को अलग से संकलित किया जाना चाहिए, शुरू करने से पहले, बिल्ड लक्ष्य को स्विच करें।
- विकास मोड को सक्रिय करने के लिए, डिवाइस पर एक पासवर्ड डालना आवश्यक है, कम से कम छह वर्ण जो एक पंक्ति में नहीं हैं, यह पासवर्ड डिवाइस के लंबे डाउनटाइम के बाद हर बार दर्ज किया जाना चाहिए, साथ ही हर बार जब आप डिबगिंग के लिए कंप्यूटर से कनेक्ट होते हैं। रिबूट के बाद विकास मोड को बंद कर दिया जाता है, और इसे फिर से चालू किया जाना चाहिए।
- डिबग मोड में अनुप्रयोगों के लिए बनाया गया प्रमाण पत्र केवल कुछ हफ़्ते के लिए जारी किया जाता है, फिर आपको इसे फिर से बनाना होगा, यह मुश्किल नहीं है, लेकिन फिर से समय लगता है।
- एसडीके और एपीआई सक्रिय रूप से विकसित और अद्यतन किए जाते हैं, परिणामस्वरूप, कुछ उदाहरण (आधिकारिक साइट सहित) सही ढंग से काम नहीं करते हैं, अप्रासंगिकता के कारण।
- Cascades के लिए अपने फोंट अपलोड करने का कोई सामान्य तरीका नहीं है।
- मल्टीपल कॉन्फ़िगरेशन सपोर्ट मैकेनिज्म एंड्रॉइड के लिए हीन है। इस तथ्य के बावजूद कि केवल तीन रिज़ॉल्यूशन विकल्प हैं (देव अल्फा के लिए यह z10 के लिए समान नहीं है), यह नुकसान पहले से ही महसूस किया गया है।
- सी ++। मैं वास्तव में इस भाषा को पसंद करता हूं, लेकिन सी # / जावा के बाद, एक गलत बिंदु के कारण संकलक त्रुटियों की हर धारा एक स्तब्धता का कारण बनती है।
- StackOverflow पर नए प्लेटफॉर्म पर अभी भी बहुत कम सवाल हैं।
आकर्षण आते हैं
- डेवलपर्स के लिए वेबसाइट । यह बहुत सुविधाजनक है, इसमें एपीआई पर बहुत सारी जानकारी शामिल है, और गीथहब पर सभी अवसरों के उदाहरणों के साथ एक समृद्ध रैप है । इसके अलावा, उदाहरण पूर्ण-विकसित परीक्षण कार्यक्रम हैं जिनसे आप कोड ले सकते हैं और इसे स्थानीय रूप से संसाधित कर सकते हैं। प्रत्येक विषय के लिए, छोटे लेखों की एक श्रृंखला होती है जो आपको दूर-दूर के दस्तावेज़ों का अध्ययन किए बिना जल्दी से विकास शुरू करने की अनुमति देती है।
- क्यूटी। उत्कृष्ट प्रलेखन, एक ठोस समुदाय और तैयार समाधानों के डेटाबेस के साथ सबसे अच्छा क्रॉस-प्लेटफॉर्म फ्रेमवर्क में से एक।
- देशी निर्यात तंत्र आपको एक नंबर के साथ एक आवेदन पर हस्ताक्षर करने की अनुमति नहीं देता है जो पहले ही एक बार हस्ताक्षरित हो चुका है। अब असेंबली नहीं होगी जो गलती से संस्करण संख्या को बदलना भूल गए थे।
- ब्लैकबेरी 10 एक काफी खुला (एपीआई के संदर्भ में) प्लेटफॉर्म है। बहुत कुछ डेवलपर के लिए उपलब्ध है, लेकिन एक "अनुमति" तंत्र भी है जो प्रोग्राम को उपयोगकर्ता की अनुमति के बिना महत्वपूर्ण सबसिस्टम या डेटा तक पहुंचने की अनुमति नहीं देता है।
- एंड्रॉइड में इंटेंट्स के समान प्रोग्राम इंटरैक्शन के लिए एक नियमित तंत्र है। सत्ता में यह उत्तरार्द्ध से थोड़ा कम है, लेकिन सबसे आम कार्यों के लिए यह सिर के साथ पर्याप्त है।
- Android से आसान पोर्टिंग। मैंने आधे घंटे में एक भी त्रुटि के बिना दो अनुप्रयोगों का अनुवाद किया। यह एक शानदार परिणाम है। बेशक, केवल एंड्रॉइड 2.3 का समर्थन किया जाता है और प्राप्त पोर्ट मूल नहीं लगते हैं (लेकिन यदि आप उपयोगकर्ताओं का ध्यान रखते हैं तो इसे ठीक किया जा सकता है)। पोर्ट करने से पहले सूचनाओं को अक्षम करना केवल आवश्यक है, क्योंकि ब्लैकबेरी 10 में कोई समान तंत्र नहीं है, और उपयोगकर्ता को परेशान करते हुए संदेश हब में प्रवाहित किए जाएंगे।
- J2ME, AIR, HTML5 के लिए समर्थन
बाजार
स्टोर बिल्कुल भी नहीं बदला है और जैसा कि पुराने J2ME ब्लैकबेरी उपकरणों के दौरान था, वैसा ही दिखता है। डेवलपर्स के लिए एक उत्कृष्ट साइट की पृष्ठभूमि के खिलाफ, वह बास्केटबॉल कोर्ट पर पेंशनर है। उपयोगकर्ता की सुविधा भी औसत से नीचे है। यह सब बंद करने के लिए, मेरा पहला आवेदन दो सप्ताह से अधिक समय से "लंबित" है (एक शब्द जो आईओएस प्रोग्रामर पहले से ही परेशान हैं)।
संक्षेप में, मैं कहूंगा कि मंच के युवाओं और कई स्पष्ट कमियों के बावजूद, यह एक अच्छी धारणा बनाता है, दोनों डिवाइस द्वारा और डेवलपर के मुख्य टूल द्वारा। इसके अलावा, इन उपकरणों की सूची नियमित रूप से विस्तारित हो रही है, और वे स्वयं अपडेट हैं। उदाहरण के लिए, PSD ग्राफिक्स के लिए
एक्सपोर्टर हाल ही में जारी किया गया था,
दृश्य स्टूडियो के लिए एक
प्लग-इन विकास के अधीन है।