گائیڈز

SDK کیا ہے؟ Software Development Kits آسان زبان میں

SDK (software development kit) ایک تیار ٹول کٹ ہے جو کوئی کمپنی ڈیولپرز کو دیتی ہے تاکہ وہ اس کی سروس یا پلیٹ فارم کو سب کچھ خود بنائے بغیر استعمال کر سکیں۔ اس میں عموماً کسی مخصوص پروگرامنگ زبان کے لیے کوڈ لائبریری، دستاویزات اور مثالیں ہوتی ہیں، اور کبھی کبھی ٹیسٹنگ ٹولز جیسی اضافی چیزیں بھی۔ جب آپ کی ایپ “Stripe SDK استعمال کرتی ہے”، تو مطلب ہے کہ آپ کا کوڈ Stripe کے تیار کردہ فنکشنز کو کال کرتا ہے، بجائے اس کے کہ Stripe کے API کو ہر درخواست ہاتھ سے بھیجے۔

AI سے ایپ بناتے وقت SDKs کیوں اہم ہیں

جب آپ کسی AI بلڈر سے ادائیگیاں، AI چیٹ، نقشے یا ای میل شامل کرنے کو کہتے ہیں، تو وہ عموماً اس فراہم کنندہ کا SDK انسٹال کرتا ہے اور اسے کال کرنے والی چند لائنیں لکھتا ہے۔ SDK کیا ہے، یہ جاننا آپ کی مدد کرتا ہے کہ:

  • سمجھیں کہ آپ کے پروجیکٹ میں کیا شامل ہو رہا ہے۔ SDK ایک ڈیپینڈنسی ہے، یعنی باہر کا کوڈ جس پر آپ کی ایپ اب انحصار کرتی ہے۔
  • ضروری سیٹ اپ پہچانیں۔ تقریباً ہر SDK کو API key درکار ہوتی ہے، اور بہت سوں کے “سرور” اور “براؤزر” کے الگ ورژن ہوتے ہیں جن کے اصول مختلف ہیں کہ کون سی کیز محفوظ ہیں۔
  • درست چیز مانگیں۔ “سرور پر سرکاری Stripe SDK استعمال کرو” کہنا “Stripe شامل کرو” سے واضح ہدایت ہے۔
  • ایررز پڑھیں۔ AI سے بنی ایپس میں بہت سی خرابیاں اس وجہ سے آتی ہیں کہ SDK غلط ترتیب دیا گیا ہو، پرانا ہو، یا غلط جگہ استعمال ہو۔

روزمرہ کی ایک مثال

تصور کریں آپ کو شیلف لگانی ہے۔

  • API عمارت کے اصول ہیں: کون سی دیواروں پر پیچ لگ سکتے ہیں، وہ کتنا وزن سہارتی ہیں، اور پائپ کہاں ہیں۔ آپ ان اصولوں کے تحت خود سب کچھ ناپ کر لگا سکتے ہیں۔
  • SDK اسی کمپنی کا فلیٹ پیک شیلف کٹ ہے: پہلے سے کٹے ہوئے پرزے، صحیح پیچ، ایک بریکٹ جو ان کی دیواروں پر بالکل فٹ آتا ہے، اور ہدایات کا کتابچہ۔

شیلف کہاں لگے اور اس پر کیا رکھا جائے، یہ فیصلہ آپ خود کرتے ہیں۔ کٹ بس لکڑی کاٹنے اور پیچ کے سائز کا اندازہ لگانے سے بچاتا ہے، اور اس بات کا امکان بھی کم کر دیتا ہے کہ پانی کا پائپ ہی چھید دیا جائے۔

SDK بمقابلہ API بمقابلہ لائبریری بمقابلہ فریم ورک

یہ اصطلاحات آپس میں ملتی ہیں، اس لیے بہت سے لوگ الجھ جاتے ہیں:

