Bottles-এর ডেভেলপাররা সম্প্রতি একটি ব্লগ পোস্টের মাধ্যমে Bottles Next-এ তাদের আসন্ন কাজ সম্পর্কে বিস্তারিত জানিয়েছেন । এই উদ্যোগটির লক্ষ্য হলো প্রজেক্টটির আর্কিটেকচার এবং কোডবেস সম্পূর্ণরূপে নতুন করে ডিজাইন করা।
বিবৃতিতে উল্লেখ করা হয়েছে যে, পাইথনে লেখা এবং জিটিকে-ভিত্তিক ইন্টারফেসযুক্ত Bottles-এর বর্তমান সংস্করণটি উল্লেখযোগ্য সীমাবদ্ধতার সম্মুখীন , যা macOS সমর্থনের মতো নতুন বৈশিষ্ট্য অন্তর্ভুক্তিতে বাধা দেয় এবং এমন কিছু সমস্যা তৈরি করে যা কেবল একটি গভীর কাঠামোগত পরিবর্তনের মাধ্যমেই সমাধান করা সম্ভব।
এক বছর আগে, আমরা বোতলস নেক্সট ঘোষণা করেছি, বোতল প্রকল্পের সম্পূর্ণ পুনর্লিখন। প্রাথমিকভাবে, ধারণাটি ছিল আমাদের ব্যবহারকারীদের জন্য আমরা যে অভিজ্ঞতাটি কল্পনা করেছি তা অর্জন করার জন্য ওয়েব প্রযুক্তিগুলিকে ব্যবহার করা। যাইহোক, প্রায়শই ক্ষেত্রে, ব্যাপক গবেষণা, বিতর্ক, পরীক্ষা এবং ক্রমাগত পুনর্মূল্যায়ন ছিল।
কেন এত কষ্টের মধ্য দিয়ে যেতে হবে? ওয়েল, আমরা সঠিক সিদ্ধান্ত নিতে নিশ্চিত করতে.
ঘোষণার পর, আমরা অনেক প্রযুক্তি নিয়ে পরীক্ষা-নিরীক্ষা শুরু করেছি, কিন্তু সর্বোপরি, আমরা সম্প্রদায়ের প্রতিক্রিয়া শুনেছি, বিশেষ করে যারা ইলেক্ট্রন সম্পর্কিত। এটি আমাদেরকে অন্যান্য পথগুলি অন্বেষণ করতে প্ররোচিত করেছিল, যা আমাদেরকে বোতল নেক্সট এর নির্দিষ্ট প্রয়োজনের সাথে খাপ খাইয়ে ফ্রেমওয়ার্ক প্রোটোটাইপ তৈরি করতে পরিচালিত করেছিল।
এবং এখানে আমরা আজ.
এই কারণেই নতুন পদ্ধতিটি অ্যাপ্লিকেশনটিকে তিনটি প্রধান উপাদানে বিভক্ত করে:
- একটি ক্লায়েন্ট: গ্রাফিকাল ইন্টারফেসের জন্য দায়ী
- একটি সার্ভার: অ্যাপ্লিকেশন চালানো এবং ওয়াইন উপসর্গ পরিচালনা করার জন্য যুক্তির দায়িত্বে
- একটি এজেন্ট: যেটি Windows API-এর সাথে সরাসরি ইন্টারঅ্যাক্ট করতে ওয়াইনের মধ্যে কাজ করে।
যদিও প্রাথমিকভাবে Electron এবং VueJS-এর মতো ওয়েব প্রযুক্তি ব্যবহার করে ক্লায়েন্ট এবং Go-তে সার্ভার তৈরির কথা ভাবা হয়েছিল, কিন্তু কমিউনিটির প্রতিক্রিয়া এবং প্রোটোটাইপগুলো থেকে প্রাপ্ত ফলাফলের কারণে ডেভেলপাররা এই ধারণাটি পরিত্যাগ করেন।
অতএব, অবশেষে ক্লায়েন্ট এবং সার্ভার উভয়ের জন্যই রাস্ট (Rust) ব্যবহার করার সিদ্ধান্ত নেওয়া হয়েছিল , এবং গ্রাফিক্যাল ইন্টারফেসটি লিবকসমিক (libcosmic) ফ্রেমওয়ার্কের উপর ভিত্তি করে তৈরি করা হবে। কসমিক (COSMIC) ডেস্কটপ এনভায়রনমেন্টে ব্যবহৃত এই ফ্রেমওয়ার্কটি হলো আইসড (iced ) লাইব্রেরির একটি এক্সটেনশন , যা আধুনিক এবং স্কেলেবল গ্রাফিক্যাল ইন্টারফেস তৈরি করতে সহায়তা করে। লিবকসমিক একটি রিঅ্যাক্টিভ প্রোগ্রামিং মডেল গ্রহণ করে এবং ডিক্লারেটিভ এলম (Elm) ভাষার মতো একটি আর্কিটেকচার অনুসরণ করে, যা এই পদ্ধতির সাথে পরিচিত ডেভেলপারদের জন্য বোঝা সহজ করে তোলে।

যদিও ডেভেলপাররা Go ল্যাঙ্গুয়েজে কাজ করতে বেশি আগ্রহী ছিলেন, Go-তে গ্রাফিক্যাল ইন্টারফেস তৈরির জন্য উন্নত মানের টুলের সীমিত প্রাপ্যতার কারণে তারা শেষ পর্যন্ত Rust-কেই বেছে নেন। এই পরিবর্তন সত্ত্বেও, নতুন আর্কিটেকচারে ইন্টারফেসের ক্লাসিক সংস্করণটিকে একটি বিকল্প হিসেবে রাখার পরিকল্পনাও রয়েছে, যা নতুন মান ও প্রযুক্তির সাথে খাপ খাইয়ে নেওয়ার পাশাপাশি ব্যবহারকারীদের একটি পরিচিত অভিজ্ঞতা প্রদান করবে।
রেন্ডারিংয়ের ক্ষেত্রে, Bottles Next ভলকান, মেটাল, ডিএক্স১২, ওপেনজিএল ২.১+, এবং ওপেনজিএল ইএস ২.০+ এর মতো ইঞ্জিনগুলোকে সমর্থন করবে, যা বিভিন্ন সিস্টেম ও হার্ডওয়্যারের সাথে এর ব্যাপক অভিযোজনযোগ্যতা নিশ্চিত করবে। এই নতুন ডিজাইনটি উন্নত পারফরম্যান্স প্রদান, ক্রস-প্ল্যাটফর্ম সামঞ্জস্যতা বাড়ানো এবং ভবিষ্যতের Bottles উন্নয়নের জন্য আরও শক্তিশালী ভিত্তি স্থাপনের প্রতিশ্রুতি দেয়।
এই আপডেটটি Bottles Legacy (বোতলের বর্তমান সংস্করণ) এবং Bottles Next উভয়কেই প্রভাবিত করে। আগামী সপ্তাহে cpak এর প্রথম সংস্করণ সম্পন্ন হবে। এটি একটি পোর্টেবল, ডিডুপ্লিকেটেড সফটওয়্যার ডিস্ট্রিবিউশন ফরম্যাট যা সম্পূর্ণরূপে OCI ইমেজের উপর ভিত্তি করে।
এও উল্লেখ করা হয়েছে যে, Bottles Next এজেন্ট, যা Wine দ্বারা তৈরি Windows পরিবেশে কাজ করে, তা .NET ব্যবহার করে C# ভাষায় লেখা হবে। এই সিদ্ধান্তটি WineBridge পরিষেবার নির্দিষ্ট চাহিদা পূরণ করে, যার জন্য একটি অনুকৃত পরিবেশে Windows API-এর সাথে কার্যকর একীকরণ প্রয়োজন।
উন্নয়নের প্রসঙ্গে বলতে গেলে, Bottles Next-এর প্রাথমিক প্রোটোটাইপ পরীক্ষার জন্য একটি কন্টেইনার, যা সম্পূর্ণভাবে Rust-এ লেখা, কয়েক সপ্তাহের মধ্যে প্রকাশ করা হবে বলে আশা করা হচ্ছে । আপাতত, শুধুমাত্র একটি বেসিক ডেমো সংস্করণ উপলব্ধ আছে, যা ব্যবহারকারীদের প্রকল্পটির সক্ষমতা এবং ভবিষ্যৎ গতিপথ সম্পর্কে একটি প্রাথমিক ধারণা পেতে সাহায্য করবে। Bottles Next-এ এই রূপান্তর কার্যকারিতা, সামঞ্জস্যতা এবং পারফরম্যান্সে উল্লেখযোগ্য উন্নতির প্রতিশ্রুতি দেয়।
অবশেষে, আপনি যদি এই বিষয়ে আরও জানতে আগ্রহী হন , তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেতে পারেন ।