কিভি

কিভি (ইংরেজিঃ Kivy) একটি মুক্তসোর্স পাইথন লাইব্রেরী যা মূলত ন্যাচারাল ইউজার ইন্টারফেস (NUI) সমৃদ্ধ মাল্টিটাচ এ্যপ্লিকেশন সফটওয়্যার তৈরি করার জন্য প্রস্তুত করা হয়েছে। গুই (GUI) বা গ্রাফিক্যাল ইউজার ইন্টারফেস ফ্রেমওয়ার্ক গুলোর বেশিরভাগই কোন না কোন সুনির্দিষ্ট অপারেটিং সিস্টেম (ও/এস) নির্ভর। অর্থাৎ বেশিরভাগ গুই লাইব্রেরি কোন একটি নির্দিষ্ট ও/এসকে কেন্দ্র করে উন্নয়ন করা হয়। ফলে এক ও/এসের জন্য লেখা লাইব্রেরী দিয়ে প্রস্তুতকৃত এ্যপ অন্য ও/এসে নির্বাহ করা সম্ভব হয় না। কিভি এই সীমাবদ্ধতা দূর করার লক্ষ্যে নেয়া একটি উচ্চাভিলাষী পদক্ষেপ। কিভিতে প্রস্তুতকৃত এ্যপ প্রায় সকল জনপ্রিয় ও/এসে কোন ধরনের পরিবর্তন বা অভিযোজন ছাড়াই নির্বাহ করা সম্ভব হয়। বর্তমানে কিভি যেসকল ও/এস সমর্থন করছে সেগুলো হলঃ উইন্ডোজ, ম্যাক ও/এস এক্স, লিনাক্স, অ্যান্ড্রয়েড, অ্যাপলের আইওএস, রাস্পবেরি পাই ও/এস ইত্যাদি। কিভি এমআইটি লাইসেন্সের আওতাধীন মুক্তসোর্স ও বিনামূল্যে বিতরণযোগ্য ফ্রেমওয়ার্ক।

বৈশিষ্ট্য 

 কিভির প্রধান বৈশিষ্ট্য হল এতে কেভি ল্যাংগুয়েজ বা কিভি ল্যাংগুয়েজ (কিভি ল্যাংগুয়েজকে সংক্ষেপে কেভিল্যাং বলা হয়।) নামক একটি পৃথক প্রোগ্রামিং ভাষা ব্যবহার করে গুই বা ইউজার ইন্টারফেস তৈরি করার সুবিধা রাখা হয়েছে। এতে করে খুব সহজেই প্রোগ্রামের গ্রাফিক্যাল কোড ব্লক ও লজিক্যাল কোড ব্লককে পৃথক করা সম্ভব হয়েছে। কেভিল্যাংয়ের আরেকটি বিশেষ সুবিধা হল এতে করে একজন প্রোগ্রামার প্রচুর কোড লেখার ঝামেলা থেকে মুক্ত হন। উপরন্তু কেভিল্যাংকে এতটাই সহজ করে লেখার ব্যবস্থা করা হয়েছে যে এই ভাষার সাথে সিএসএসের (ক্যাসকেডিং স্টাইল শিট) তুলনা করা যায়। সিএসএসের মতই কেভিল্যাং ব্যবহার করে খুব সহজে ইন্টারফেসে বিভিন্ন উইডগেট যুক্ত করা যায়, উইডগেটগুলোর প্রোপার্টিজ ও প্রোপার্টিজের ভ্যালু বর্ণনা করা যায়।
 কিভি লাইব্রেরী বর্তমানে প্রচলিত প্রায় সব ধরনের উইডগেটই সমর্থন করে। কিভিতে ব্যবহৃত উইডগেট ক্লাসগুলোকে মোটামুটি ৫ ভাগে ভাগ করা যায়।

 ইউএক্স উইডগেট স্মুহঃ লেবেল, বাটন, চেকবক্স, ইমেজ, স্লাইডার, প্রোগ্রেস বার, টেক্সট ইনপুট, টোগল বাটন, সুইচ ও ভিডিও।
 লেআউট উইডগেট সমূহঃ গ্রিড লেআউট, ফ্লোট লেআউট, এঙ্কর লেআউট, বক্স লেআউট, স্ট্যাক লেআউট।
 কমপ্লেক্স ইউএক্স উইডগেট সমূহঃ বাবল, ড্রপডাউন লিস্ট, ফাইল চুজার, পপআপ, স্পিনার, লিস্ট ভিউ, ট্যাবড প্যানেল, ভিডিও প্লেয়ার, ভিকিবোর্ড।
 বিহাভিয়ার্স উইডগেট সমূহঃ স্কেটার, স্ট্যান্সিল ভিউ।
 স্ক্রিন ম্যানেজার উইডগেটঃ স্ক্রিন ম্যানেজার।

 কিভি নেটিভ ইন্টারফেস সমর্থন করে।
 কিভি ব্যবহার করে মাল্টিটাচ গেইম উন্নয়ন করা যায়। এরজন্য কিভিতে পাইগেইম নামক লাইব্রেরীটি বাই ডিফল্ট যুক্ত করা থাকে।
 কিভি প্রচলিত প্রায় সকল ধরনের ইনপুট ডিভাইস ও পদ্ধতি সমর্থন করে যেমন, মাউস, কিবোর্ড, ট্যানজিবল ইউজার ইন্টারফেস, ও/এস ভিক্তিক মাল্টিটাচ ইভেন্ট সমূহ।
 ভারটেক্স বাফার অবজেক্ট এবং শেডারস ভিক্তিক একটি গ্রাফিকস লাইব্রেরি রয়েছে যা ওপেন জিএল ইএস ২ ব্যবহার করে।

