MacApp
میک ایپ ایپل کمپیوٹر کے بند کیے گئے کلاسک میک او ایس کے لیے آبجیکٹ پر مبنی ایپلی کیشن فریم ورک ہے۔ 1985 میں ریلیز ہوا، یہ 1991 کے ورژن 3 ریلیز میں آبجیکٹ پاسکل سے سی + + میں منتقل ہوا، جس نے سسٹم 7 کی زیادہ تر نئی فعالیت کے لیے سپورٹ پیش کی۔ میک ایپ کو مختلف قسم کی بڑی ایپلی کیشنز کے لیے استعمال کیا گیا تھا، بشمول ایڈوب فوٹوشاپ اور سافٹ پریس فری وے۔ مائیکروسافٹ کے ایم ایف سی اور بورلینڈ کے او ڈبلیو ایل دونوں براہ راست میک ایپ تصورات پر مبنی تھے۔ دس سال کی مدت کے دوران، مصنوعات میں ایسے ادوار تھے جہاں اس کی بہت کم ترقی ہوئی اور اس کے بعد سرگرمی میں تیزی آئی۔ اس عرصے کے دوران، سمنٹیک کی تھنک کلاس لائبریری/تھنک پاسکل میک ایپ کا ایک سنجیدہ حریف بن گیا تھا، جس نے بہت زیادہ کارکردگی والے مربوط ترقیاتی ماحول (آئی ڈی ای) میں ایک آسان ماڈل پیش کیا تھا۔ سمنٹیک 1990 کی دہائی کے اوائل میں پاور پی سی پلیٹ فارم پر جانے کے اقدام کا جواب دینے میں سست تھا، اور جب میٹروورکس نے پہلی بار 1994 میں اپنا کوڈ واریر/پاور پلانٹ سسٹم متعارف کرایا تو اس نے میک ایپ اور تھنک دونوں کو میک پر بنیادی ترقیاتی پلیٹ فارم کے طور پر تیزی سے بے گھر کر دیا۔ یہاں تک کہ ایپل نے 1990 کی دہائی کے وسط میں کوپلینڈ دور کے دوران کوڈ واریر کو اپنے بنیادی ترقیاتی پلیٹ فارم کے طور پر استعمال کیا۔ میک ایپ نے 2000 اور 2001 کے درمیان میک او ایس ایکس میں کاربن سسٹم میں منتقلی کے نظام کے طور پر ایک مختصر وقفہ لیا تھا۔ تاہم، جون 2001 میں ورلڈ وائیڈ ڈویلپرز کانفرنس (ڈبلیو ڈبلیو ڈی سی) میں ایک ورژن کا مظاہرہ کرنے کے بعد، اس اکتوبر میں تمام ترقیات منسوخ کر دی گئیں۔ پاسکل ورژن میک ایپ لیزا ٹول کٹ کی براہ راست نسل تھی، جو کہ لیری ٹیسلر کی قیادت میں ایک آبجیکٹ پر مبنی ایپلی کیشن فریم ورک ڈیزائن کرنے میں ایپل کی پہلی کوشش تھی۔ ٹول کٹ کے لیے انجینئرنگ ٹیم میں لیری روزنسٹین، اسکاٹ والیس اور کین ڈوئل شامل تھے۔ ٹول کٹ ایک اپنی مرضی کی زبان میں لکھی گئی تھی جسے کلاسل کے نام سے جانا جاتا تھا، جس نے پاسکل زبان میں آبجیکٹ پر مبنی تکنیکوں کو شامل کیا۔ ابتدائی طور پر، میک کے لیے ترقی لیزا ورکشاپ میں کراس مرتب کا استعمال کرتے ہوئے کی گئی تھی۔ جیسے ہی میک کی فروخت نے لیزا کی فروخت کو مؤثر طریقے سے ختم کیا، میک کے لیے ایک نیا ترقیاتی پلیٹ فارم بنانے کی کوشش شروع ہوئی۔ لیزا پروگرامر کی ورکشاپ 1985 میں میکنٹوش پروگرامر کی ورکشاپ یا ایم پی ڈبلیو بن گئی۔ اس عمل کے ایک حصے کے طور پر، کلاسل کو آبجیکٹ پاسکل بننے کے لیے اپ ڈیٹ کیا گیا اور لیزا ٹول کٹ نے میک ایپ بننے کے لیے ڈیزائن نوٹ پیش کیے۔ ایپلیکیشن فریم ورک کے بغیر میک پروگرام لکھنا کوئی آسان کام نہیں ہے، لیکن اس وقت آبجیکٹ پر مبنی پروگرامنگ فیلڈ اب بھی نسبتا نیا تھا اور بہت سے ڈویلپرز اسے کسی حد تک مشکوک سمجھتے تھے۔ ابتدائی فریم ورک بڑے، سست اور عام طور پر غیر لچکدار ہونے کی وجہ سے اس شکوک و شبہات کی تصدیق کرتے تھے۔ میک ایپ شاید اصطلاح کے تمام معانی میں پہلا حقیقی طور پر قابل استعمال فریم ورک تھا۔ مرتب کردہ ایپلی کیشنز سائز اور میموری فوٹ پرنٹ کے لحاظ سے کافی معقول تھیں، اور کارکردگی اتنی خراب نہیں تھی کہ ڈویلپرز اس سے شرمندہ ہو جائیں۔ اگرچہ اس کی پہلی ریلیز میں "بہت آسان" تھا، لیکن متعدد فالو اپ ورژن نے اہم مسائل کو فوری طور پر حل کر دیا۔ اس وقت تک، 1987 کے آس پاس، یہ نظام ایک مفید ٹول میں پختہ ہو چکا تھا، اور متعدد ڈویلپرز نے اسے بڑے منصوبوں پر استعمال کرنا شروع کر دیا۔ میک ایپ 2.0 1989 میں جاری کیا گیا تھا۔ بہتریوں میں کچھ UI عنصر کے تعاملات کو آسان بنانا، اور ملٹی فائنڈر کے لیے سپورٹ شامل تھا۔ جیسا کہ ایپل نے اعلان کیا کہ وہ 1992 میں ایم پی ڈبلیو پاسکل سپورٹ چھوڑ رہا ہے، اس ورژن کو سسٹم 7 سپورٹ کے ساتھ بھی اپ ڈیٹ نہیں کیا گیا، اور پاسکل ڈویلپرز کو میک ایپ 2 کو پاور پی سی میں پورٹ کرنے کے لیے خود ہی چھوڑ دیا گیا۔ سی + + ورژن اس وقت تک، 1980 کی دہائی کے آخر میں، مارکیٹ سی + + کی طرف بڑھ رہی تھی، اور ایپل سی + + مرتب کا بیٹا ورژن 1989 میں میک ایپ 2 ریلیز کے آس پاس نمودار ہوا۔ ایک ہی وقت میں، ایپل سسٹم 7 کو جاری کرنے کی کوشش میں گہری تھی، جس میں کئی بڑی نئی خصوصیات تھیں۔ میک ایپ کے مکمل طور پر نئے ورژن 3 میں منتقلی کا فیصلہ کیا گیا، جو آبجیکٹ پاسکل کی جگہ C + + استعمال کرے گا۔ یہ اقدام یوزنیٹ اور دیگر فورمز میں آبجیکٹ پاسکل اور سی + + کے حامیوں کے درمیان ایک طویل اور گرما گرم بحث کا موضوع تھا۔ اس کے باوجود، 3 1991 میں اپنی ریلیز کے بعد ایک معقول پیروی حاصل کرنے میں کامیاب رہا، حالانکہ ڈویلپر سوٹ، ایم پی ڈبلیو، فرسودہ ہوتا جا رہا تھا۔ اس کے بعد ایپل نے پورے ڈویلپر ٹولز گروپ کو کم کر دیا، جس سے میک ایپ اور ایم پی ڈبلیو دونوں میں عملہ کم رہ گیا۔ اس کمی کی ایک وجہ ایپل کی ترقی کے لیے "اگلے عظیم پلیٹ فارم" کو متعارف کرانے کی کوشش کی طویل داستان تھی، تقریبا ہمیشہ کسی نہ کسی طرح کے کراس پلیٹ فارم سسٹم کی شکل میں۔ ان کی پہلی کوشش بیڈرک تھی، ایک کلاس لائبریری جو سمنٹیک کے ساتھ شراکت میں بنائی گئی تھی جو میک اور ونڈوز پر چلتی تھی، جس کی طویل موت ہوگئی کیونکہ دونوں فریقوں نے بالآخر دوسرے کے ساتھ کام کرنا چھوڑ دیا۔ ان کے مسائل کی ایک وجہ اوپن ڈاک کی تخلیق تھی، جسے خود ایک کراس پلیٹ فارم سسٹم کے طور پر تیار کیا گیا تھا جو براہ راست بیڈرک کے ساتھ مقابلہ کرتا تھا۔ بیڈرک کو اوپن ڈاک پلیٹ فارم کے طور پر قائم کرنے کی کچھ کوششیں کی گئیں، لیکن اس سے کچھ نہیں نکلا۔ جب یہ پیش رفت ہو رہی تھی، ایم پی ڈبلیو اور میک ایپ کو بڑی حد تک نظر انداز کر دیا گیا۔ ان ڈویلپر وسائل کو ان نئے منصوبوں میں ڈالنا زیادہ ضروری تھا تاکہ انہیں جلد مارکیٹ تک پہنچنے میں مدد ملے۔ لیکن جب بیڈرک ناکام ہوا اور اوپن ڈاک کو ہلکا گرم استقبال ملا تو میک کے پاس ایسے ٹولز رہ گئے جو اب تقریبا ایک دہائی پرانے تھے اور تیسرے فریق کی نئی مصنوعات کے ساتھ مقابلہ نہیں کر سکتے تھے۔ 1990 کی دہائی کے اوائل میں مسابقتی فریم ورک میک ایپ کے حقیقی حریف بن گئے۔ پہلے سمنٹیک کے ٹی سی ایل نے پیروی حاصل کی، لیکن پھر میٹروورکس کے پاور پلانٹ نے عام طور پر پوری مارکیٹ پر قبضہ کر لیا۔ میک ایپ کے بنیادی ڈویلپرز نے 1990 کی دہائی میں کم سرگرمی کی سطح پر سسٹم پر کام جاری رکھا۔ جب ایپل کے تمام "آفیشل" کراس پلیٹ فارم پروجیکٹس منہدم ہو گئے تو 1996 کے آخر میں ٹیم نے اعلان کیا کہ وہ میک ایپ کا کراس پلیٹ فارم ورژن فراہم کریں گے۔ اس کے فورا بعد، ایپل نے NeXT خریدا اور اعلان کیا کہ اوپن اسٹیپ کوکو کے نام سے آگے بڑھتے ہوئے ایپل کا بنیادی ترقیاتی پلیٹ فارم ہوگا۔ کوکو پہلے سے ہی کراس پلیٹ فارم تھا، اس وقت پہلے ہی تقریبا چھ پلیٹ فارمز پر پورٹ کیا جا چکا تھا، اور میک ایپ سے کہیں زیادہ جدید تھا۔ اس کے نتیجے میں موجودہ میک پروگرامرز کی طرف سے سخت احتجاج کیا گیا کہ ان کے پروگراموں کو "پینلٹی باکس" میں بھیجا جا رہا ہے، جسے مؤثر طریقے سے ترک کر دیا گیا ہے۔ ڈبلیو ڈبلیو ڈی سی '98 میں، اسٹیو جابز نے اعلان کیا کہ کوکو کے اقدام کے بارے میں منفی تاثرات کو کاربن سسٹم کے تعارف کے ذریعے حل کیا جا رہا ہے۔ کاربن موجودہ میک پروگراموں کو کچھ تبدیلی کے بعد نئے آپریٹنگ سسٹم کے تحت مقامی طور پر چلانے کی اجازت دے گا۔ میٹروورکس نے اعلان کیا کہ وہ اپنے پاور پلانٹ فریم ورک کو کاربن پر پورٹ کریں گے، لیکن میک ایپ کے حوالے سے ایپل کی طرف سے ایسا کوئی اعلان نہیں کیا گیا۔ اس عرصے کے دوران وفادار میک ایپ صارفین کا ایک مرکز رہا جو ایپل کے رویے پر تیزی سے مایوس ہو گئے۔ 1990 کی دہائی کے آخر تک، کوکو کے تعارف کے دوران، یہ پروڈکٹ کو یکسر مسترد کرنے تک بڑھ گیا تھا۔ حالات اتنے خراب تھے کہ میک ایپ صارفین کا ایک گروپ ڈبلیو ڈبلیو ڈی سی '98 میں ایک فرضی نام کے تحت اپنی میٹنگ کا اہتمام کرنے تک چلا گیا، تاکہ ایپل کے عملے کے افراد انہیں ملنے کے لیے کمرے سے انکار کرنے سے بچ سکیں۔ یہ جاری حمایت ایپل کے اندر دیکھی گئی، اور 1999 کے آخر میں ایک "نئی" میک ایپ ٹیم، جو ان اراکین پر مشتمل تھی جنہوں نے اس پر پورے وقت کام کیا تھا، کو ایک نیا ورژن جاری کرنے کا کام سونپا گیا۔ اس میں نئے ایپل کلاس سویٹس (اے سی ایس)، اوپن اسٹیپ سے متعارف کرائے جانے والے میک او ایس کی بہت سی نئی خصوصیات کے لیے سی + + ریپرز کی ایک پتلی پرت، اور پروجیکٹ بلڈر میں تعمیر کے لیے سپورٹ شامل تھی۔ میک ایپ 3 ریلیز XV کو 28 اگست 2001 کو بہت سے لوگوں کی خوشی کے لیے جاری کیا گیا تھا۔ تاہم، اکتوبر میں پروڈکٹ کو ایک بار پھر ختم کر دیا گیا، اس بار ہمیشہ کے لیے، اور میک ایپ کے موجودہ ورژن کے لیے سپورٹ باضابطہ طور پر ختم کر دی گئی۔ کاربن کے مطابق پاور پلانٹ ایکس 2004 تک نہیں بھیجا گیا تھا، اور آج کوکو میک او ایس اور آئی او ایس پروگرامنگ دونوں کے لیے تقریبا عالمگیر ہے۔ میک ایپ آج میک ایپ کو ڈویلپرز کے ایک سرشار گروپ کے ذریعہ زندہ رکھا جا رہا ہے جنہوں نے 2001 میں ایپل کی حمایت بند کرنے کے بعد سے فریم ورک کو برقرار رکھا ہے اور اسے بڑھایا ہے۔ میک ایپ کو کاربن ایونٹس، یونیورسل بائنریز، یونیکوڈ ٹیکسٹ، ایم ایل ٹی ای کنٹرول، ڈیٹا براؤزر کنٹرول، ایف ایس آر ای ایف، ایکس ایم ایل پارسنگ، کسٹم کنٹرول، کمپوزٹ ونڈو، ڈراور ونڈو، ایچ آئی وی ویو ونڈو اور کسٹم ونڈوز کو مکمل طور پر سپورٹ کرنے کے لیے اپ ڈیٹ کیا گیا ہے۔ میک ایپ میں ایچ آئی او آبجیکٹ اور ایچ آئی وی ویو کے لیے سی + + ریپر کلاسز بھی ہیں۔ اس کے علاوہ پاسکل ورژن، جو بنیادی طور پر میک ایپ-2 پر مبنی ہے، میک او ایس ایکس اور ایکس کوڈ پر پورٹ کیا گیا ہے۔ اس میں خودکار بائٹ-سویپنگ کے ساتھ لمبے یونیکوڈ فائل کے نام اور اسٹریم شدہ دستاویزات شامل ہیں۔ میک ایپ ایکس کوڈ آئی ڈی ای کی حمایت کرتا ہے۔ درحقیقت ڈبلیو ڈبلیو ڈی سی 2005 میں، ایپل کے انٹیل سی پی یو میں منتقلی کا اعلان کرنے کے بعد، یونیورسل بائنریز کو سپورٹ کرنے کے لیے میک ایپ اور میک ایپ مثال ایپس کو اپ ڈیٹ کرنے میں ایک واحد ڈویلپر کو 48 گھنٹے لگے۔ تفصیل یہ تفصیل میک ایپ 3 پر مبنی ہے، جس کا بنیادی ماڈل پہلے والے 2 کے مقابلے میں زیادہ جدید تھا اور بہت سے اہم طریقوں سے مختلف تھا۔ میک او ایس میں خود ایک بہت ہی آسان ایونٹ ہینڈنگ سسٹم ہے۔ آپریٹنگ سسٹم سے ایپلی کیشن میں منتقل ہونے والے ایونٹ کے ڈھانچے میں صرف ایونٹ کی قسم ہوتی ہے جیسے "کی پریس" یا "ماؤس کلک"، اور اس کے مقام کی تفصیلات اور ترمیم کنندگان کی چابیاں رکھی جاتی ہیں۔ یہ ایپلی کیشن پر منحصر ہے کہ وہ اس سادہ معلومات کو صارف کے عمل میں ڈی کوڈ کرے، مثال کے طور پر، مینو کمانڈ پر کلک کرنا۔ اسکرین پر موجود اشیا کی فہرستوں کے ذریعے چلنا اور یہ چیک کرنا کہ آیا واقعہ ان کی حدود میں ہوا ہے، اس کو ڈی کوڈ کرنا مشکل ہو سکتا ہے۔ میک ایپ نے کمانڈ پیٹرن کا استعمال کرتے ہوئے اس مسئلے کا حل فراہم کیا، جس میں صارف کے اعمال کو ایونٹ کی تفصیلات پر مشتمل اشیاء میں شامل کیا جاتا ہے، اور پھر انہیں انجام دینے کے لیے مناسب آبجیکٹ پر بھیجا جاتا ہے۔ ایونٹ کو "مناسب آبجیکٹ" پر نقش کرنے کی منطق کو مکمل طور پر فریم ورک اور اس کے رن ٹائم کے اندر سنبھالا گیا، جس سے اس کام کی پیچیدگی بہت کم ہو گئی۔ یہ میک ایپ کی اندرونی مشینری کا کام ہے کہ وہ بنیادی او ایس ایونٹس کو لے کر، ان کا لفظی طور پر اعلی سطح کے کمانڈوں میں ترجمہ کرے، اور پھر کمانڈ کو مناسب آبجیکٹ تک پہنچائے۔ میک ایپ نے نہ صرف مصنف کو یہ کوڈ لکھنے سے راحت دی، جس کی ہر پروگرام کو ضرورت ہوتی ہے، بلکہ ایک ضمنی اثر کے طور پر بھی اس ڈیزائن نے کوڈ کو صاف طور پر کمانڈز، صارف کا سامنا کرنے والے اعمال، اور ان کے ہینڈلرز، اندرونی کوڈ میں الگ کیا جس نے کام کیا۔ مثال کے طور پر، کسی کے پاس "ٹرن گرین" اور "ٹرن ریڈ" کے لیے کمانڈز ہو سکتے ہیں، جن دونوں کو ایک ہی فنکشن، چینج کلر () کے ذریعے سنبھالا جاتا ہے۔ ایک ایسا پروگرام جس نے کمانڈز اور ہینڈلرز کو صاف طور پر الگ کیا تھا، ایپل کی بول چال میں، فیکٹر کیا گیا تھا۔ سسٹم 7 سے شروع ہونے والے میک او ایس کے بعد کے ورژن میں کسی پروگرام کی فیکٹرنگ خاص طور پر اہم تھی۔ سسٹم 7 نے ایپل ایونٹس سسٹم متعارف کرایا، جس نے اصل میک او ایس کے ایونٹ سسٹم کو بہت زیادہ امیر کے ساتھ بڑھایا جسے ایپلی کیشنز کے درمیان بھیجا جا سکتا تھا، نہ کہ صرف او ایس سے کسی خاص ایپلی کیشن تک۔ اسے ایپل اسکرپٹ سسٹم کے ساتھ جوڑا گیا جس نے ان ایونٹس کو اسکرپٹنگ کوڈ سے تیار کرنے کی اجازت دی۔ میک ایپ 3 میں، ایپل ایونٹس کو انہی کمانڈوں میں ڈی کوڈ کیا گیا تھا جیسے کہ وہ براہ راست صارف کے اقدامات سے شروع کیے گئے ہوں، اس کا مطلب یہ ہے کہ ڈویلپر کو ایپل ایونٹس کو براہ راست ہینڈل کرنے کے لیے زیادہ، اگر کوئی ہو، کوڈ لکھنے کی ضرورت نہیں تھی۔ یہ میک ایپ 2 سمیت پہلے کے سسٹمز استعمال کرنے والے ڈویلپرز کے لیے ایک بڑا مسئلہ تھا، جس میں ایسی کوئی علیحدگی نہیں تھی اور اکثر ایپل ایونٹ سپورٹ کو چھوڑ دیا جاتا تھا۔ ایک ایپلیکیشن فریم ورک کے طور پر اپنے کردار کو مدنظر رکھتے ہوئے، میک ایپ میں بہت سے پہلے سے رول شدہ آبجیکٹ بھی شامل تھے جو زیادہ تر بنیادی میک جی یو آئی کا احاطہ کرتے تھے-ونڈوز، مینو، ڈائیلاگ اور اسی طرح کے ویجٹ سبھی سسٹم کے اندر نمائندگی کرتے تھے۔ بدقسمتی سے، ایپل عام طور پر "حقیقی دنیا" میں قابل استعمال نظام فراہم کرنے کے بجائے موجودہ اندرونی میک او ایس کوڈ پر ہلکے وزن والے ریپر فراہم کرتا ہے۔ مثال کے طور پر، ٹی ٹی ای ویو کلاس کو معیاری ٹیکسٹ ایڈیٹر ویجیٹ کے طور پر پیش کیا گیا تھا، لیکن بنیادی ٹیکسٹ ایڈیٹ کا نفاذ انتہائی محدود تھا اور خود ایپل نے اکثر کہا کہ اسے پیشہ ورانہ ایپلی کیشنز کے لیے استعمال نہیں کیا جانا چاہیے۔ نتیجے کے طور پر، ڈویلپرز کو اکثر اس قسم کی ضروریات کو پورا کرنے کے لیے ایڈ آن آبجیکٹ خریدنے یا خود رول کرنے پر مجبور کیا جاتا تھا۔ پیشہ ورانہ معیار کے جی یو آئی آبجیکٹ کے سیٹ کی کمی کو میک ایپ کے سب سے بڑے مسائل میں سے ایک سمجھا جا سکتا ہے۔ ان مسائل کو میک ایپ آر 16 کی ریلیز کے ساتھ حل کیا گیا ہے۔ میک ایپ آر 16 تمام میک ایپ جی یو آئی آبجیکٹ کے لیے معیاری کاربن کنٹرول استعمال کرتا ہے۔ مثال کے طور پر، کاربن نے مکمل یونیکوڈ ٹیکسٹ اور طویل دستاویز کی حمایت کے لیے کثیر لسانی ٹیکسٹ انجن (ایم ایل ٹی ای) متعارف کرایا۔ آر 16 میں، اصل ٹی ٹی ای ویو کلاس کو ٹی ایم ایل ٹی ویو نے ختم کر دیا ہے، جو ایم ایل ٹی ای کنٹرول کا استعمال کرتا ہے۔ قابل ذکر صارفین ایڈوب فوٹوشاپ اصل میں میک ایپ 1.1 کے ساتھ آبجیکٹ پاسکل میں لکھا گیا تھا، اور بعد میں فوٹوشاپ 2.5 کے لیے سی + + اور میک ایپ 3.0 پر پورٹ کیا گیا۔ ایپل کے ذریعہ میک ایپ کی منسوخی کے بعد، دیکھ بھال کو فوٹوشاپ ڈویلپمنٹ ٹیم نے اندرونی طور پر سنبھال لیا، پاور پی سی میں پورٹ کیا گیا، اور ونڈوز پلیٹ فارم پورٹ کے ساتھ شیئر کرنے کے لیے تبدیل کر دیا گیا۔ حوالہ جات بیرونی لنکس میک ایپ کے لیے پروگرامرز گائیڈ-انسائیڈ میکنٹوش سیریز میکنٹوش آپریٹنگ سسٹم API کلاسک میک او ایس پروگرامنگ ٹولز سے مکمل دستاویزات