QBS 2.0 কম্পাইলেশন সিস্টেমের নতুন সংস্করণ এসেছে

QbS

Qbs হল একটি সম্প্রদায় চালিত, ভাষা অজ্ঞেয়বাদী বিল্ড অটোমেশন সিস্টেম। এটি দ্রুত এবং QML এর উপর ভিত্তি করে ভাষা শেখার সহজ অফার করে।

সফটওয়্যার উন্নয়ন প্রক্রিয়া পরিচালনার জন্য একটি ফ্রি ও ওপেন-সোর্স, ক্রস-প্ল্যাটফর্ম সফটওয়্যার Qbs 2.0-এর প্রকাশের ঘোষণা সম্প্রতি করা হয়েছে । এটি মূলত C/C++ সহ বিভিন্ন প্রোগ্রামিং ভাষায় লেখা বড় এবং জটিল প্রকল্পগুলোকে সমর্থন করার জন্য ডিজাইন করা হয়েছে।

নতুন সংস্করণ ২.০ তার সংস্করণ নম্বরের কারণে তাৎপর্যপূর্ণ, কারণ এটি একটি নতুন জাভাস্ক্রিপ্ট ব্যাকএন্ডের বাস্তবায়নের সাথে যুক্ত , যা QtScript-কে প্রতিস্থাপন করেছে; Qt 6-এর পর QtScript অপ্রচলিত হয়ে পড়ে।

যারা Qbs-এর সাথে পরিচিত নন, তাদের জন্য বলা যায় যে, এটি প্রোজেক্ট বিল্ড স্ক্রিপ্ট সংজ্ঞায়িত করার জন্য QML ভাষার একটি সরলীকৃত সংস্করণ ব্যবহার করে । এর ফলে বেশ নমনীয় বিল্ড রুল তৈরি করা যায়, যা দিয়ে এক্সটার্নাল মডিউল সংযোগ করা, জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করা এবং ইচ্ছামতো বিল্ড রুল তৈরি করা সম্ভব।

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

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

Qbs-এ ব্যবহৃত স্ক্রিপ্টিং ভাষা IDE-এর দ্বারা বিল্ড স্ক্রিপ্টগুলির জেনারেশন এবং পার্সিং স্বয়ংক্রিয় করার জন্য তৈরি করা হয়েছে। অধিকন্তু, Qbs মেকফাইল তৈরি করে না এবং, মেক ইউটিলিটির মতো মধ্যস্থতাকারী ছাড়া, কম্পাইলার এবং লিঙ্কারের প্রকাশ নিয়ন্ত্রণ করে, সমস্ত নির্ভরতার বিস্তারিত গ্রাফের উপর ভিত্তি করে বিল্ড প্রক্রিয়াটিকে অপ্টিমাইজ করে।

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

QBS 2.0 এর প্রধান নতুনত্ব

শুরুতে যেমন উল্লেখ করা হয়েছে, QBS 2.0-এর এই নতুন সংস্করণটি উল্লেখযোগ্য, কারণ এতে একটি নতুন জাভাস্ক্রিপ্ট ইঞ্জিন ব্যবহার করা হয়েছে যা QtScript-কে প্রতিস্থাপন করেছে। Qt 6-এর সময় থেকেই QtScript অপ্রচলিত হয়ে পড়েছিল, কারণ JavaScriptCore-এর সাথে এর জটিল বাইন্ডিংয়ের জন্য শুধুমাত্র QtScript-এর রক্ষণাবেক্ষণ চালিয়ে যাওয়া অবাস্তব বলে মনে করা হয়েছিল।

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

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

ইঞ্জিনটি ES2019 স্পেসিফিকেশনের সাথে সঙ্গতিপূর্ণ এবং এর বিদ্যমান প্রতিপক্ষগুলোর তুলনায় উল্লেখযোগ্যভাবে উন্নত (XS-এর ক্ষেত্রে ৩৫%, DukTape-এর ক্ষেত্রে দ্বিগুণেরও বেশি, JerryScript-এর ক্ষেত্রে তিনগুণ এবং MuJS-এর ক্ষেত্রে সাতগুণ)। বিল্ড স্ক্রিপ্ট ডেভেলপমেন্টের দৃষ্টিকোণ থেকে, নতুন ইঞ্জিনে স্থানান্তরের ফলে কোনো লক্ষণীয় পরিবর্তন হওয়ার কথা নয়।

পারফরম্যান্সও প্রায় একই থাকবে। পার্থক্যগুলোর মধ্যে, নতুন ইঞ্জিনটিতে নাল ভ্যালু ব্যবহারের ক্ষেত্রে আরও কঠোর নিয়মকানুন রয়েছে, যা বিদ্যমান প্রজেক্টগুলোতে এমন সব সমস্যা প্রকাশ করতে পারে যা QtScript ব্যবহার করার সময় অলক্ষিত ছিল।

এছাড়াও, এটিও উল্লেখ করা হয়েছে যে qmake প্রোজেক্ট ফাইলগুলো সরিয়ে ফেলা হয়েছে, যার ফলে ডেভেলপারদের রক্ষণাবেক্ষণের কাজ কমে গেছে ।

অবশেষে এটি উল্লেখ করা হয়েছে যে সংস্করণ 2.1 কোডটির একটি পুনঃলিখন দেখতে পাবে যার সাথে বিকাশকারীরা অনুমান করে যে তাদের বেশ কয়েকটি নতুন বৈশিষ্ট্য থাকবে, সেইসাথে সাধারণ কর্মক্ষমতা উন্নতি হবে।

আপনি যদি আরও জানতে আগ্রহী হন, তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেতে পারেন ।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন