Qt 6-nın ilk sınaq buraxılışı

Qt şirkəti nəşr olundu Qt 6-nın yeni filialının ilk sınaq buraxılışı, əhəmiyyətli memarlıq dəyişiklikləri təklif edəcək və qurmaq üçün C++17 standartını dəstəkləyən kompilyator tələb olunacaq. Buraxılış yalnız Qt 6-nın gələcək buraxılışının ilkin skeletini ehtiva edir planlaşdırılmışdır 1 dekabr 2020-ci il tarixinə. Qt 6 filialında funksionallıq 31 avqustda kod bazasının dondurulması elanına qədər genişləndiriləcək.

İlk sınaq quruluşuna aşağıdakı modullar daxildir:
Qt Core
Qt GUI,
Qt Vidjetləri,
Qt Şəbəkəsi,
Qt QML,
Qt Tez,
Qt Tez İdarəetmələr,
Qt SVG,
Qt Şəbəkə Avtorizasiyası,
Qt SQL və
Qt Testi.

Açar xüsusiyyətləri Qt 6:

  • Əməliyyat sisteminin 3D API-dən müstəqil olan mücərrəd qrafika API. Yeni Qt qrafikası yığınının əsas komponenti Qt Quick proqramlarını təkcə OpenGL ilə deyil, həm də Vulkan, Metal və Direct 3D API-lərinin üzərində gücləndirmək üçün RHI (Rendering Hardware Interface) qatından istifadə edən səhnə renderinq mühərrikidir.
  • 3D və 2D qrafik elementlərini birləşdirən Qt Quick əsasında istifadəçi interfeysləri yaratmaq üçün API ilə Qt Quick 3D modulu. Qt Quick 3D, UIP formatından istifadə etmədən 3D interfeys elementlərini müəyyən etmək üçün QML-dən istifadə etməyə imkan verir. Qt Quick 3D-də siz 2D və 3D üçün bir icra müddəti (Qt Quick), bir səhnə tərtibatı və bir animasiya çərçivəsindən istifadə edə və vizual interfeysin inkişafı üçün Qt Design Studio-dan istifadə edə bilərsiniz. Modul QML-ni Qt 3D və ya 3D Studio-nun məzmunu ilə inteqrasiya edərkən böyük yük kimi problemləri həll edir və 2D və 3D arasında çərçivə səviyyəsində animasiyalar və transformasiyaları sinxronizasiya etmək imkanı verir.
  • Kod bazasının daha kiçik komponentlərə yenidən qurulması və əsas məhsulun ölçüsünün azaldılması. Tərtibatçı alətləri və ixtisaslaşdırılmış komponentlər kataloq mağazası vasitəsilə paylanan əlavələr kimi təqdim olunacaq Qt Marketplace.
  • QML-nin əhəmiyyətli modernləşdirilməsi:
    • Güclü yazma dəstəyi.
    • QML-ni C++ təqdimatına və maşın koduna tərtib etmək bacarığı.
    • Tam JavaScript dəstəyini bir seçim etmək (tam funksiyalı JavaScript mühərrikindən istifadə etmək çoxlu resurs tələb edir ki, bu da mikrokontrollerlər kimi avadanlıqlarda QML-dən istifadənin qarşısını alır).
    • QML-də versiyanın tərtibindən imtina.
    • QObject və QML-də təkrarlanan məlumat strukturlarının unifikasiyası (yaddaş istehlakını azaldacaq və işə başlamanı sürətləndirəcək).
    • Kompilyasiya vaxtı generasiyasının lehinə verilənlər strukturlarının iş vaxtı generasiyasından uzaqlaşmaq.
    • Şəxsi metodlardan və xassələrdən istifadə etməklə daxili komponentləri gizlətmək.
    • Refaktorinq və kompilyasiya zamanı xəta diaqnozu üçün inkişaf alətləri ilə təkmilləşdirilmiş inteqrasiya.
  • PNG şəkillərini sıxılmış teksturaya çevirmək və ya şaderləri və meshləri xüsusi aparat üçün optimallaşdırılmış ikili formatlara çevirmək kimi tərtib zamanı qrafika ilə əlaqəli aktivləri emal etmək üçün alətlər əlavə etmək.
  • Mövzular və üslublar üçün vahid mühərrikin yerləşdirilməsi, müxtəlif mobil və masaüstü platformalar üçün doğma olan Qt Widgets və Qt Quick əsasında tətbiqlərin görünüşünə nail olmağa imkan verir.
  • Quraşdırma sistemi kimi QMake əvəzinə CMake-dən istifadə etmək qərara alındı. QMake istifadə edərək proqramların yaradılması dəstəyi qalacaq, lakin Qt özü CMake istifadə edərək qurulacaq. CMake seçilmişdir, çünki bu alətlər dəsti C++ layihə tərtibatçıları arasında geniş istifadə olunur və bir çox inteqrasiya olunmuş inkişaf mühitlərində dəstəklənir. QMake üçün əvəzedici olduğunu iddia edən Qbs montaj sisteminin inkişafı, davam etdi icma.
  • İnkişaf zamanı C++17 standartına keçid (əvvəllər C++98 istifadə olunurdu). Qt 6 bir çox müasir C++ funksiyaları üçün dəstəyi həyata keçirməyi planlaşdırır, lakin köhnə standartlara əsaslanan kodla geriyə uyğunluğu itirmədən.
  • QML və Qt Quick üçün təklif olunan bəzi funksiyalardan C++ kodunda istifadə etmək imkanı. QObject və oxşar siniflər üçün yeni mülkiyyət sistemi daxil olmaqla təqdim olunacaq. QML-dən, bağlamalarla işləmək üçün mühərrik Qt nüvəsinə inteqrasiya ediləcək, bu, bağlamalar üçün yükü və yaddaş sərfini azaldacaq və onları Qt Quick üçün deyil, Qt-ın bütün hissələri üçün əlçatan edəcək.
  • Python və WebAssembly kimi əlavə dillər üçün genişləndirilmiş dəstək.

Mənbə: opennet.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster