Qt 6 został udostępniony z nową architekturą grafiki i ulepszeniami w języku programowania. Narzędzia w Qt zostały ujednolicone a ich użycie ma być łatwiejsze.
Dwa słowa o samym Qt
Qt to wieloplatformowa platforma programistyczna (frameworkiem tego byśmy tego nie nazwali) do tworzenia aplikacji i interfejsu użytkownika, która umożliwia tworzenie aplikacji natywnych na różnego rodzaju platformy. Qt rozpoczął życie skromnie jako zwykła biblioteka widżetów napisana w C+ ale i z powiązaniami z innymi językami, w tym Pythonem, Rustem, Go, Javą czy JavaScriptem. Zaletą Qt jest szeroki zestaw interfejsów użytkownika i modułów wizualizacji danych.
Co zmieniono?
Najważniejsze ulepszenia nowej wersji dotyczą architektury graficznej. Interfejs sprzętowy do renderowania Qt obsługuje teraz Direct 3D, Metal, Vulkan i OpenGL, co oznacza, że programiści mogą raz napisać kod renderujący, a następnie wdrożyć go na praktycznie dowolnym, współcześnie obsługiwanym sprzęcie. Dostępna jest również nowa opcja Quick 3D, która umożliwia łączenie treści 2D i 3D w jednym stosie. Dodano obsługę skalowania fraktalnego HiDPI w celu obsługi automatycznego skalowania interfejsu użytkownika dla różnych konfiguracji monitora.
Poprawiono również obsługę języków programowania. System QProperty dodaje obsługę powiązań w C++. Ma to przenieść najlepszą część QML do Qt i to w połączeniu z bezproblemową integracją z QObject. Współbieżne API zostały przeprojektowane, dzięki czemu programiści mogą używać wielu procesorów, obliczeń równoległych i współbieżności właśnie, aby zachować płynność interfejsów użytkownika podczas wykonywania logiki biznesowej w tle. Interfejsy API automatycznie skalują zadania w zależności od sprzętu.
Dalsze nowości
Obsługa ciągów znaków i Unicode została ulepszona, a Qt został w pełni dostosowany do Unicode. QList również został ulepszony. Odnotować należy także mniejsze zmiany w obsłudze sieci a programiści mogą teraz tworzyć niestandardowy backend protokołów i integrować je z domyślnym przepływem pracy Qt.
Obsługa C++ została zaktualizowana do C++ 17 ze zwiększoną czytelnością kodu, lepszą wydajnością i łatwiejszym utrzymaniem kodu. Dodane też obsługę CMake.
Qt 6 dla Pythona również został wydany, z wieloma takimi samymi ulepszeniami. W przypadku Qt for Python, Shiboken, generator powiązań Pythona, którego Qt dla Pythona używa do tworzenia modułu PySide, został radykalnie zreorganizowany i przerobiony wraz z dodaniem nowych funkcji.
Sprawdź oferty pracy na TeamQuest
Deweloperzy twierdzą, że dla generowania powiązań dodali więcej opcji do systemu typów, na przykład umożliwiając wybór kolejności przeciążeń funkcji do użycia w decisorze. Umożliwili również deklarowanie właściwości. W przypadku obsługi C++ w odniesieniu do generowania powiązań należy odnotować ulepszenie interakcji z inteligentnymi wskaźnikami oraz dodanie obsługi nowoczesnych funkcji C++ używanych w Qt 6, takich jak alias typu szablonu (QVector, QList) czy nowe słowa kluczowe specyfikacji wyjątków.