نسخه آلفا Qt 6.0 موجود است

شرکت Qt اعلام کرد در مورد ترجمه تاپیک Qt 6 به مرحله تست آلفا Qt 6 شامل تغییرات معماری قابل توجهی است و برای ساخت به کامپایلری نیاز دارد که از استاندارد C++17 پشتیبانی کند. رهایی برنامه ریزی شده است از 1 دسامبر 2020.

کلید ویژگی های Qt 6:

  • یک API گرافیکی انتزاعی که مستقل از API سه بعدی سیستم عامل است. یکی از اجزای کلیدی پشته گرافیکی جدید Qt، موتور رندر صحنه است که از لایه RHI (رابط سخت افزار رندر) برای تقویت برنامه های Qt Quick نه تنها با OpenGL، بلکه در بالای API های Vulkan، Metal و Direct 3D استفاده می کند.
  • ماژول Qt Quick 3D با API برای ایجاد رابط های کاربری بر اساس Qt Quick، ترکیب عناصر گرافیکی دو بعدی و سه بعدی. Qt Quick 2D به شما امکان می دهد از QML برای تعریف عناصر رابط سه بعدی بدون استفاده از فرمت UIP استفاده کنید. در Qt Quick 3D می توانید از یک زمان اجرا (Qt Quick)، یک طرح صحنه و یک فریمورک انیمیشن برای دو بعدی و سه بعدی استفاده کنید و از استودیوی طراحی Qt برای توسعه رابط بصری استفاده کنید. این ماژول مشکلاتی مانند سربار زیاد هنگام ادغام QML با محتوای Qt 3D یا 3D Studio را حل می کند و توانایی همگام سازی انیمیشن ها و تبدیل ها را در سطح فریم بین دو بعدی و سه بعدی فراهم می کند.
  • تغییر ساختار پایه کد به اجزای کوچکتر و کاهش اندازه محصول پایه. ابزارهای توسعه‌دهنده و اجزای تخصصی به‌عنوان افزونه‌هایی که از طریق فروشگاه کاتالوگ توزیع می‌شوند، ارائه می‌شوند بازار Qt.
  • نوسازی قابل توجه QML:
    • پشتیبانی قوی از تایپ
    • امکان کامپایل QML به نمایش C++ و کد ماشین.
    • ایجاد پشتیبانی کامل از جاوا اسکریپت یک گزینه (استفاده از موتور جاوا اسکریپت با امکانات کامل به منابع زیادی نیاز دارد که از استفاده از QML در تجهیزاتی مانند میکروکنترلرها جلوگیری می کند).
    • امتناع از نسخه سازی در QML.
    • یکسان سازی ساختارهای داده کپی شده در QObject و QML (مصرف حافظه را کاهش می دهد و سرعت راه اندازی را افزایش می دهد).
    • دور شدن از تولید زمان اجرا ساختارهای داده به نفع تولید زمان کامپایل.
    • پنهان کردن اجزای داخلی با استفاده از روش ها و ویژگی های خصوصی.
    • ادغام بهبود یافته با ابزارهای توسعه برای refactoring و تشخیص خطا در زمان کامپایل.
  • افزودن ابزارهایی برای پردازش دارایی های مرتبط با گرافیک در زمان کامپایل، مانند تبدیل تصاویر PNG به بافت های فشرده یا تبدیل سایه ها و مش ها به فرمت های باینری بهینه شده برای سخت افزار خاص.
  • جاسازی یک موتور یکپارچه برای تم ها و سبک ها، به شما امکان می دهد به ظاهر برنامه های مبتنی بر ابزارک های Qt و Qt Quick، بومی پلتفرم های مختلف موبایل و دسکتاپ دست پیدا کنید.
  • تصمیم گرفته شد از CMake به جای QMake به عنوان سیستم ساخت استفاده شود. پشتیبانی از ساخت برنامه های کاربردی با استفاده از QMake باقی خواهد ماند، اما Qt خود با استفاده از CMake ساخته خواهد شد. CMake به این دلیل انتخاب شد که این جعبه ابزار به طور گسترده در بین توسعه دهندگان پروژه C++ استفاده می شود و در بسیاری از محیط های توسعه یکپارچه پشتیبانی می شود. توسعه سیستم مونتاژ Qbs که ادعا می‌کرد جایگزینی برای QMake است. ادامه داد انجمن.
  • انتقال به استاندارد C++17 در طول توسعه (قبلاً از C++98 استفاده می شد). Qt 6 قصد دارد از بسیاری از ویژگی های C++ مدرن پشتیبانی کند، اما بدون از دست دادن سازگاری با کدهای مبتنی بر استانداردهای قدیمی.
  • امکان استفاده از برخی از قابلیت های ارائه شده برای QML و Qt Quick در کد ++C. شامل یک سیستم ویژگی جدید برای QObject و کلاس های مشابه ارائه خواهد شد. از QML، موتوری برای کار با اتصال‌ها در هسته Qt ادغام می‌شود، که بار و حافظه مصرفی برای اتصال‌ها را کاهش می‌دهد و آنها را برای همه بخش‌های Qt و نه فقط Qt Quick در دسترس قرار می‌دهد.
  • پشتیبانی گسترده از زبان های اضافی مانند Python و WebAssembly.
  • منبع: opennet.ru

اضافه کردن نظر