انتشار ابزار اسمبلی Qbs 2.0 معرفی شد. برای ساخت Qbs، Qt به عنوان یک وابستگی مورد نیاز است، اگرچه Qbs خود برای سازماندهی مونتاژ هر پروژه طراحی شده است. Qbs از یک نسخه ساده شده از زبان QML برای تعریف اسکریپتهای ساخت پروژه استفاده میکند، که به شما امکان میدهد قوانین ساخت نسبتاً انعطافپذیری را تعریف کنید که در آن ماژولهای خارجی میتوانند متصل شوند، میتوان از توابع جاوا اسکریپت استفاده کرد و قوانین ساخت دلخواه ایجاد کرد.
زبان برنامه نویسی مورد استفاده در Qbs برای خودکارسازی تولید و تجزیه اسکریپت های ساخت توسط IDE ها اقتباس شده است. علاوه بر این، Qbs فایلهای make-files تولید نمیکند و خودش، بدون واسطههایی مانند ابزار make، راهاندازی کامپایلرها و لینککنندهها را کنترل میکند و فرآیند ساخت را بر اساس یک نمودار دقیق از همه وابستگیها بهینه میکند. وجود داده های اولیه در مورد ساختار و وابستگی ها در پروژه به شما امکان می دهد تا به طور موثر اجرای عملیات را در چندین رشته موازی کنید. برای پروژه های بزرگ متشکل از تعداد زیادی فایل و دایرکتوری های فرعی، عملکرد بازسازی ها با استفاده از Qbs می تواند چندین برابر بهتر از ساخت باشد - بازسازی تقریباً آنی است و توسعه دهنده را وادار نمی کند که زمان خود را در انتظار صرف کند.
به یاد بیاورید که در سال 2018، شرکت Qt تصمیم گرفت توسعه Qbs را متوقف کند. Qbs به عنوان جایگزینی برای qmake توسعه داده شد، اما در نهایت تصمیم گرفته شد از CMake به عنوان سیستم اصلی ساخت Qt در دراز مدت استفاده شود. توسعه Qbs اکنون به عنوان یک پروژه مستقل که توسط نیروهای جامعه و توسعه دهندگان علاقه مند پشتیبانی می شود ادامه یافته است. برای توسعه، زیرساخت شرکت Qt همچنان استفاده می شود.
تغییر قابل توجهی در شماره نسخه مربوط به اجرای یک باطن جدید جاوا اسکریپت است که جایگزین QtScript شد که در Qt 6 منسوخ شده بود. ادامه حفظ QtScript به تنهایی به دلیل اتصالات پیچیده به JavaScriptCore غیرواقعی تلقی می شد. کافی و فشرده به عنوان مبنایی برای موتور پشتیبان QuickJS جاوا اسکریپت جدید ایجاد شده توسط Fabrice Bellard، که پروژه های QEMU و FFmpeg را تأسیس کرد، انتخاب شد. این موتور از مشخصات ES2019 پشتیبانی می کند و عملکرد قابل توجهی از همتایان فعلی خود دارد (XS 35٪، DukTape بیش از دو برابر، JerryScript سه برابر و MuJS هفت برابر).
از نقطه نظر توسعه اسکریپت های ساخت، انتقال به یک موتور جدید نباید منجر به تغییرات قابل توجهی شود. عملکرد نیز تقریباً ثابت خواهد ماند. از میان تفاوتها، الزامات سختگیرانهتری در موتور جدید برای استفاده از مقادیر تهی وجود دارد، که میتواند مشکلاتی را در پروژههای موجود آشکار کند که هنگام استفاده از QtScript مورد توجه قرار نگرفت.
منبع: opennet.ru