wxWidgets 3.3.0: Кроссплатформений тулкіт для графічних інтерфейсів
wxWidgets 3.3.0: Кроссплатформений тулкіт для створення графічних інтерфейсів
Після трьох років розробки опубліковано випуск кроссплатформенного тулкіту wxWidgets 3.3.0, що дозволяє створювати графічні інтерфейси для Linux, Windows, macOS, UNIX-подібних систем та мобільних платформ. Тулкіт написаний мовою С++ і розповсюджується під вільною ліцензією wxWindows Library License, схваленою Фондом СПО та організацією OSI.
Ліцензія базується на LGPL і дозволяє встановлювати власні умови для розповсюдження похідних робіт у бінарній формі. Окрім підтримки С++, wxWidgets надає обгортки для більшості популярних мов програмування, серед яких PHP, Python, Perl, Haskell та Ruby.
Особливості wxWidgets 3.3.0
Інтерфейс у додатках, що використовують wxWidgets, має нативний для цільової системи вигляд завдяки використанню системних API, а не імітації GUI. wxWidgets 3.3.0 позиціонується як гілка для розробників, у якій розвиваються нові можливості для наступного стабільного релізу 3.4.0.
При цьому гілка wxWidgets 3.3.0 відзначена як придатна для використання в робочих проектах. Відмінність від стабільних гілок полягає в тому, що в проміжних випусках гілок для розробників допускається внесення в ABI та API змін, що порушують сумісність.
Основні нововведення у wxWidgets 3.3.0
Порушуючі сумісність зміни мають поодинокий характер і загалом гілка 3.3 майже повністю сумісна з wxWidgets 3.2 на рівні API. Розглянемо детальніше найважливіші оновлення цієї версії.
- Реалізовано новий бекенд wxWebView на базі рушія Chromium, що дозволяє вбудовувати в додатки функції для обробки та відображення web-контенту.
- У клас wxImage додана підтримка зображень у форматі WebP.
- У порт wxMSW, що надає специфічні для Windows функції та елементи управління, додана експериментальна підтримка темного режиму оформлення, що працює починаючи з Windows 10.
- Припинено підтримку Windows XP та Vista. За замовчуванням задіяний режим виводу з подвійною буферизацією, як у портах wxGTK з Wayland і wxOSX.
- У бібліотеці wxAUI реалізована можливість закріплення позиції вкладок (pin) і створення багаторядкових вкладок.
Технічні вдосконалення кроссплатформенного тулкіту
- Додано варіант класу wxWebRequest для обробки запитів у синхронному (блокуючому) режимі.
- Додано API для низькорівневої обробки подій від сенсорних екранів і тачпадів.
- У класі wxGrid реалізовані засоби для людей з обмеженими можливостями.
- Для UNIX-подібних систем реалізовані події wxEVT_POWER_XXX для відстеження стану енергоспоживання.
- У порті wxGTK по можливості тепер використовуються нативні діалоги роботи з файлами.
- У класі wxTextCtrl, що формує елементи для відображення і редагування тексту, реалізована підтримка тексту з розміткою (RTF).
- Додана підтримка анімації та курсорів для екранів з високою щільністю пікселів (high DPI).
- Додана підтримка зборки з використанням нових компіляторів gcc 15, clang 19 та Xcode 16.
Зміни в конфігурації та підтримці старих компонентів
На UNIX-подібних системах для розміщення файлів конфігурації додатків задіяний каталог ~/.config/appname.conf замість ~/.appname (завантаження вже існуючих файлів конфігурації збережено). Крім того, у новій версії видалені порти wxMotif і wxGTK1, а також видалена можливість зборки без використання Unicode (wxUSE_UNICODE=0).
Більше інформації про новий випуск та його можливості можна знайти на офіційному сайті wxWidgets.