Qbs 1.21 بلڈ ٹولز کی ریلیز اور Qt 6.3 ٹیسٹنگ کا آغاز

Qbs 1.21 بلڈ ٹولز کی ریلیز کا اعلان کر دیا گیا ہے۔ Qt کمپنی کے پروجیکٹ کی ترقی کو چھوڑنے کے بعد سے یہ آٹھویں ریلیز ہے، جسے Qbs کی ترقی جاری رکھنے میں دلچسپی رکھنے والی کمیونٹی کی طرف سے تیار کیا گیا ہے۔ Qbs بنانے کے لیے، انحصار کے درمیان Qt کی ضرورت ہوتی ہے، حالانکہ Qbs خود کسی بھی پروجیکٹ کی اسمبلی کو منظم کرنے کے لیے ڈیزائن کیا گیا ہے۔ Qbs پروجیکٹ بلڈ اسکرپٹس کی وضاحت کے لیے QML زبان کا ایک آسان ورژن استعمال کرتا ہے، جو آپ کو کافی لچکدار تعمیراتی اصولوں کی وضاحت کرنے کی اجازت دیتا ہے جو بیرونی ماڈیولز کو جوڑ سکتے ہیں، JavaScript فنکشنز استعمال کرسکتے ہیں، اور اپنی مرضی کے مطابق تعمیراتی اصول بنا سکتے ہیں۔

Qbs میں استعمال ہونے والی اسکرپٹنگ لینگویج کو IDEs کے ذریعے تعمیراتی اسکرپٹ کی تخلیق اور تجزیہ کو خودکار بنانے کے لیے بنایا گیا ہے۔ اس کے علاوہ، Qbs میک فائلز نہیں بناتا، اور خود، میک یوٹیلیٹی جیسے بیچوان کے بغیر، کمپائلرز اور لنکرز کے آغاز کو کنٹرول کرتا ہے، تمام انحصار کے تفصیلی گراف کی بنیاد پر تعمیراتی عمل کو بہتر بناتا ہے۔ پراجیکٹ میں ساخت اور انحصار پر ابتدائی ڈیٹا کی موجودگی آپ کو کئی دھاگوں میں کارروائیوں کو مؤثر طریقے سے متوازی کرنے کی اجازت دیتی ہے۔ فائلوں اور ذیلی ڈائریکٹریوں کی ایک بڑی تعداد پر مشتمل بڑے پروجیکٹس کے لیے، Qbs کا استعمال کرتے ہوئے دوبارہ تعمیرات کی کارکردگی کئی گنا زیادہ کارکردگی دکھا سکتی ہے - دوبارہ تعمیر تقریباً فوری ہوتی ہے اور اس سے ڈویلپر کو انتظار میں وقت نہیں لگتا۔

یاد رہے کہ 2018 میں Qt کمپنی نے Qbs کی ترقی روکنے کا فیصلہ کیا تھا۔ Qbs کو qmake کے متبادل کے طور پر تیار کیا گیا تھا، لیکن آخر کار طویل مدتی میں Qt کے لیے بنیادی تعمیراتی نظام کے طور پر CMake کو استعمال کرنے کا فیصلہ کیا گیا۔ Qbs کی ترقی اب کمیونٹی اور دلچسپی رکھنے والے ڈویلپرز کے تعاون سے ایک آزاد پروجیکٹ کے طور پر جاری ہے۔ Qt کمپنی کا بنیادی ڈھانچہ ترقی کے لیے استعمال ہوتا رہتا ہے۔