ডকুমেন্টেশন

কিভির অফিসিয়াল ওয়েবসাইটে সম্পূর্ণ লাইব্রেরীটির উপর একটি বিস্তারিত ডকুমেন্টেশন রয়েছে। সম্পূর্ণ ডকুমেন্টেশনটি পিডিএফ আকারে ডাউনলোড করার সুবিধা সংযোজন করা হয়েছে। তাছাড়া কিভির অ্যাপলিকেশন প্রোগ্রামিং ইন্টারফেসের জন্য একটি বিশদ এপিআই রেফারেন্সও রয়েছে। গিটহাবে প্রয়োজনীয় লিংকসহ একটি উইকি প্রকাশনা রয়েছে।

উন্নয়নকারী 

কিভি একটি কমিউনিটি প্রজেক্ট যা বেশ কয়েকজন পেশাদার সফটওয়্যার উন্নয়নকারীদের সমন্বিত প্রচেষ্টায় সফল করা সম্ভব হয়েছে। কিভি লাইব্রেরী গড়ে তোলার পেছনে যাদের অবদান বেশি বলে গণ্য করা হয় তারা হলেন, ম্যাথু ভারবেল, থমাস হ্যানসেন, গ্যাব্রিয়েল পেটিয়ের, অক্ষয় আরোরা, ব্রায়ান নাপ, জেফ পিটম্যান, বেন রস, জ্যাকব কোভাক, আলেকজেন্ডার টেইলর, ম্যাথু এইনহর্ন, রিচার্ড লারকিন।  উল্লেখিত প্রোগ্রামারগণ ছাড়াও কিভি ফ্রেমওয়ার্ক উন্নয়নে আরও বেশ কিছু প্রোগ্রামারের অবদান রয়েছে।

শিক্ষা উপকরণ 

কিভি ফ্রেমওয়ার্ক সম্পর্কে বিস্তারিত জানা ও কিভি ব্যবহার করে অ্যাপ্লিকেশন তৈরি করার জন্য কিভির অফিসিয়াল ওয়েবসাইটে দেয়া পিডিএফ ও অনলাইন রেফারন্স ছাড়াও আরও বেশ কিছু শিক্ষা উপকরণ কিভি ফ্রেমওয়ার্ক উন্নয়নকারীরা তৈরি করেছেন। এর মধ্যে একটি চমৎকার ভিডিও টিউটোরিয়াল রয়েছে ইউটিউবে। আলেকজেন্ডার টেইলর এই টিউটোরিয়ালটি তৈরি করেছেন। তাছাড়া কিভি ফ্রেমওয়ার্কের ফেসবুক, টুইটার, গিটহাব ও গুগল প্লাস একাউন্টে যেয়ে যে কোন নবীন শিক্ষার্থী কিভি সম্পর্কে যেকোনো ধরনের প্রশ্ন করতে ও এবিষয়ে আলোচনা করতে পারবেন। কিভি সম্পর্কে বিস্তারিত আলোচনা করার জন্য একটি ফোরামও রয়েছে। এসব ছাড়াও অফিসিয়াল ওয়েবসাইটে নিয়মিত কিভি সম্পর্কিত বিভিন্ন বিষয়কে কেন্দ্র করে ব্লগ প্রকাশিত হয়। যেকোনো কিভি ব্যবহারকারী কিভি বিষয়ক কোন ধরনের সাহায্য বা পরামর্শের জন্য লাইব্রেরীটির উন্নয়নকারীদের সাথে সরাসরি যোগাযোগ করতে পারেন।

তথ্যসূত্র 

মুক্তসোর্স
এ্যপ্লিকেশন সফটওয়্যার
ক্রস-প্ল্যাটফর্ম সফটওয়্যার
মুক্ত পাইথন সফটওয়্যার প্রোগ্রাম
পাইথন লাইব্রেরি
এমআইটি লাইসেন্স ব্যবহারকৃত সফটওয়্যার