परिचय
रिएक्ट नेटिव जावास्क्रिप्ट और रिएक्ट का उपयोग करके मोबाइल एप्लिकेशन बनाने के लिए एक शक्तिशाली ढांचा है। जैसे ही आप रिएक्ट नेटिव के साथ विकास करना शुरू करते हैं, एक विशिष्ट रिएक्ट नेटिव प्रोजेक्ट की संरचना को समझना आवश्यक हो जाता है। प्रत्येक फ़ोल्डर और फ़ाइल का एक विशिष्ट उद्देश्य होता है, और उनकी भूमिकाओं को जानने से आपको अपने प्रोजेक्ट को अधिक कुशलता से प्रबंधित और नेविगेट करने में मदद मिलेगी। यह आलेख मुख्य निर्देशिकाओं की सामग्री और उद्देश्यों पर ध्यान केंद्रित करते हुए, रिएक्ट नेटिव ऐप की फ़ोल्डर संरचना का एक व्यापक अवलोकन प्रदान करता है: रूट निर्देशिका, एंड्रॉइड/फ़ोल्डर, और आईओएस/फ़ोल्डर।
मूल निर्देशिका
रिएक्ट नेटिव प्रोजेक्ट की रूट डायरेक्टरी में आवश्यक फ़ाइलें और फ़ोल्डर्स होते हैं जो प्रोजेक्ट की निर्भरता, कॉन्फ़िगरेशन और प्रवेश बिंदु को प्रबंधित करते हैं।
मुख्य फ़ाइलें और फ़ोल्डर्स
-
node_modules/: इसमें एनपीएम या यार्न के माध्यम से स्थापित सभी निर्भरताएं और उप-निर्भरताएं शामिल हैं। आमतौर पर, आपको इस फ़ोल्डर को सीधे छूने की आवश्यकता नहीं होगी।
-
package.json: आपके प्रोजेक्ट निर्भरता, स्क्रिप्ट और अन्य मेटाडेटा को सूचीबद्ध करता है। प्रोजेक्ट निर्भरता और स्क्रिप्ट के प्रबंधन के लिए यह महत्वपूर्ण है।
-
package-lock.json या यार्न.लॉक: विभिन्न वातावरणों में स्थिरता सुनिश्चित करते हुए, स्थापित निर्भरता के संस्करणों को लॉक करता है।
-
index.js: आपके रिएक्ट नेटिव ऐप के लिए प्रवेश बिंदु, आमतौर पर ऐप के मुख्य घटक को पंजीकृत करता है।
कोर फ़ोल्डर
-
android/: इसमें मूल Android कोड और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं, यदि आपको मूल Android कोड लिखने या संशोधित करने की आवश्यकता है।
-
ios/: इसमें मूल iOS कोड और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं, जो मूल iOS कोड लिखने या संशोधित करने के लिए आवश्यक हैं।
-
app/ या src/: अक्सर आपके जावास्क्रिप्ट/टाइपस्क्रिप्ट कोड के लिए मुख्य फ़ोल्डर, जैसे घटक, स्क्रीन और सेवाएं। यह वह जगह है जहां आपके ऐप का अधिकांश कोड रहता है।
सामान्य सबफ़ोल्डर (ऐप के अंदर/या स्रोत/)
-
घटक/: पुन: प्रयोज्य यूआई घटक, ऐप के विभिन्न हिस्सों में यूआई तत्वों को व्यवस्थित और पुन: उपयोग करने में मदद करते हैं।
-
स्क्रीन/: विभिन्न स्क्रीन या दृश्यों का प्रतिनिधित्व करने वाले घटक, जिससे नेविगेशन और व्यक्तिगत स्क्रीन को प्रबंधित करना आसान हो जाता है।
-
नेविगेशन/: नेविगेशन कॉन्फ़िगरेशन और घटक, ऐप की नेविगेशन संरचना को परिभाषित करने के लिए उपयोग किया जाता है।
-
परिसंपत्तियाँ/: छवियाँ, फ़ॉन्ट और अन्य स्थिर संपत्तियाँ, सभी स्थिर संसाधनों को व्यवस्थित रखते हुए।
-
redux/ (यदि राज्य प्रबंधन के लिए Redux का उपयोग कर रहे हैं): एप्लिकेशन की वैश्विक स्थिति के प्रबंधन के लिए क्रियाएं, रिड्यूसर और स्टोर कॉन्फ़िगरेशन।
-
शैलियाँ/: घटकों और स्क्रीन पर उपयोग की जाने वाली सामान्य शैलियाँ, एक सुसंगत डिज़ाइन बनाए रखने और शैली प्रबंधन को सरल बनाने में मदद करती हैं।
कॉन्फ़िगरेशन और उपयोगिता फ़ाइलें
-
.babelrc या babel.config.js: बैबल कॉन्फ़िगरेशन फ़ाइल, यह परिभाषित करती है कि बैबेल आपके कोड को कैसे ट्रांसपाइल करता है।
-
.eslintrc.js: ESLint कॉन्फ़िगरेशन फ़ाइल, आपके प्रोजेक्ट के लिए लिंटिंग नियम सेट कर रही है।
-
.prettierrc: सुंदर कॉन्फ़िगरेशन फ़ाइल, कोड फ़ॉर्मेटिंग नियमों को कॉन्फ़िगर करना।
-
metro.config.js: मेट्रो बंडलर के लिए कॉन्फ़िगरेशन फ़ाइल, रिएक्ट नेटिव द्वारा उपयोग किया जाने वाला जावास्क्रिप्ट बंडलर।
-
.gitignore: निर्दिष्ट करता है कि आपके git रिपॉजिटरी में किन फ़ाइलों और निर्देशिकाओं को अनदेखा करना है।
एंड्रॉइड/फ़ोल्डर
एंड्रॉइड/फ़ोल्डर में एंड्रॉइड डिवाइस या एमुलेटर पर आपके रिएक्ट नेटिव ऐप को बनाने और चलाने के लिए आवश्यक सभी मूल एंड्रॉइड कोड और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं।
मुख्य फ़ाइलें और फ़ोल्डर्स
-
build.gradle: शीर्ष-स्तरीय बिल्ड फ़ाइल जहां आप सभी उप-प्रोजेक्ट/मॉड्यूल के लिए सामान्य कॉन्फ़िगरेशन विकल्प जोड़ सकते हैं।
-
gradle.properties: ग्रैडल बिल्ड सिस्टम के लिए कॉन्फ़िगरेशन गुण।
-
gradlew और gradlew.bat: क्रमशः यूनिक्स-आधारित और विंडोज सिस्टम पर ग्रैडल कमांड चलाने के लिए स्क्रिप्ट।
-
settings.gradle: प्रोजेक्ट के मॉड्यूल को निर्दिष्ट करता है, जिसमें कोई भी बाहरी लाइब्रेरी या अतिरिक्त मॉड्यूल शामिल है जिस पर आपका प्रोजेक्ट निर्भर हो सकता है।
उप-फ़ोल्डर
अनुप्रयोग/
-
build.gradle: ऐप मॉड्यूल के लिए बिल्ड फ़ाइल, जिसमें आपके ऐप के लिए विशिष्ट कॉन्फ़िगरेशन और निर्भरताएं शामिल हैं।
-
src/: इसमें आपके ऐप के एंड्रॉइड भाग के लिए स्रोत कोड शामिल है।
-
मुख्य/:
-
AndroidManifest.xml: एंड्रॉइड बिल्ड टूल्स, एंड्रॉइड ऑपरेटिंग सिस्टम और Google Play पर आपके ऐप के बारे में आवश्यक जानकारी का वर्णन करता है।
-
java/: इसमें जावा या कोटलिन स्रोत फ़ाइलें शामिल हैं, जिनमें MainActivity.java या MainActivity.kt, ऐप का प्रवेश बिंदु शामिल है।
-
res/: इसमें ऐप संसाधन जैसे लेआउट, खींचने योग्य फ़ाइलें (छवियां), स्ट्रिंग्स और ऐप द्वारा उपयोग की जाने वाली अन्य XML फ़ाइलें शामिल हैं।
-
assets/: आपके ऐप के लिए आवश्यक कच्ची संपत्ति फ़ाइलों को संग्रहीत करता है, जैसे फ़ॉन्ट या अन्य बाइनरी फ़ाइलें।
-
jniLibs/: इसमें पहले से संकलित देशी लाइब्रेरी (.so फ़ाइलें) शामिल हैं जिन पर आपका ऐप निर्भर करता है।
ग्रेडेल/
-
रैपर/: इसमें ग्रैडल बिल्ड सिस्टम की सहायता के लिए फ़ाइलें शामिल हैं।
-
gradle-wrapper.jar: ग्रैडल रैपर के लिए एक JAR फ़ाइल, जो आपको उपयोगकर्ताओं को ग्रैडल इंस्टॉल करने की आवश्यकता के बिना अपना प्रोजेक्ट बनाने की अनुमति देती है।
-
gradle-wrapper.properties: उपयोग किए जाने वाले ग्रेडल के संस्करण और अन्य गुणों को निर्दिष्ट करता है।
आईओएस/फ़ोल्डर
आईओएस/फ़ोल्डर में आईओएस डिवाइस या सिम्युलेटर पर आपके रिएक्ट नेटिव ऐप को बनाने और चलाने के लिए आवश्यक सभी मूल आईओएस कोड और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं।
मुख्य फ़ाइलें और फ़ोल्डर्स
-
Podfile: आपके रिएक्ट नेटिव ऐप के iOS भाग के लिए निर्भरता निर्दिष्ट करता है, जिसे CocoaPods द्वारा प्रबंधित किया जाता है।
-
Podfile.lock: विभिन्न वातावरणों में स्थिरता सुनिश्चित करते हुए, पॉडफाइल में निर्दिष्ट निर्भरता के संस्करणों को लॉक करता है।
-
.xcworkspace: CocoaPods द्वारा जेनरेट की गई एक वर्कस्पेस फ़ाइल जिसका उपयोग आप Xcode में अपना प्रोजेक्ट खोलने के लिए करते हैं।
-
.xcodeproj: Xcode प्रोजेक्ट फ़ाइल जिसमें आपके ऐप की प्रोजेक्ट सेटिंग्स और जानकारी शामिल है।
उप-फ़ोल्डर
/
-
AppDelegate.m या AppDelegate.swift: एप्लिकेशन-स्तर की घटनाओं और स्थितियों को प्रबंधित करता है, जो iOS ऐप के लिए प्रवेश बिंदु है।
-
Info.plist: इसमें ऐप के लिए कॉन्फ़िगरेशन जानकारी शामिल है, जैसे बंडल पहचानकर्ता, ऐप का नाम, अनुमतियां और अन्य सेटिंग्स।
-
Assets.xcassets/: इसमें ऐप की छवि और आइकन संपत्तियां शामिल हैं।
-
Base.lproj/: इसमें मुख्य स्टोरीबोर्ड या लॉन्च स्क्रीन फ़ाइल (LaunchScreen.storyboard) शामिल है।
-
main.m या main.swift: ऐप के लिए मुख्य प्रवेश बिंदु, एप्लिकेशन ऑब्जेक्ट और एप्लिकेशन प्रतिनिधि की स्थापना।
-
सपोर्टिंग फाइल्स/: इसमें अतिरिक्त संसाधन और कॉन्फ़िगरेशन शामिल हैं, जैसे एंटाइटेलमेंट और ब्रिजिंग हेडर (यदि स्विफ्ट का उपयोग कर रहे हैं)।
निष्कर्ष
कुशल परियोजना प्रबंधन और विकास के लिए रिएक्ट नेटिव ऐप की फ़ोल्डर संरचना को समझना महत्वपूर्ण है। निर्भरता और कॉन्फ़िगरेशन को प्रबंधित करने से लेकर एंड्रॉइड और आईओएस दोनों प्लेटफार्मों के लिए कोड और संसाधनों को शामिल करने तक प्रत्येक फ़ोल्डर और फ़ाइल की एक विशिष्ट भूमिका होती है।