Swift और अन्य भाषाएँ: Python, C, C++ के साथ एकीकरण गाइड

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

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

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

Swift को दूसरी भाषाएँ क्यों सीखनी चाहिए?

\n\n

कल्पना कीजिए कि आप एक पाँच सितारा रेस्तराँ के शेफ हैं। आपके पास एक बेहतरीन चाकू (Swift) है - तेज़, आरामदायक और एकदम सही। लेकिन फुगु मछली काटने के लिए आपको एक खास स्केलपेल (C) चाहिए, और परफेक्ट मूस बनाने के लिए एक महँगा ब्लेंडर (Python)। आप मुख्य चाकू से मछली नहीं काटेंगे, है ना? प्रोग्रामिंग में भी यही बात लागू होती है: Swift का दूसरी भाषाओं के साथ एकीकरण कमज़ोरी नहीं, बल्कि महारत की निशानी है।

\n\n

Swift का इकोसिस्टम तेज़ी से बढ़ रहा है, लेकिन यह अकेले नहीं रह सकता। मशीन लर्निंग की लाइब्रेरीज़ Python में लिखी गई हैं, हाई-परफॉरमेंस पार्सर C में, और बैंकिंग सिस्टम का लीगेसी कोड C++ में। इन दुनियाओं को जोड़ने की क्षमता डेवलपर को असीमित अवसर देती है। इस लेख में हम तीन मुख्य परिदृश्यों पर चर्चा करेंगे: Swift को Python, C और C++ से कैसे जोड़ें।

\n\n

1. Swift + Python: PythonKit का जादू

\n\n

Apple हमेशा से एकीकरण को "Swift-फ्रेंडली" बनाने के लिए जाना जाता है। PythonKit एक फ्रेमवर्क है जो आपको Swift से Python कोड को ऐसे कॉल करने देता है जैसे वह Swift का ही हिस्सा हो। इसे सेटअप करना बहुत आसान है: बस Swift Package Manager के ज़रिए डिपेंडेंसी जोड़ें।

\n\n

प्रोजेक्ट सेटअप

\n\n

Package.swift में यह जोड़ें:

\n\n
let package = Package(\n    name: "MySwiftPythonApp",\n    dependencies: [\n        .package(url: "https://github.com/pvieito/PythonKit.git", branch: "master")\n    ],\n    targets: [\n        .target(name: "MySwiftPythonApp", dependencies: ["PythonKit"])\n    ]\n)
\n\n

उदाहरण: फिबोनाची संख्याएँ निकालना

\n\n

मान लीजिए आपके पास फिबोनाची निकालने के लिए एक सुपर-ऑप्टिमाइज़्ड Python स्क्रिप्ट है। इसे Swift में दोबारा लिखने की ज़रूरत नहीं है, इसे सीधे कॉल करें!

\n\n

Python फ़ाइल (fib.py):

\n
def fib(n):\n    a, b = 0, 1\n    for _ in range(n):\n        a, b = b, a + b\n    return a
\n\n

Swift कोड:

\n
import PythonKit\n\n// 1. मॉड्यूल लोड करें (.py के बिना)\nlet fibModule = try Python.attemptImport("fib")\n\n// 2. फंक्शन कॉल करें\nlet result = fibModule.fib(10)\nprint("10वीं फिबोनाची संख्या:", result) // आउटपुट: 55\n\n// 3. numpy के साथ काम करें (अगर इंस्टॉल है)\nlet np = Python.import("numpy")\nlet array = np.array([1, 2, 3, 4])\nprint(array * 2) // आउटपुट: [2 4 6 8]
\n\n

ध्यान दें: Python.attemptImport एक सुरक्षित रैपर है। अगर मॉड्यूल नहीं मिलता, तो ऐप क्रैश नहीं होगा, बल्कि एरर मिलेगा। Swift और Python का एकीकरण PythonKit के ज़रिए macOS और Linux दोनों पर काम करता है (Python 3.x होना चाहिए)।

\n\n

इसकी कब ज़रूरत है?

\n
    \n
  • जब आपको ऐसी लाइब्रेरी चाहिए जो Swift में उपलब्ध नहीं है (जैसे pandas या scikit-learn)।
  • \n
  • जब आप Vapor पर सर्वर ऐप लिख रहे हैं और ETL प्रोसेस के लिए Python का उपयोग करना चाहते हैं।
  • \n
  • जब आप Python में ML मॉडल प्रोटोटाइप कर रहे हैं और फिर उसे iOS ऐप में एम्बेड करना चाहते हैं।
  • \n
\n\n

2. Swift + C: "हार्डवेयर" से सीधी बातचीत

\n\n

C एक लीजेंडरी भाषा है। इस पर OS कर्नेल, ड्राइवर और यूनिक्स की आधी दुनिया लिखी गई है। Swift को इस तरह डिज़ाइन किया गया है कि C के साथ इंटरऑपरेबिलिटी बहुत आसान हो। आप बिना किसी रैपर के किसी भी C लाइब्रेरी के फंक्शन को कॉल कर सकते हैं।

\n\n

C फंक्शन इम्पोर्ट करना

\n\n

bridge.h फ़ाइल बनाएँ और उसमें ज़रूरी हेडर लिखें:

\n
// bridge.h\n#include <math.h>\n#include <string.h>
\n\n

अब Swift में इन फंक्शन को सीधे इस्तेमाल करें:

\n
// Swift\nimport Foundation\n\nlet angle = 45.0 * .pi / 180.0\nlet sine = sin(angle) // math.h का C फंक्शन\nprint("45° का साइन:", sine)\n\n// पॉइंटर्स के साथ काम करना\nlet str = "Hello, C!"\nstr.withCString { cString in\n    let length = strlen(cString) // C फंक्शन\n    print("स्ट्रिंग की लंबाई:", length)\n}
\n\n

अपनी खुद की C लाइब्रेरी बनाना

\n\n

मान

ब्लॉग

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