اصطلاحیہ کیا ہےمثال
APIکسی سروس سے بات کرنے کے اصول: وہ کون سی درخواستیں قبول کرتی ہے اور کیا واپس دیتی ہےStripe کا REST API api.stripe.com پر
SDKکسی فراہم کنندہ کا ٹول کٹ، جو کسی مخصوص زبان سے اس کے API یا پلیٹ فارم کو استعمال کرنے کے لیے دستاویزات اور ٹولز کے ساتھ آتا ہےStripe کی سرکاری Node.js لائبریری
لائبریریکوئی بھی دوبارہ استعمال ہونے والا کوڈ جو آپ پروجیکٹ میں شامل کریںتاریخ فارمیٹ کرنے کا ایک پیکج
فریم ورکایک بڑا ڈھانچہ جس کے اندر آپ کی پوری ایپ بنتی ہےReact، Next.js، Django

ایک SDK عموماً ایک لائبریری پر مشتمل ہوتا ہے، اور وہ لائبریری عموماً ایک API کو کال کرتی ہے۔ ویب سروس کے لیے “SDK” اور “client library” اکثر ایک دوسرے کی جگہ استعمال ہوتے ہیں۔

کچھ SDKs کا تعلق ویب سروسز سے بالکل نہیں ہوتا۔ Apple اور Google iOS اور Android ایپس بنانے کے لیے SDKs شائع کرتے ہیں، جن میں کمپائلرز، سمیولیٹرز اور پلیٹ فارم کا کوڈ شامل ہوتا ہے۔ خیال وہی ہے: کسی ایک پلیٹ فارم کے لیے بنانے کی ہر ضروری چیز ایک کٹ میں۔

SDK آپ کے لیے کیا کرتا ہے

یہی کام، یعنی ادائیگی فراہم کنندہ پر ایک کسٹمر بنانا، دو طریقوں سے دیکھیں۔

SDK کے بغیر، آپ کے کوڈ کو HTTP درخواست خود بنانی ہوگی: URL سیٹ کرنا، صحیح ہیڈر میں secret key ڈالنا، ڈیٹا کو API کی توقع کے مطابق فارمیٹ کرنا، بھیجنا، اسٹیٹس کوڈ چیک کرنا، جواب پارس کرنا، اور نیٹ ورک میں گڑبڑ ہو تو دوبارہ کوشش سنبھالنا۔

SDK کے ساتھ، یہ تقریباً ایک لائن ہے:

const customer = await stripe.customers.create({ email: "lena@example.com" });

اس لائن کے پیچھے SDK یہ سنبھالتا ہے:

  • Authentication: ہر درخواست کے ساتھ آپ کی key درست طریقے سے جوڑنا
  • ڈیٹا کی فارمیٹنگ: آپ کے ڈیٹا کو API کی توقع کے مطابق بدلنا، اور جواب کو واپس آبجیکٹس میں بدلنا
  • ایررز: اسٹیٹس کوڈز کو واضح ایرر اقسام میں بدلنا جنہیں آپ کا کوڈ پکڑ سکے
  • دوبارہ کوشش: عارضی وجوہات سے ناکام درخواست کو محفوظ طریقے سے دوبارہ بھیجنا (کئی سرکاری SDKs یہ کرتے ہیں)
  • Types: TypeScript میں، آپ کے ایڈیٹر کو بتانا کہ کون سے فیلڈز موجود ہیں تاکہ کوڈ چلانے سے پہلے ہی غلطیاں نظر آ جائیں

ایک عملی مثال: سپورٹ ایپ میں AI جوابات شامل کرنا

آپ AI بلڈر سے کہتے ہیں: “جب کوئی کسٹمر سپورٹ ٹکٹ بھیجے، تو AI ماڈل کا استعمال کرتے ہوئے تجویز کردہ جواب بناؤ۔”

  1. AI فراہم کنندہ کا سرکاری SDK آپ کے پروجیکٹ میں پیکج کے طور پر انسٹال کرتا ہے (JavaScript پروجیکٹس پر، npm رجسٹری سے)۔
  2. آپ API key کو پروجیکٹ secret کے طور پر شامل کرتے ہیں۔ SDK اسے سرور پر ایک environment variable سے پڑھتا ہے۔
  3. AI ایک سرور روٹ لکھتا ہے جو ٹکٹ کا متن اور ایک مختصر ہدایت کے ساتھ SDK کو کال کرتا ہے، اور تجویز کردہ جواب ڈیٹابیس میں محفوظ کرتا ہے۔
  4. براؤزر کبھی key نہیں دیکھتا؛ وہ صرف آپ کے اپنے سرور روٹ کو کال کرتا ہے۔

