आपको अपने iOS ऐप्स बनाने के लिए मैक की आवश्यकता हो सकती है, लेकिन अगर आप ग्रीन एलियन (एंड्रॉयड) टाइप के व्यक्ति हैं, तो एंड्रॉयड IDE (इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) OS X पर भी उपलब्ध है (अन्य प्लेटफॉर्म के साथ)।
एंड्रॉयड के साथ क्यों परेशान हों?
अगर आप OS X और iOS डेवलपमेंट में पारंगत हैं, तो आप खुद से पूछ रहे होंगे कि एंड्रॉयड के साथ क्यों परेशान हों?
कई iOS डेवलपर्स डिवाइस फ्रैगमेंटेशन और OS के विभिन्न वर्जन्स के लिए ऐप्स को पैच/रीक्रिएट करने की आवश्यकता के कारण एंड्रॉयड से दूर रहते हैं — जिनमें से कई हैं। मैं आपको यह बताने की कोशिश नहीं करूंगा कि दोनों में से कौन बेहतर है, क्योंकि दोनों डेवलपर्स के लिए कई लाभ प्रदान करते हैं, लेकिन मैं कहूंगा कि ऐप क्रिएटर्स के लिए जो अपने ऐप्स से जीविका कमाना चाहते हैं, डिवाइसेज के बीच किसी तरह का संतुलन खोजना कभी बुरा विचार नहीं है।
इसके अलावा, आप पाएंगे कि एंड्रॉयड के साथ समग्र अनुभव कहीं कम प्रतिबंधात्मक है। एक बात तो यह है कि गूगल प्ले (एंड्रॉयड का ऐप स्टोर) में एप्पल जैसी कई पाबंदियां नहीं हैं, न ही इसके लिए डेवलपर्स को $99 वार्षिक शुल्क देना पड़ता है (गूगल पर यह $25 है)। गूगल आपको एंड्रॉयड के आंतरिक कामकाज तक पहुंच प्रदान करता है (ओपन सोर्स मॉडल के माध्यम से) जो आपको एमुलेटर, बूट लोडर, और कस्टमाइज्ड डॉक, आइकन, स्टार्ट स्क्रीन बनाने की अनुमति देता है — आप जो चाहें — जो iOS के साथ संभव नहीं है।
अगर आप सख्ती से रेवेन्यू नंबर्स देख रहे हैं, तो एप्पल का ऐप स्टोर अभी भी आपका प्राथमिक लक्ष्य होगा। जबकि गूगल प्ले पर ऐप स्टोर की तुलना में 60-प्रतिशत अधिक वार्षिक डाउनलोड हैं, एप्पल का ऐप स्टोर वास्तव में 70-प्रतिशत अधिक वार्षिक ऐप रेवेन्यू के लिए जिम्मेदार है। यह नहीं कह रहा कि आप एंड्रॉयड पर लाभदायक नहीं हो सकते, या आपको प्लेटफॉर्म से पूरी तरह बचना चाहिए, बिल्कुल इसके विपरीत।
जहां ऐप्स का ऐप स्टोर में रेवेन्यू नंबर अधिक हो सकता है, डाउनलोड नंबर गूगल प्ले के साथ काफी अधिक हैं, जो इसे एक फ्री ऐप के टेस्टिंग और ट्यूनिंग के लिए एक दिलचस्प प्लेटफॉर्म बनाता है, इससे पहले कि आप प्रीमियम या फ्रीमियम वर्जन लॉन्च करें।
ADT के साथ एक्लिप्स या एंड्रॉयड स्टूडियो?
पुराने दिनों में, आपके पास ADT (एंड्रॉयड डेवलपर टूल्स) प्लगइन की विशेषता वाला बंडल पैकेज एक्लिप्स, या आधिकारिक एंड्रॉयड स्टूडियो के बीच भ्रमित करने वाला विकल्प था, जो इंटेलीजे प्लेटफॉर्म पर आधारित था - एक जावा-आधारित IDE।
सौभाग्य से, हाल के पुनरावृत्तियों ने प्रक्रिया को केवल एक रिलीज के साथ थोड़ा सुव्यवस्थित किया है, जिसे एंड्रॉयड स्टूडियो कहा जाता है।
वास्तव में, जबकि एक्लिप्स का उपयोग करने का विकल्प अभी भी मौजूद है, गूगल आधिकारिक तौर पर आपको एंड्रॉयड स्टूडियो में माइग्रेशन प्रक्रिया शुरू करने की सिफारिश कर रहा है क्योंकि ADT के लिए समर्थन समाप्त हो रहा है। यदि आपको अपने प्रोजेक्ट्स माइग्रेट करने में सहायता की आवश्यकता है, तो यह एंड्रॉयड डेवलपर्स ब्लॉग पोस्ट आपकी मदद करेगा।
अब, यदि आप केवल एंड्रॉयड स्टूडियो के साथ बंडल किए गए एमुलेटर की तलाश में हैं, तो यह ध्यान रखना महत्वपूर्ण है कि आपके विंडोज, OS X, या लिनक्स-आधारित पीसी पर ऐसा करने के अन्य, अधिक हल्के तरीके हैं, बिना भारी एंड्रॉयड स्टूडियो डाउनलोड और इंस्टॉल की आवश्यकता के। मैक पर, ब्लूस्टैक्स आज़माएं, या आप बस अपने विंडोज पीसी पर एंड्रॉयड डाउनलोड और चला सकते हैं। यदि आप अल्ट्रा-लाइटवेट एंड्रॉयड एमुलेशन की तलाश में हैं, तो क्रोम के लिए इस ब्राउज़र एमुलेटर को आज़माएं।
एंड्रॉयड स्टूडियो के साथ शुरू करें
पहले हमें एंड्रॉयड स्टूडियो डाउनलोड और इंस्टॉल करना होगा, एक पैकेज जिसमें शामिल हैं:
- एंड्रॉयड स्टूडियो IDE
- एंड्रॉयड SDK (सॉफ्टवेयर डेवलपमेंट किट)
- एंड्रॉयड 5.0 (लॉलीपॉप) प्लेटफॉर्म
- गूगल APIs के साथ एंड्रॉयड 5.0 एमुलेटर सिस्टम इमेज
शुरू करते हैं।
.dmg फ़ाइल लॉन्च करें, और एंड्रॉयड स्टूडियो को एप्लिकेशन फोल्डर में ड्रैग करें।
एंड्रॉयड स्टूडियो खोलें और सेटअप विजार्ड द्वारा दिए गए चरणों का पालन करें। कभी-कभी, आपको एक एरर मिलेगी जिसमें कहा जाएगा कि फ़ाइल "क्षतिग्रस्त" है या अविश्वसनीय है और इसे ट्रैश में ले जाया जाना चाहिए। अगर ऐसा होता है, तो आपको बस अपनी सिक्योरिटी और प्राइवेसी सेटिंग्स को एडजस्ट करना होगा ताकि एप्लिकेशन चल सके, इसके लिए जाएं सिस्टम प्रेफरेंसेज > सिक्योरिटी एंड प्राइवेसी > जनरल और फिर "अलाउ ऐप्स डाउनलोडेड फ्रॉम:" जहां लिखा हो वहां एनीव्हेयर चुनें।
अगर आपको कमांड लाइन से एंड्रॉयड SDK टूल्स का उपयोग करने की आवश्यकता है, तो आप टर्मिनल खोलकर (एप्लिकेशन > यूटिलिटीज > टर्मिनल) और निम्नलिखित का उपयोग करके उन तक पहुंच सकते हैं:
/Users/username/Library/Android/sdk/
बस अपने यूजरनेम को
username
के स्थान पर रखना याद रखें।
SDK पैकेज जोड़ें
एंड्रॉयड SDK (सॉफ्टवेयर डेवलपमेंट किट), जो एंड्रॉयड स्टूडियो पैकेज के साथ आता है, इसमें वह सब कुछ शामिल नहीं है जो आपको एंड्रॉयड ऐप्स विकसित करना शुरू करने के लिए चाहिए। SDK स्वयं एक उपयोगिता है जिसका उपयोग आपके टूल्स, प्लेटफॉर्म और घटकों को एंड्रॉयड SDK मैनेजर का उपयोग करके पैकेज में अलग करने के लिए किया जाता है।
तो, हमें डेवलपमेंट के लिए सब कुछ तैयार करने के लिए कुछ पैकेज जोड़ने होंगे। चिंता न करें, यह एक सरल प्रक्रिया है।
पहले टूल्स > कॉन्फिगर > SDK मैनेजर के तहत SDK मैनेजर खोलें।
नोट: यहां से, इसे संक्षिप्त रखने के लिए, हम यह मानने जा रहे हैं कि अगर मैं किसी चीज का विशेष रूप से उल्लेख नहीं करता, तो इसका मतलब दो चीजों में से एक है:
- यह प्री-सेलेक्टेड है और यह हमारे काम खत्म करने के बाद अपने आप इंस्टॉल हो जाएगा।
- आपको इसकी आवश्यकता नहीं है... कम से कम अभी तो नहीं।
ठीक है, जारी रखते हैं। निम्नलिखित चुनें:
- एंड्रॉयड SDK टूल्स
- एंड्रॉयड SDK प्लेटफॉर्म-टूल्स
- एंड्रॉयड SDK बिल्ड-टूल्स (उच्चतम संस्करण)
सूची में एंड्रॉयड के उच्चतम संस्करण के लिए फोल्डर खोलें (5.1.1 इस लेखन के समय) और चुनें:
- SDK प्लेटफॉर्म
- ARM EABI v7a सिस्टम इमेज
एक्स्ट्रा डायरेक्टरी खोलें और एंड्रॉयड सपोर्ट लाइब्रेरी के लिए निम्नलिखित APIs डाउनलोड करें:
- एंड्रॉयड सपोर्ट रिपॉजिटरी
- एंड्रॉयड सपोर्ट लाइब्रेरी
एक्स्ट्रा डायरेक्टरी खोलें और और भी अधिक APIs के लिए गूगल प्ले सर्विसेज पैकेज डाउनलोड करें। जोड़ें:
- गूगल रिपॉजिटरी
- गूगल प्ले सर्विसेज
पैकेज इंस्टॉल करें
- इंस्टॉल 22 पैकेजेस पर क्लिक करें (या जितने भी SDK मैनेजर रिपोर्ट करे)।
- लाइसेंस शर्तों को स्वीकार करने के लिए बाईं ओर प्रत्येक पैकेज नाम पर क्लिक करें।
- इंस्टॉल. पर क्लिक करें।
नोट: इंस्टॉल पूरा होने तक SDK मैनेजर से बाहर न निकलें!
एक बार इंस्टॉल पूरा हो जाने पर, आप सीधे गोता लगा सकते हैं और डेवलप करना शुरू कर सकते हैं और यहां तक कि अपने भरोसेमंद मैक (या हैकिंटोश) पर OS X चलाकर एंड्रॉयड ऐप्स को वहीं से चला सकते हैं।
iOS ऐप्स को एंड्रॉयड पर पोर्ट करना
दोनों ऑपरेटिंग सिस्टम में समानता की कमी के कारण, दूसरे OS से ऐप्स पोर्ट करने के लिए कोई प्लग एंड प्ले समाधान नहीं है।
हालांकि, एक प्रोग्राम है जिसे अपोर्टेबल कहा जाता है, मुझे लगा कि यह इंगित करने लायक है। अपोर्टेबल अनिवार्य रूप से स्विफ्ट और ऑब्जेक्टिव-सी को ARM और x86 मशीन कोड में ट्रांसलेट करता है जिसे एंड्रॉयड समझ सकता है। आपको आगे के प्लगइन्स भी मिलेंगे जो आपके डेवलपमेंट लोड को और हल्का करते हैं, जैसे स्प्राइटबिल्डर प्लगइन। उस ने कहा, सभी एप्पल APIs अपोर्टेबल पर उपलब्ध नहीं हैं, इसलिए जबकि यह हमारे पास सबसे अच्छा है, यह अभी भी एक प्लग एंड प्ले समाधान नहीं है।
अपोर्टेबल के मुख्य लाभ तेज क्रॉस-कंपाइलिंग में हैं, बिना एमुलेटर, वर्चुअल मशीन या जावा-प्रोग्राम्ड विकल्प की आवश्यकता के। जबकि जावा मोबाइल ऐप्स में बेहतरीन क्रॉस-कंपैटिबिलिटी के लिए बनाता है, यह iOS और एंड्रॉयड दोनों संस्करणों को, ठीक है, नेटिव महसूस नहीं कराता। वास्तव में, अधिकांश दूसरे OS से सस्ते पोर्ट की तरह महसूस होते हैं।
फिर से, यह एक सही समाधान नहीं है, लेकिन अगर आपको एंड्रॉयड और iOS के बीच आगे-पीछे जाना है तो यह आपके वर्कलोड को काफी हल्का कर देगा।
हैप्पी डेवलपिंग, और यहां मेक यूज ऑफ पर हमारे साथ जो आप लेकर आते हैं उसे साझा करना सुनिश्चित करें।
क्या आपने iOS या एंड्रॉयड ऐप विकसित किया है? आपका मानना है कि कौन सा प्लेटफॉर्म डेवलपर्स के लिए सर्वोत्तम टूल प्रदान करता है?