إصدار أداة التجميع Qbs 2.0

طرح إصدار أداة بناء Qbs 2.0. لبناء Qbs ، يلزم استخدام Qt كعنصر تبعية ، على الرغم من أن Qbs نفسها مصممة لتنظيم تجميع أي مشروع. يستخدم Qbs إصدارًا مبسطًا من لغة QML لتحديد البرامج النصية لبناء المشروع ، مما يسمح لك بتحديد قواعد بناء مرنة إلى حد ما يمكن من خلالها توصيل الوحدات الخارجية ، ويمكن استخدام وظائف JavaScript ، ويمكن إنشاء قواعد بناء عشوائية.

تم تكييف لغة البرمجة النصية المستخدمة في Qbs لأتمتة إنشاء البرامج النصية وتحليلها بواسطة IDEs. بالإضافة إلى ذلك ، لا يُنشئ Qbs ملفات makefiles ، وهو نفسه ، بدون وسطاء مثل الأداة المساعدة make ، يتحكم في إطلاق المجمعين والرابطات ، ويحسن عملية الإنشاء استنادًا إلى رسم بياني مفصل لجميع التبعيات. يسمح لك وجود البيانات الأولية حول الهيكل والتبعيات في المشروع بالتوازي بشكل فعال مع تنفيذ العمليات في العديد من سلاسل العمليات. بالنسبة للمشاريع الكبيرة التي تتكون من عدد كبير من الملفات والأدلة الفرعية ، يمكن لأداء إعادة البناء باستخدام Qbs أن يتفوق على الأداء عدة مرات - إعادة البناء تكاد تكون فورية ولا تجعل المطور يقضي وقتًا في الانتظار.

تذكر أنه في عام 2018 ، قررت شركة Qt التوقف عن تطوير Qbs. تم تطوير Qbs كبديل لـ qmake ، ولكن في النهاية تقرر استخدام CMake كنظام بناء رئيسي لـ Qt على المدى الطويل. استمر تطوير Qbs الآن كمشروع مستقل مدعوم من قبل قوى المجتمع والمطورين المهتمين. يستمر استخدام البنية التحتية لشركة Qt في التطوير.

يرتبط تغيير كبير في رقم الإصدار بتنفيذ خلفية JavaScript خلفية جديدة ، والتي حلت محل QtScript ، والتي تم إهمالها في Qt 6. وكان من غير الواقعي الاستمرار في الحفاظ على QtScript بمفرده بسبب الارتباطات المعقدة لـ JavaScriptCore ، لذا - تم اختيار محرك كافٍ ومضغوط كأساس لمحرك جافا سكريبت QuickJS الجديد الذي أنشأه فابريس بيلارد ، الذي أسس مشروعي QEMU و FFmpeg. يدعم المحرك مواصفات ES2019 ويتفوق بشكل كبير على نظرائه الحاليين في الأداء (XS بنسبة 35٪ ، DukTape بأكثر من مرتين ، JerryScript بثلاث مرات ، و MuJS بسبع مرات).

من وجهة نظر تطوير نصوص البناء ، يجب ألا يؤدي الانتقال إلى محرك جديد إلى تغييرات ملحوظة. سيبقى الأداء أيضًا على حاله تقريبًا. من بين الاختلافات ، هناك متطلبات أكثر صرامة في المحرك الجديد لاستخدام القيم الخالية ، والتي يمكن أن تكشف عن مشاكل في المشاريع الحالية التي لم يلاحظها أحد عند استخدام QtScript.

المصدر: opennet.ru

إضافة تعليق