اگر فراہم کنندہ بعد میں اپنا API بدلے، تو عموماً وہ نیا SDK ورژن جاری کرتا ہے۔ پیکج اپ ڈیٹ کرنا، اور breaking changes کے لیے ریلیز نوٹس دیکھنا، اکثر بس اتنا ہی کافی ہوتا ہے۔

اہم اصطلاحات

اصطلاحمطلب
Dependencyآپ کے پروجیکٹ کا باہر کا کوڈ جس پر وہ انحصار کرتا ہے۔ SDK بھی ایک ہے۔
Package / package managerکوڈ کا قابلِ ڈاؤن لوڈ بنڈل، اور وہ ٹول جو اسے انسٹال کرتا ہے (JavaScript کے لیے npm، Python کے لیے pip)۔
Client libraryایسا کوڈ جو کسی مخصوص API کو کال کرنا آسان بناتا ہے۔ ویب سروسز کے لیے اکثر یہی “SDK” کا مطلب ہوتا ہے۔
Server-side SDKآپ کے بیک اینڈ پر چلتا ہے اور secret keys محفوظ طریقے سے استعمال کر سکتا ہے۔
Client-side / browser SDKصارف کے براؤزر میں چلتا ہے۔ اسے صرف عوامی یا “publishable” keys دی جاتی ہیں۔
Versionہر SDK ریلیز کا ایک نمبر ہوتا ہے (جیسے 4.2.0)۔ بڑی چھلانگیں اکثر breaking changes کا مطلب ہوتی ہیں۔
Breaking changeایسا اپ ڈیٹ جس کے لیے آپ کو اپنا کوڈ بدلنا پڑے۔
Changelog / release notesفراہم کنندہ کی فہرست کہ ہر ورژن میں کیا بدلا۔

عام غلط فہمیاں

  • “SDK اور API ایک ہی چیز ہیں۔” API سروس کا انٹرفیس ہے؛ SDK اس کے اوپر آسانی کی تہہ ہے۔ زیادہ تر ویب APIs آپ SDK کے بغیر بھی کال کر سکتے ہیں، بس زیادہ کام ہوتا ہے۔
  • “اگر SDK انسٹال ہو گیا تو انضمام مکمل ہو گیا۔” آپ کو پھر بھی فراہم کنندہ کا اکاؤنٹ، درست keys، اور وہ کوڈ چاہیے جو ناکامی کی صورت میں سنبھالے۔
  • “جس پیکج کا نام درست لگے وہی سرکاری ہے۔” حملہ آور کبھی کبھار ملتے جلتے نام والے جعلی پیکجز شائع کرتے ہیں۔ پیکج کا درست نام فراہم کنندہ کی دستاویزات میں چیک کریں۔
  • “براؤزر SDK میری secret key استعمال کر سکتا ہے۔” کبھی نہیں۔ براؤزر کے کوڈ میں جو کچھ ہے وہ زائرین کو نظر آتا ہے۔ Secret keys صرف سرور کے کوڈ میں رہتی ہیں، دیکھیں API keys کیسے محفوظ رکھیں۔
  • “SDKs کو کبھی اپ ڈیٹ کی ضرورت نہیں ہوتی۔” پرانے ورژن فکسز وصول کرنا بند کر دیتے ہیں اور فراہم کنندگان پرانے API ورژن ختم کرنے پر آخرکار کام کرنا چھوڑ دیتے ہیں۔

اپنے AI بلڈر سے کیا پوچھیں

  • “فراہم کنندہ کا سرکاری SDK استعمال کرو، کسی تیسرے فریق کا ریپر نہیں۔ مجھے درست پیکج کا نام اور انسٹال ہونے والا ورژن بتاؤ۔”
  • “SDK صرف سرور پر استعمال کرو، اور key کو environment variable سے پڑھو۔”
  • “اس SDK کے کون سے حصے براؤزر میں چلتے ہیں، اور وہ کون سی keys استعمال کرتے ہیں؟”
  • “اگر SDK کی کال ناکام ہو یا وقت ختم ہو جائے تو کیا ہوتا ہے؟ صارف کو واضح پیغام دکھاؤ اور ایرر لاگ کرو۔”
  • “اس ایپ کے ہر SDK اور پیکج کی فہرست دو جن پر یہ انحصار کرتی ہے، اور ہر ایک کس کام کے لیے ہے۔”
  • “دیکھو کہ ہمارے کوئی SDKs پرانے ہیں یا ان میں معلوم سیکیورٹی مسائل ہیں۔”

