Visual Component Framework
ভিজ্যুয়াল কম্পোনেন্ট ফ্রেমওয়ার্ক (ভি. সি. এফ) হল মাইক্রোসফ্ট উইন্ডোজ এবং অ্যাপল ম্যাকিনটোসের অধীনে উন্নয়নের জন্য একটি পরিত্যক্ত ওপেন সোর্স প্রকল্প যা বি. এস. ডি লাইসেন্সের অধীনে বিতরণ করা হয়। এটি একটি উন্নত সি + + অ্যাপ্লিকেশন কাঠামো যা জিইউআই-ভিত্তিক সি + + অ্যাপ্লিকেশন তৈরি করা সহজ করে তোলে। কাঠামোটি সি + + নকশা এবং দ্রুত অ্যাপ্লিকেশন বিকাশের সমর্থনে নির্মিত হয়েছে। কাঠামোটি একাধিক প্ল্যাটফর্ম এবং সংকলকের মাধ্যমে বহনযোগ্য হওয়ার জন্য ডিজাইন করা হয়েছে। কাঠামোটি উইন্ডোজ এবং ম্যাক ওএস এক্স-এর অধীনে চলে, কিন্তু 6ই এপ্রিল, 2006 পর্যন্ত ম্যাক পোর্ট অসম্পূর্ণ ছিল এবং একটি লিনাক্স পোর্ট এখনও মুলতুবি ছিল। প্রকল্পটি বিভিন্ন কম্পাইলার এবং ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (আইডিই) সমর্থন করার জন্য একটি বড় প্রচেষ্টা করেছে, যা ডেভেলপারকে তাদের পছন্দ মতো যে কোনও আইডিই/কম্পাইলারে কাজ করার অনুমতি দেয়। উইন্ডোজে কম্পাইলার সমর্থন বোরল্যান্ড সি + + কম্পাইলার, ইন্টেল সি + + কম্পাইলার এবং জিসিসি সহ মাইক্রোসফ্ট ভিজ্যুয়াল সি + + সংস্করণ 6,7,7.1 এবং 8 কে অন্তর্ভুক্ত করে। ম্যাক ওএস এক্স-এ জিসিসি এক্সকোড আইডিই ব্যবহার করে সমর্থিত। একটি কোডওয়ারিয়র পোর্ট সম্পন্ন হয়েছিল, কিন্তু কোডওয়ারিয়র তাদের কম্পাইলারের x86 সংস্করণের জন্য এবং পরে তাদের পাওয়ারপিসি সংস্করণের জন্যও সমর্থন ছেড়ে দেওয়ার কারণে বন্ধ হয়ে যায়। এই কাঠামোটি যে কোনও প্ল্যাটফর্মের জন্য বিএসডি লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। নকশা এবং লক্ষ্য কাঠামোটি বিভিন্ন লক্ষ্যের কথা মাথায় রেখে তৈরি করা হয়েছে। একটি হল উইন্ডোজের বাইরে অন্যান্য প্ল্যাটফর্মে পোর্ট করার ক্ষমতা, যেমন ম্যাক ওএস এক্স, বিওএস, বা সম্ভবত উইন্ডোজ সিই-এর মতো এমবেডেড অপারেটিং সিস্টেম। পরবর্তী লক্ষ্য হল বোরল্যান্ডের অবজেক্ট পাস্কাল, জাভা বা অবজেক্ট-সি-এর মতো ভাষায় পাওয়া গতিশীল প্রোগ্রামিংয়ের জন্য দৃঢ় সমর্থন প্রদান করা। এর মধ্যে আর. টি. টি. আই বা প্রতিফলনের মতো ক্লাস অন্তর্ভুক্ত ছিল যা ডেভেলপারকে রানটাইমে প্রদত্ত ক্লাসের উদাহরণ সম্পর্কে সমস্ত ধরণের তথ্য অনুসন্ধান করতে দেয়। আরেকটি লক্ষ্য ছিল ইউ. আই ক্লাসগুলি ডিজাইন করা যাতে ভিজ্যুয়াল প্রোগ্রামিং বা দ্রুত অ্যাপ্লিকেশন বিকাশ সম্ভব হয়, যা ডেলফিতে পাওয়া যায়। এর মধ্যে রয়েছে সম্পত্তি সম্পাদক, উপাদান সম্পাদকদের জন্য সমর্থন, একটি বাহ্যিক পাঠ্য ফাইল থেকে এবং থেকে ইউআই অবস্থার অধ্যবসায়, এবং গতিশীল বৈশিষ্ট্যগুলি ব্যবহার করে শ্রেণী দৃষ্টান্ত তৈরি করা এবং দৃষ্টান্তের নিবন্ধিত বৈশিষ্ট্যগুলি পেতে এবং সেট করা। এর পাশাপাশি, শেষ লক্ষ্য ছিল একটি অ্যাপ্লিকেশন তৈরি করার সময়, বিশেষ করে বড় আকারের অ্যাপ্লিকেশনগুলির জন্য, বিপুল সংখ্যক সাধারণ প্রোগ্রামিং কাজের জন্য সহায়তা প্রদান করা। এর মধ্যে রয়েছে বিভিন্ন ধরনের আইও (মেমরি, ফাইল/ডিস্ক ইত্যাদি), থ্রেড সমর্থন এবং বিভিন্ন সিঙ্ক্রোনাইজেশন প্রিমিটিভ যেমন মিউট্যাক্স, সেমাফোর এবং শর্তাবলী, ইউনিকোড স্ট্রিং সমর্থন, স্থানীয়করণ স্ট্রিং সংস্থান, ব্যাপক সংস্থান সমর্থন এবং মৌলিক এক্সএমএল পার্সিং সহ স্থানীয়করণ এবং আন্তর্জাতিককরণ সমর্থন। গ্রাফিক্স বৈশিষ্ট্যগুলির মধ্যে রয়েছে অ্যান্টি-গ্রেন গ্রাফিক্স লাইব্রেরি ব্যবহার করে অ্যান্টি-এলিয়াসড গ্রাফিক্স, সম্পূর্ণ অ্যাফিন রূপান্তর সমর্থন, চিত্রের পিক্সেল বিটগুলিতে সরাসরি অ্যাক্সেস সহ চিত্রগুলি। অতিরিক্ত অ্যাপ্লিকেশন সমর্থন বৈশিষ্ট্যগুলির মধ্যে রয়েছে ক্লাসগুলি পূর্বাবস্থায় ফিরিয়ে আনা/পুনরায় করা, মডেল ভিউ কন্ট্রোলারের জন্য উন্নত সমর্থন। একটি সাধারণ নিয়ম হিসাবে, কাঠামোটি স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরির যতটা সম্ভব ব্যবহার করে, ধারক শ্রেণী বা স্ট্রিং হ্যান্ডলিংয়ের মতো জিনিসগুলিতে কাজের অনুলিপি এড়ানো। যেখানে সম্ভব কাঠামোটি স্থানীয় সি + + আরটিটিআই সমর্থনের উপরে তৈরি করে যেমন ডায়নামিক _ কাস্ট এবং টাইপিড ব্যবহার করে, কেবল এটি পুনরায় প্রয়োগ করার পরিবর্তে। বেশিরভাগ ওএস অবজেক্ট, যেমন ফাইল, থ্রেড, গ্রাফিক্স ডিভাইস এবং উইন্ডো নিয়ন্ত্রণ (বা উইজেট) ইত্যাদি একটি পাতলা স্তর ব্যবহার করে প্রয়োগ করা হয় যা সরাসরি নির্দিষ্ট নেটিভ অবজেক্টের সাথে কথা বলে। ইউ. আই নিয়ন্ত্রণগুলি বেশিরভাগ ক্ষেত্রে অনুকরণ করা হয় না, পরিবর্তে কাঠামোটি বেশিরভাগ জায়গায় নেটিভ উইজেট ব্যবহার করে। প্ল্যাটফর্ম নির্দিষ্ট কার্যকারিতার প্রয়োজন হলে অন্তর্নিহিত ওএস "হ্যান্ডেল"-এ সরাসরি প্রবেশাধিকারের অনুমতি দেওয়া হয়, যা বিকাশকারীকে সহজেই প্ল্যাটফর্মের নেটিভ এপিআইগুলিতে কল করার অনুমতি দেয়। আরও দেখুন সফ্টওয়্যার কম্পোনেন্ট উইজেট টুলকিট উইজেট টুলকিটগুলির তালিকা কিউটি ডাব্লুএক্সউইজেট মোটিফ জিটিকে + জিটিকেএমএম এফএলটিকে ফক্স টুলকিট আলটিমেট + + এক্সটার্নাল লিঙ্ক ভি. সি. এফ রেফারেন্স ডকুমেন্টেশন ভি. সি. এফ সোর্স ডকুমেন্টেশন ভি. সি. এফ বিল্ডার হোমপেজ অ্যান্টি-গ্রেন গ্রাফিক্স লাইব্রেরি সফ্টওয়্যার বিএসডি লাইসেন্স উইজেট টুলকিট ব্যবহার করে