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.