
यह छद्म नाम सौजन्य पीएस के तहत मूल ब्लॉगर लेख का अनुवाद है। वह अपने क्षेत्र में एक पेशेवर हैं और न केवल अनुप्रयोगों और सेवाओं को विकसित करना पसंद करती हैं, बल्कि इसके बारे में लेख भी लिखती हैं। यहां रिएक्ट नेटिव फ्रेमवर्क का उपयोग करके एक iOS एप्लिकेशन लॉन्च करने की उसकी समीक्षा है।
इतना समय पहले नहीं, मैंने iOS ऐप्स के लिए रिएक्ट नेटिव का उपयोग करना शुरू किया। यह एक मूल अनुप्रयोग विकास वातावरण में मेरा पहला गहरा गोता है। मैं ध्यान देता हूं कि मुझे पूरी प्रक्रिया में आसानी हुई, साथ ही साथ एब्सट्रैक्शन का स्तर जो रिएक्ट नेटिव कमांड-लाइन इंटरफ़ेस प्रदान करता है। दरअसल, यह उन कारकों में से एक था जिसने मुझे इस ढांचे के बारे में लिखने के लिए प्रेरित किया। मैं अपना खुद का अनुभव उन लोगों के साथ साझा करना चाहूंगा जिन्होंने अभी-अभी उसके साथ काम करना शुरू किया है।
स्किलबॉक्स अनुशंसा करता है: "मोबाइल डेवलपर प्रो । "
हम आपको याद दिलाते हैं: "हैबर" के सभी पाठकों के लिए - "हैबर" प्रोमो कोड का उपयोग करके किसी भी स्किलबॉक्स कोर्स के लिए पंजीकरण करते समय 10,000 रूबल की छूट।
रिएक्ट नेटिव इम्यूलेटर और डिवाइस पर iOS और Android एप्लिकेशन चलाने के लिए कमांड लाइन टूल प्रदान करता है। आइए समझने की कोशिश करें कि आईओएस के लिए एक रिएक्टिव नेटिव एप्लिकेशन को तैनात करने के लिए क्या और कैसे करना है।
वास्तव में लॉन्च
प्रतिक्रिया मूल निवासी एक उत्कृष्ट उपयोगिता प्रदान करता है जिसे इनिट कहा जाता है। यह एक एप्लीकेशन टेम्प्लेट प्रदान करता है, जबकि इस एप्लिकेशन के iOS फ़ोल्डर में प्रासंगिक Xcode प्रोजेक्ट फाइलें बनाता है।
यह, बदले में, आईओएस एमुलेटर वातावरण और फोन / टैबलेट में, एप्लिकेशन के रूट फोल्डर में निम्नलिखित कमांड दर्ज करके लॉन्च किया जा सकता है:
प्रतिक्रिया-देशी रन-आईओएसकमांड का सफल निष्पादन एमुलेटर या डिवाइस में एप्लिकेशन के लॉन्च के साथ होता है। हम आपको बताते हैं कि इसके लिए क्या करने की जरूरत है।
रन-आईओएस कमांड
रिएक्ट नेटिव डेवलपर को एप्लिकेशन के साथ बातचीत करने के लिए कई कमांड लाइन उपयोगिताओं के साथ प्रदान करता है। वे रिएक्ट नेटिव मॉड्यूल नोड्स के स्थानीय-क्ली फ़ोल्डर में स्थित हैं। RunI -OS उन उपयोगिताओं में से एक है जो runIOS.js फ़ाइल में परिभाषित रनआईओएस () फ़ंक्शन को चलाता है।
रन-आईओएस आपको निम्नलिखित विकल्पों का उपयोग करने की अनुमति देता है:
# एक विशिष्ट सिम्युलेटर पर एप्लिकेशन का चयन करें
प्रतिक्रिया-देशी रन-आईओएस -सिमुलेटर "iPhone 5"
# IOS निर्देशिका का एक गैर-मानक स्थान
प्रतिक्रिया-देशी रन-आईओएस -प्रोजेक्ट-पथ "./app/ios"
# एक कनेक्टेड डिवाइस पर, जैसे कि मैक्स आईफोन
प्रतिक्रिया-मूलक रन-आईओएस - डेविस "मैक्स का आईफोन"
# रिलीज़ मोड में ऐप का उपयोग करें
प्रतिक्रिया-देशी रन-आईओएस - अपरिपक्वता रिलीज़डिवाइस / एमुलेटर चयन
यदि डिवाइस निर्दिष्ट नहीं है, तो रन-आईओएस डिफॉल्ट एमुलेटर में एप्लिकेशन के डिबगिंग मोड को लॉन्च करेगा। यह xcrun / simctl कमांड की एक श्रृंखला के लिए संभव है। सबसे पहले, उपलब्ध एमुलेटर की सूची की जांच करें, उनमें से एक का चयन करें और इसके वातावरण में एप्लिकेशन लोड करें।
यदि आप किसी भौतिक डिवाइस पर एप्लिकेशन चलाना चाहते हैं, तो बस इसे अपने लैपटॉप से कनेक्ट करें और रन-आईओएस के माध्यम से विवरण सेट करें।
अगला कदम एक Xcode एप्लीकेशन प्रोजेक्ट बनाना है।
आवेदन कोड
सामान्यतया, प्रतिक्रियाशील मूल Xcode अनुप्रयोग प्रोजेक्ट रूट निर्देशिका में iOS फ़ोल्डर में स्थित है। Xcodebuild कमांड का उपयोग करके एक Xcode प्रोजेक्ट बनाया जाता है। रन-आईओएस के लिए पहले निर्धारित किए गए किसी भी पैरामीटर को इस कमांड पर भेजा जाता है।
प्रोजेक्ट बनने के बाद, एप्लिकेशन को एमुलेटर या कनेक्टेड डिवाइस पर इंस्टॉल और लॉन्च किया जाता है।
डिबग मोड में एप्लिकेशन कोड जोड़ना
विकास प्रक्रिया के दौरान, प्रतिक्रियाशील मूल रूप से आपके कोड को गतिशील रूप से लोड करता है। सब कुछ सुचारू रूप से चलने के लिए और कोड आवश्यकतानुसार उपलब्ध हो, इसके लिए आपको एक सर्वर की आवश्यकता होगी।
जबकि Xcode प्रोजेक्ट डीबग किया जा रहा है, मेट्रो सर्वर इसके समानांतर शुरू होता है। यह उन अनुप्रयोगों द्वारा उपयोग किया जाता है जो रिएक्ट नेटिव कमांड-लाइन इंटरफ़ेस का उपयोग करके बनाए जाते हैं। यह सब आपको "हॉट" रिबूट और अन्य तरीकों का उपयोग करके प्रक्रिया को तेज करने और सरल बनाने की अनुमति देता है।
डिफ़ॉल्ट रूप से, मेट्रो पोर्ट 8081 पर सुनता है। जैसे ही एप्लिकेशन को एमुलेटर में लॉन्च किया जाता है, सर्वर को एक अनुरोध भेजा जाता है।
#Code in AppDelegate.m sends the request for the bundle: #index.bundle to server jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"MobileApp initialProperties:nil launchOptions:launchOptions];
सर्वर सभी आवश्यक निर्भरताओं को लोड करता है, जावास्क्रिप्ट कोड एकत्र करता है और इसे एप्लिकेशन को भेजता है। इस चरण के बाद, आप एमुलेटर या कनेक्टेड डिवाइस पर चल रहे एप्लिकेशन को देख सकते हैं।
जावास्क्रिप्ट पैकेज
रिलीज़-मोड में, आपको पहले जावास्क्रिप्ट को पैक करना होगा, इसे एप्लिकेशन में रखना होगा। ऐसा करने के लिए, एक स्थिर पैकेज को डाउनलोड करने की क्षमता प्रदान करने के लिए कुछ परिवर्तनों की आवश्यकता होती है। आपको AppDelegate.m फ़ाइल में jsCodeLocation को बदलने की आवश्यकता है, जो डिबग मोड के बाहर स्थिर पैकेज के स्थान को दर्शाता है:
#ifdef DEBUG jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@ fallbackResource:nil]; #else jsCodeLocation = [[NSBundle mainBundle] URLForResource:@ withExtension:@]; #endif
अब यह मुख्य.बंडल संसाधन फ़ाइल का एक संकेत है जो Xcode प्रोजेक्ट के प्रसंस्करण के दौरान दिखाई दिया। इस स्तर पर, प्रतिक्रिया-native-xcode.sh स्क्रिप्ट चलाई जाती है। यह प्रतिक्रियाशील मूल मॉड्यूल के स्क्रिप्ट फ़ोल्डर में पाया जा सकता है।
Xcode से एप्लीकेशन बनाना
आप रिएक्टिव नेटिव सीएलआई का उपयोग करने के बजाय मैक पर सीधे एक एक्सकोड प्रोजेक्ट भी बना सकते हैं। एप्लिकेशन बनाने के बाद, आप इसे एक्सकोड विकल्पों में चुने गए एमुलेटर या भौतिक डिवाइस पर भी चला सकते हैं।

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