Visual Component Framework
بصری جزو فریم ورک (وی سی ایف) مائیکروسافٹ ونڈوز اور ایپل میکنٹوش کے تحت ترقی کے لیے ایک ترک شدہ اوپن سورس پروجیکٹ ہے جو بی ایس ڈی لائسنس کے تحت تقسیم کیا گیا ہے۔ یہ ایک جدید سی + + ایپلی کیشن فریم ورک ہے جو جی یو آئی پر مبنی سی + + ایپلی کیشنز تیار کرنا آسان بناتا ہے۔ فریم ورک سی + + ڈیزائن ہے اور تیز رفتار ایپلی کیشن ڈویلپمنٹ کی حمایت میں بنایا گیا ہے۔ فریم ورک کو متعدد پلیٹ فارمز اور مرتب کرنے والوں پر پورٹیبل ہونے کے لیے ڈیزائن کیا گیا ہے۔ یہ فریم ورک ونڈوز اور میک او ایس ایکس کے تحت چلتا ہے، لیکن 6 اپریل 2006 تک میک پورٹ نامکمل تھا، اور لینکس پورٹ ابھی زیر التوا تھا۔ اس پروجیکٹ نے مختلف قسم کے مرتب کرنے والوں اور مربوط ترقیاتی ماحول (آئی ڈی ای) کی حمایت کرنے کے لیے ایک بڑی کوشش کی ہے، جس سے ڈویلپر کو جو بھی آئی ڈی ای/مرتب پسند ہے اس میں کام کرنے کی اجازت ملتی ہے۔ ونڈوز پر کمپائلر سپورٹ مائیکروسافٹ ویژول سی + + ورژن 6، 7، 7.1، اور 8 کے ساتھ ساتھ بورلینڈ سی + + کمپائلر، انٹیل سی + + کمپائلر، اور جی سی سی کا احاطہ کرتا ہے۔ میک او ایس ایکس پر جی سی سی کو ایکس کوڈ آئی ڈی ای کا استعمال کرتے ہوئے سپورٹ کیا جاتا ہے۔ ایک کوڈ واریر پورٹ مکمل کیا گیا تھا، لیکن کوڈ واریر کے مرتب کے x86 ورژن اور بعد میں ان کے پاور پی سی ورژن کے لیے بھی سپورٹ چھوڑنے کی وجہ سے اسے روک دیا گیا۔ یہ فریم ورک کسی بھی پلیٹ فارم کے لیے بی ایس ڈی لائسنس کے تحت لائسنس یافتہ ہے جس پر یہ چلتا ہے۔ ڈیزائن اور اہداف فریم ورک کئی اہداف کو ذہن میں رکھتے ہوئے ڈیزائن کیا گیا ہے۔ ایک ونڈوز سے باہر دوسرے پلیٹ فارمز پر پورٹ کرنے کی صلاحیت ہے، جیسے میک او ایس ایکس، بی او ایس، یا ممکنہ طور پر یہاں تک کہ سرایت شدہ آپریٹنگ سسٹم جیسے ونڈوز سی ای۔ اگلا مقصد متحرک پروگرامنگ کے لیے ٹھوس مدد فراہم کرنا ہے جیسے کہ بورلینڈ کے آبجیکٹ پاسکل، جاوا، یا آبجیکٹیو-سی جیسی زبانوں میں پایا جاتا ہے۔ اس میں آر ٹی ٹی آئی یا ریفلیکشن جیسی کلاسیں شامل تھیں جو ڈویلپر کو رن ٹائم پر دی گئی کلاس کی مثال کے بارے میں ہر طرح کی معلومات حاصل کرنے کی اجازت دیتی ہیں۔ ایک اور مقصد UI کلاسوں کو ڈیزائن کرنا تھا تاکہ بصری پروگرامنگ یا تیز رفتار ایپلی کیشن کی ترقی ممکن ہو، جیسا کہ ڈیلفی میں پایا جاتا ہے۔ اس میں پراپرٹی ایڈیٹرز، جزو ایڈیٹرز کے لیے معاونت، بیرونی ٹیکسٹ فائل میں اور اس سے UI ریاست کی استقامت، اور متحرک خصوصیات کا استعمال کرتے ہوئے کلاس کی مثالیں بنانا اور مثال کی رجسٹرڈ خصوصیات کو حاصل کرنا اور سیٹ کرنا شامل ہے۔ اس کے علاوہ، آخری مقصد یہ تھا کہ کسی ایپلی کیشن کو تیار کرتے وقت، خاص طور پر بڑے پیمانے پر ایپلی کیشنز کے لیے، بڑی تعداد میں عام پروگرامنگ کاموں کے لیے مدد فراہم کی جائے۔ اس میں مختلف قسم کے آئی او (میموری، فائل/ڈسک وغیرہ میں)، تھریڈ سپورٹ اور مختلف سنکرونائزیشن پرائمیٹوز جیسے میوٹیکس، سیمافورز، اور کنڈیشنز، یونیکوڈ سٹرنگ سپورٹ، لوکل اور انٹرنیشنلائزیشن سپورٹ بشمول لوکلائزنگ سٹرنگ ریسورسز، جامع ریسورس سپورٹ، اور بنیادی ایکس ایم ایل پارسنگ کے لیے سپورٹ شامل ہے۔ گرافکس کی خصوصیات میں اینٹی گرین گرافکس لائبریری کا استعمال کرتے ہوئے اینٹی ایلائزڈ گرافکس، مکمل افائن ٹرانسفارمیشن سپورٹ، امیج کے پکسل بٹس تک براہ راست رسائی والی تصاویر شامل ہیں۔ اضافی ایپلیکیشن سپورٹ خصوصیات میں کلاسز کو کالعدم/دوبارہ کرنا، ماڈل ویو کنٹرولر کے لیے جدید سپورٹ بھی شامل ہیں۔ عام اصول کے طور پر، فریم ورک معیاری ٹیمپلیٹ لائبریری کا زیادہ سے زیادہ استعمال کرتا ہے، کنٹینر کلاسز، یا سٹرنگ ہینڈلنگ جیسی چیزوں پر کام کی نقل سے گریز کرتا ہے۔ جہاں ممکن ہو فریم ورک مقامی سی + + آر ٹی ٹی آئی سپورٹ کے اوپر بناتا ہے جیسے کہ ڈائنامک کاسٹ اور ٹائپڈ کا استعمال کرنا، اس کے بجائے اسے دوبارہ نافذ کرنا۔ زیادہ تر او ایس آبجیکٹ، جیسے فائلیں، تھریڈز، گرافکس ڈیوائسز، اور ونڈو کنٹرولز (یا ویجٹ) وغیرہ، ایک پتلی پرت کا استعمال کرتے ہوئے نافذ کیے جاتے ہیں جو براہ راست مخصوص مقامی آبجیکٹ سے بات کرتی ہے۔ UI کنٹرولز کی زیادہ تر حصے میں تقلید نہیں کی جاتی ہے، اس کے بجائے فریم ورک زیادہ تر جگہوں پر مقامی ویجٹ کا استعمال کرتا ہے۔ بنیادی او ایس "ہینڈل" تک براہ راست رسائی کی اجازت ان صورتوں میں دی جاتی ہے جہاں پلیٹ فارم کی مخصوص فعالیت کی ضرورت ہوتی ہے، جس سے ڈویلپر آسانی سے پلیٹ فارم کے مقامی اے پی آئی کو کال کر سکتا ہے۔ سافٹ ویئر جزو ویجیٹ ٹول کٹ ویجیٹ ٹول کٹ کی فہرست کیو ٹی ڈبلیو ایکس ویجیٹ موٹیف جی ٹی کے + جی ٹی کے ایم ایم ایف ایل ٹی کے فاکس ٹول کٹ الٹیمیٹ + + بیرونی لنکس وی سی ایف حوالہ دستاویز وی سی ایف ماخذ دستاویز وی سی ایف بلڈر ہوم پیج اینٹی گرین گرافکس لائبریری سافٹ ویئر بی ایس ڈی لائسنس ویجیٹ ٹول کٹ کا استعمال کرتے ہوئے