PyObjC
پی او بی جے سی ازگر اور آبجیکٹیو-سی پروگرامنگ زبانوں کے درمیان ایک دو طرفہ پل ہے، جو پروگرامرز کو ازگر کا استعمال کرتے ہوئے موجودہ آبجیکٹیو-سی لائبریریوں، جیسے کہ ایپل کے کوکوا فریم ورک کو استعمال کرنے اور بڑھانے کی اجازت دیتا ہے۔ پی او بی جے سی کا استعمال خالص ازگر میں میک او ایس ایپلی کیشنز تیار کرنے کے لیے کیا جاتا ہے۔ کوکو کے ایک اوپن سورس، کراس پلیٹ فارم نفاذ، جی این یو اسٹیپ کے لیے بھی محدود حمایت ہے۔ ازگر پروگرامرز کے لیے پی او بی جے سی کا سب سے اہم استعمال پروگرامرز کو خالص ازگر میں کوکو لائبریریوں کا استعمال کرتے ہوئے جی یو آئی ایپلی کیشنز بنانے کے قابل بنانا ہے۔ مزید برآں، سی پروگرامنگ زبان (یہ ایک خالص سپر سیٹ ہے) کے ساتھ آبجیکٹیو-سی کے قریبی تعلقات کے اثر کے طور پر، ڈویلپرز کسی بھی سی پر مبنی اے پی آئی کو آبجیکٹیو-سی ریپر کے ساتھ لپیٹ کر اور پھر لپیٹے ہوئے کوڈ کا استعمال کرکے شامل کرنے کے قابل ہیں۔ آبجیکٹیو-سی + + کا استعمال کرتے ہوئے، سی% 2 بی% 2 بی لائبریریوں کے ساتھ بھی ایسا ہی کیا جا سکتا ہے۔ آبجیکٹیو-سی پروگرامرز کے لیے کوکو ڈویلپرز کو بھی فائدہ ہو سکتا ہے، کیونکہ ازگر میں لکھے گئے کام عام طور پر آبجیکٹیو-سی کے مساوی سے کم لائنیں لیتے ہیں۔ یہ ان کے فائدے کے لیے استعمال کیا جا سکتا ہے کیونکہ یہ تیز تر پروٹو ٹائپنگ کو قابل بناتا ہے۔ پی او بی جے سی کی ابتدا 1996 میں ہوئی، جب لیلی گیفیکس نے اسی سال ستمبر میں اصل ماڈیول بنایا تھا۔ کریڈٹ شدہ شراکت داروں میں پائیتھن پروگرامنگ زبان کے تخلیق کار گائیڈو وین راسم بھی شامل تھے۔ پی او بی جے سی کو 2002 میں دوبارہ لکھا گیا تھا۔ قابل ذکر اضافے میں پائیتھن سے آبجیکٹیو-سی کلاسوں کو براہ راست ذیلی درجہ بندی کرنے کی صلاحیت اور فاؤنڈیشن، ایپ کٹ اور ایڈریس بک فریم ورک کے لیے تقریبا مکمل تعاون شامل ہے۔ اسی سال کے آخر میں، غیر فریم ورک ازگر کی تعمیر کے ساتھ ساتھ میک او ایس ایکس کے ساتھ شامل ازگر کی تقسیم کے لیے بھی سپورٹ شامل کی گئی۔ ان تبدیلیوں کے ساتھ ساتھ موجودہ ایپل پلیٹ فارم آئی ڈی ای، ایکس کوڈ کے پیشرو پروجیکٹ بلڈر کے ساتھ استعمال کے لیے اسٹینڈ لون کوکو ایپلی کیشنز کے لیے پروجیکٹ ٹیمپلیٹس بھی آئے۔ ایپل نے 2007 میں پی او بی جے سی کو میک او ایس ایکس میں شامل کیا، میک او ایس ایکس 10.5 چیتے کی ریلیز کے ساتھ۔ پیغامات اور طریقے آبجیکٹیو-سی میں، آبجیکٹ پیغامات بھیج کر ایک دوسرے کے ساتھ بات چیت کرتے ہیں، جو دیگر آبجیکٹ پر مبنی زبانوں میں میتھڈ کالز کے مترادف ہے۔ جب کسی شے کو کوئی پیغام موصول ہوتا ہے، تو وہ پیغام کا نام، یا سلیکٹر دیکھتا ہے، اور اسے اسی سلیکٹر کے نامزد کردہ طریقہ سے ملاتا ہے، جسے وہ پھر طلب کرتا ہے۔ ان پیغامات کے تاثرات کا نحو سمال ٹاک سے وراثت میں ملتا ہے، اور ایک آبجیکٹ کے طور پر ظاہر ہوتا ہے، جسے رسیور کہا جاتا ہے، جو پیغام کے نام یا سلیکٹر کے بائیں طرف رکھا جاتا ہے، اور دونوں مربع بریکٹ کے ایک جوڑے کے اندر بند ہوتے ہیں (مربع بریکٹ کا نحو سمال ٹاک سے وراثت میں نہیں ملتا ہے)۔ سلیکٹر کے اندر کالون اس بات کی نشاندہی کرتے ہیں کہ یہ ایک یا زیادہ دلائل کو قبول کرتا ہے، ہر کالون کے لیے ایک۔ کوڈ پڑھنے کی اہلیت کو بہتر بنانے کے لیے، کالون کو سلیکٹر کے اندر اس طرح رکھا جاتا ہے کہ جب مطلوبہ دلائل اپنی جگہ پر ہوں، تو اظہار کا ارادہ غیر واضح ہو: [مائی لٹل ڈک میک سومی نوائس: کویک آئیز کلوزڈ: @YES آن ون فٹ: @YES] ؛ یہ ازگر میں استعمال ہونے والے نحو سے الگ ہے، اور بہت سی دوسری زبانوں میں، جہاں ایک مساوی اظہار پڑھا جائے گا: myLittleDuck.makeSomeNoise_eyesClosed_onOneFoot_ (کویک، ٹرو، ٹرو) آبجیکٹیو-سی سلیکٹرز کو ازگر طریقہ کے ناموں میں ترجمہ کرنا ہر ازگر کو ایک واحد ازگر سے تبدیل کرکے اور آخر میں قوسین کے جوڑے کے اندر دلائل کو درج کرکے پورا کیا جاتا ہے، جیسا کہ اوپر دکھایا گیا ہے۔ کلاسز آبجیکٹیو-سی کلاسز کو عام ازگر کلاس کی طرح ذیلی درجہ بند کیا جاتا ہے: کلاس مائی ڈک (این ایس او آبجیکٹ): #این ایس او آبجیکٹ ایک بنیادی آبجیکٹیو-سی کلاس ہے۔ ڈیف انیت (سیلف): سیلف = سپر (مائی ڈک، سیلف). انیت () #ایک آبجیکٹیو-سی آئیڈیوم، جس میں #سب کلاس مثال، سیلف، سپر کلاس کو اس کا #نامزد ابتدائی بھیج کر #فوری کیا جاتا ہے۔ ریٹرن سیلف مائی لٹل ڈک ون = MyDuck.alloc (). init () یہ بھی دیکھیں libffi RubyCocoa حوالہ جات بیرونی لنکس رونالڈ اوسورین کا ایکس کوڈ 4.0 ازگر (پروگرامنگ زبان) لائبریریوں پر انتباہ میک او ایس پروگرامنگ ٹولز