Qbs 1.21 میں اہم اختراعات:

  • ماڈیول فراہم کرنے والوں (ماڈیول جنریٹرز) کے طریقہ کار کو دوبارہ ڈیزائن کیا گیا ہے۔ Qt اور Boost جیسے فریم ورکس کے لیے، اب ایک سے زیادہ فراہم کنندگان کا استعمال کرنا ممکن ہے، اس بات کی وضاحت کریں کہ کون سے فراہم کنندہ کو نئی qbsModuleProviders پراپرٹی کا استعمال کرتے ہوئے چلایا جائے، اور مختلف فراہم کنندگان کے ذریعہ تیار کردہ ماڈیولز کو منتخب کرنے کے لیے ترجیح کی وضاحت کریں۔ مثال کے طور پر، آپ دو فراہم کنندگان "Qt" اور "qbspkgconfig" کی وضاحت کر سکتے ہیں، جن میں سے پہلا صارف کی Qt انسٹالیشن (qmake سرچ کے ذریعے) استعمال کرنے کی کوشش کرے گا، اور اگر ایسی کوئی تنصیب نہیں ملتی ہے، تو دوسرا فراہم کنندہ استعمال کرنے کی کوشش کرے گا۔ سسٹم کی طرف سے فراہم کردہ Qt (pkg-config کو کال کے ذریعے) : CppApplication { انحصار کرتا ہے { name: "Qt.core" } فائلیں: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • "qbspkgconfig" فراہم کنندہ کو شامل کیا گیا، جس نے "فال بیک" ماڈیول فراہم کنندہ کی جگہ لے لی، جس نے pkg-config کا استعمال کرتے ہوئے ماڈیول تیار کرنے کی کوشش کی اگر درخواست کردہ ماڈیول دوسرے فراہم کنندگان کے ذریعہ تیار نہیں کیا گیا تھا۔ "فال بیک" کے برعکس، "qbspkgconfig" pkg-config یوٹیلیٹی کو کال کرنے کے بجائے ".pc" فائلوں کو براہ راست پڑھنے کے لیے ایک بلٹ ان C++ لائبریری کا استعمال کرتی ہے، جو کام کو تیز کرتی ہے اور پیکیج پر انحصار کے بارے میں اضافی معلومات فراہم کرتی ہے جو کال کرنے پر دستیاب نہیں ہوتی ہے۔ pkg-config افادیت۔
  • C++ 23 تصریح کے لیے شامل کردہ تعاون، جو مستقبل کے C++ معیار کی وضاحت کرتا ہے۔
  • GCC ٹول کٹ کے لیے Elbrus E2K فن تعمیر کے لیے معاونت شامل کی گئی۔
  • اینڈرائیڈ پلیٹ فارم کے لیے، Android.ndk.buildId پراپرٹی کو "--build-id" لنکر فلیگ کی ڈیفالٹ ویلیو کو اوور رائیڈ کرنے کے لیے شامل کیا گیا ہے۔
  • capnproto اور protobuf ماڈیولز qbspkgconfig فراہم کنندہ کے ذریعہ فراہم کردہ رن ٹائم استعمال کرنے کی صلاحیت کو نافذ کرتے ہیں۔
  • فری بی ایس ڈی پر سورس فائلوں میں تبدیلی سے باخبر رہنے کے مسائل کو حل کیا گیا ہے کیونکہ فائل میں ترمیم کے اوقات کا تخمینہ لگاتے وقت ملی سیکنڈز چھوڑے جا رہے ہیں۔
  • ConanfileProbe.verbose پراپرٹی کو شامل کیا گیا تاکہ ان پروجیکٹس کو ڈیبگ کرنا آسان ہو جو کونن پیکیج مینیجر استعمال کرتے ہیں۔

مزید برآں، ہم Qt 6.3 فریم ورک کے الفا ٹیسٹنگ کے آغاز کو نوٹ کر سکتے ہیں، جو کہ لینگویج سرور اور JsonRpc 2.0 پروٹوکول کے لیے تعاون کے ساتھ ایک نیا ماڈیول "Qt Language Server" نافذ کرتا ہے، نئے فنکشنز کا ایک بڑا حصہ Qt کور میں شامل کیا گیا ہے۔ ماڈیول، اور QML قسم MessageDialog کو Qt کوئیک ڈائیلاگ ماڈیول میں لاگو کیا گیا ہے پلیٹ فارم کے ذریعے فراہم کردہ ڈائیلاگ باکسز کو استعمال کرنے کے لیے، آپ کی اپنی مرضی کے مطابق شیل ایکسٹینشنز بنانے کے لیے ایک جامع Qt شیل سرور اور ایک API کو Qt Wayland Compositor ماڈیول میں شامل کیا گیا ہے۔ .

Qt QML ماڈیول qmltc (QML ٹائپ کمپائلر) کمپائلر کا نفاذ پیش کرتا ہے، جو آپ کو C++ کی کلاسوں میں QML آبجیکٹ ڈھانچے کو مرتب کرنے کی اجازت دیتا ہے۔ Qt 6.3 کے تجارتی صارفین کے لیے، Qt کوئیک کمپائلر پروڈکٹ کی جانچ شروع ہو گئی ہے، جس میں، اوپر بیان کردہ QML ٹائپ کمپائلر کے علاوہ، QML اسکرپٹ کمپائلر بھی شامل ہے، جو آپ کو C++ کوڈ میں QML کے افعال اور اظہارات کو مرتب کرنے کی اجازت دیتا ہے۔ واضح رہے کہ Qt کوئیک کمپائلر کا استعمال QML پر مبنی پروگراموں کی کارکردگی کو مقامی پروگراموں کے قریب لے آئے گا؛ خاص طور پر، ایکسٹینشنز کو مرتب کرتے وقت، تشریح شدہ ورژن کے استعمال کے مقابلے میں سٹارٹ اپ اور ایگزیکیوشن کے وقت میں تقریباً 30 فیصد کمی ہوتی ہے۔ .

ماخذ: opennet.ru

نیا تبصرہ شامل کریں