Swift के साथ मोनोरिपॉजिटरी: शुरुआती लोगों के लिए कोड संगठन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift के साथ मोनोरिपॉजिटरी: शुरुआती लोगों के लिए कोड संगठन

\n\n

जब आप iOS या macOS के लिए Swift में एप्लिकेशन विकसित करना शुरू करते हैं, तो देर-सबेर आपके सामने यह प्रश्न आता है: कोड को कैसे व्यवस्थित करें ताकि वह अव्यवस्थित न हो जाए? खासकर यदि आपके पास कई प्रोजेक्ट हैं (उदाहरण के लिए, iOS एप्लिकेशन, watchOS एक्सटेंशन और Vapor पर सर्वर साइड)। आधुनिक दृष्टिकोणों में से एक है मोनोरिपॉजिटरी (monorepo)। इस लेख में, हम समझेंगे कि मोनोरिपॉजिटरी क्या है, Swift डेवलपमेंट में इसकी आवश्यकता क्यों है, और इसे व्यवहार में कैसे व्यवस्थित किया जाए।

\n\n

मोनोरिपॉजिटरी क्या है और इसकी आवश्यकता क्यों है?

\n\n

मोनोरिपॉजिटरी (monorepo) कोड प्रबंधन का एक दृष्टिकोण है, जिसमें सभी प्रोजेक्ट, लाइब्रेरी और मॉड्यूल एक ही रिपॉजिटरी (उदाहरण के लिए, Git में) में संग्रहीत होते हैं। मल्टीरिपॉजिटरी के विपरीत, जहां प्रत्येक प्रोजेक्ट अपने अलग भंडार में रहता है, मोनोरिपॉजिटरी सब कुछ एक ही स्थान पर एकीकृत करता है।

\n\n

Swift डेवलपर्स के लिए, यह कई लाभ प्रदान करता है:

\n\n
    \n
  • निर्भरताओं का एकीकृत संस्करण — आपको ठीक-ठीक पता होता है कि सभी प्रोजेक्ट में लाइब्रेरी का कौन सा संस्करण उपयोग हो रहा है।
  • \n
  • सरलीकृत रिफैक्टरिंग — एक लाइब्रेरी में API में बदलाव तुरंत सभी आश्रित प्रोजेक्ट में दिखाई देता है।
  • \n
  • साझा सेटिंग्स — एक SwiftLint, एक CI/CD कॉन्फ़िग, एक फ़ॉर्मेटिंग नियम।
  • \n
  • आसान खोज — सब कुछ एक ही स्थान पर, रिपॉजिटरी के बीच स्विच करने की आवश्यकता नहीं।
  • \n
\n\n

हालांकि, कुछ बारीकियाँ भी हैं: मोनोरिपॉजिटरी में अनुशासन और सही संरचना की आवश्यकता होती है, अन्यथा यह 'कबाड़खाना' बन जाता है। लेकिन शुरुआती लोगों के लिए, कोड को व्यवस्थित करना सीखने का यह एक शानदार तरीका है।

\n\n

Swift प्रोजेक्ट के लिए मोनोरिपॉजिटरी की संरचना

\n\n

मान लीजिए कि आप साझा मॉड्यूल के साथ iOS के लिए एक एप्लिकेशन बना रहे हैं। Swift पर एक विशिष्ट मोनोरिपॉजिटरी संरचना इस प्रकार दिख सकती है:

\n\n
MyMonorepo/\n├── Apps/\n│   ├── iOSApp/          # मुख्य iOS एप्लिकेशन\n│   │   ├── Sources/\n│   │   ├── Resources/\n│   │   └── Package.swift\n│   └── macOSApp/        # macOS संस्करण\n│       ├── Sources/\n│       └── Package.swift\n├── Packages/\n│   ├── Core/            # सामान्य उपयोगिताएँ (नेटवर्क, लॉगिंग)\n│   │   ├── Sources/\n│   │   └── Package.swift\n│   ├── UIComponents/    # पुन: प्रयोग करने योग्य UI घटक\n│   │   ├── Sources/\n│   │   └── Package.swift\n│   └── Analytics/       # एनालिटिक्स मॉड्यूल\n│       ├── Sources/\n│       └── Package.swift\n├── Scripts/             # सहायक स्क्रिप्ट\n├── .swiftlint.yml       # एकीकृत लिंटर कॉन्फ़िग\n├── Package.swift        # रूट मेनिफेस्ट (वैकल्पिक)\n└── README.md
\n\n

ध्यान दें: यहाँ Swift Package Manager (SPM) का उपयोग किया गया है — Swift में निर्भरताओं के प्रबंधन के लिए मानक उपकरण। प्रत्येक मॉड्यूल एक अलग Swift Package है, जिसे एप्लिकेशन से जोड़ा जा सकता है।

\n\n

Swift पर मोनोरिपॉजिटरी कैसे बनाएं: चरण-दर-चरण मार्गदर्शिका

\n\n

आइए दो मॉड्यूल और एक एप्लिकेशन के साथ एक सरल मोनोरिपॉजिटरी बनाएं। टर्मिनल में निम्नलिखित चरणों का पालन करें:

\n\n

चरण 1: रूट डायरेक्टरी बनाएं और Git आरंभ करें

\n\n
mkdir MyMonorepo\ncd MyMonorepo\ngit init
\n\n

चरण 2: फ़ोल्डर संरचना बनाएं

\n\n
mkdir -p Apps/iOSApp/Sources\nmkdir -p Packages/Core/Sources\nmkdir -p Packages/UIComponents/Sources
\n\n

चरण 3: Core मॉड्यूल के लिए Package.swift बनाएं

\n\n

फ़ाइल Packages/Core/Package.swift बनाएं:

\n\n
// swift-tools-version:5.9\nimport PackageDescription\n\nlet package = Package(\n    name: "Core",\n    platforms: [\n        .iOS(.v16),\n        .macOS(.v13)\n    ],\n    products: [\n        .library(\n            name: "Core",\n            targets: ["Core"])\n    ],\n    targets: [\n        .target(\n            name: "Core",\n            path: "Sources")\n    ]\n)
\n\n

चरण 4: Core मॉड्यूल में सरल कोड लिखें

\n\n

Packages/Core/Source बनाएं

ब्लॉग

पुस्तक अनुशंसाएँ