Mythex میں SDKs

Mythex ایجنٹ آپ کے پروجیکٹ sandbox میں پیکجز انسٹال کر سکتا ہے، اپنے stack کے معمول کے package manager کے ذریعے، جن میں فراہم کنندگان کے SDKs بھی شامل ہیں۔ پیکج کا نام اور وہ فیچر بتائیں جس کے لیے آپ اسے چاہتے ہیں۔ دیکھیں npm پیکجز استعمال کرنا۔ Mythex آپ کی ایپ کے لیے پہلے سے بنے انضمامات کی کوئی کیٹلاگ فراہم نہیں کرتا: آپ فراہم کنندہ کی key کو پروجیکٹ secret کے طور پر محفوظ کرتے ہیں اور ایجنٹ سے کہتے ہیں کہ سرور کی جانب سے سروس کو کال کرے، جیسا کہ کسی بھی API کو انضمام کرنا میں بیان ہے۔

SDKs کے نیچے کی تہہ کے لیے API کیا ہے پڑھیں۔ دو عام SDK پر مبنی فیچرز کے لیے اپنی ایپ میں ادائیگیاں کیسے شامل کریں اور LLM APIs کیسے استعمال کریں دیکھیں۔

سوالات

سادہ الفاظ میں SDK کیا ہے؟

SDK (software development kit) تیار کوڈ، دستاویزات اور ٹولز کا ایک مجموعہ ہے جو کوئی کمپنی اس لیے فراہم کرتی ہے تاکہ ڈیولپرز اس کی سروس یا پلیٹ فارم آسانی سے استعمال کر سکیں۔ ہر درخواست API کو ہاتھ سے لکھنے کے بجائے آپ وہ سادہ فنکشنز کال کرتے ہیں جو SDK پہلے سے فراہم کرتا ہے۔

SDK اور API میں کیا فرق ہے؟

API اس سروس سے بات کرنے کے اصولوں کا مجموعہ ہے، یعنی وہ درخواستیں جو وہ قبول کرتی ہے اور جو جواب دیتی ہے۔ SDK اسی API کے اوپر بنایا گیا ٹول کٹ ہے، عموماً ایک پروگرامنگ زبان کے لیے، جو وہ درخواستیں آپ کے لیے بناتا ہے اور authentication، دوبارہ کوشش اور ڈیٹا فارمیٹ جیسی تفصیلات خود سنبھالتا ہے۔

کیا SDKs مفت ہیں؟

ویب سروسز کے زیادہ تر SDKs ڈاؤن لوڈ کرنے کے لیے مفت اور اوپن سورس ہیں، مگر جس سروس سے وہ جڑتے ہیں وہ استعمال پر چارج کر سکتی ہے۔ Stripe یا OpenAI SDK استعمال کرنا بذات خود مفت ہے؛ اس کے ذریعے کی گئی ادائیگیاں یا AI درخواستیں فراہم کنندہ کی طرف سے بل ہوتی ہیں۔

کیا SDK استعمال کرنا محفوظ ہے؟

فراہم کنندہ کے سرکاری SDKs عموماً اس کی سروس کو کال کرنے کا محفوظ طریقہ ہوتے ہیں، کیونکہ وہ دیکھ بھال میں رہتے ہیں اور سیکیورٹی کی تفصیلات سنبھالتے ہیں۔ انہیں سرکاری پیکج رجسٹری سے انسٹال کریں، اپ ڈیٹ رکھیں، اور ملتے جلتے ناموں والے غیر سرکاری پیکجز سے محتاط رہیں۔

Mythex · Pricing · AI کے ساتھ کچھ بھی بنائیں · ویب سائٹ اور ایپ ٹیمپلیٹس · Mythex کا موازنہ · AI سے ایپ بنانے کی اصطلاحات · AI سے ایپ بنانے کے مفت ٹولز · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)