Тип | Бібліотека для розробки |
---|---|
Автор | Julian A.C. Smartd |
Розробники | wxWidgets Developers and Contributers |
Стабільний випуск | 3.2.1 (9 червня 2022 ) |
Нестабільний випуск | 3.1.1 (19 лютого 2018 ) |
Операційна система | Багатоплатформна |
Мова програмування | C++ |
Ліцензія | Ліцензія wxWidgets (сумісна з GPL[1]) |
Репозиторій | github.com/wxWidgets/wxWidgets |
Вебсайт | www.wxwidgets.org |
wxWidgets (раніше відома як wxWindows) — це багатоплатформна бібліотека віджетів. wxWidget дозволяє коду для побудови графічного користувацького інтерфейсу компілюватись і працювати на різних апаратних і програмних платформах з мінімальними змінами, або взагалі без них. Надаються прив'язки (біндінги) для популярних мов програмування, в тому числі для PHP, Python, Perl і Ruby. На відміну від інших тулкітів, wxWidgets забезпечує для програми по-справжньому рідний для цільової системи зовнішній вигляд і методи взаємодії, завдяки використанню системних API, а не імітації GUI.
Підтримує такі операційні системи, як Microsoft Windows, Mac OS, Linux/Unix (X11, Motif та GTK+), OpenVMS, OS/2, AmigaOS та мобільних платформ. Версія для вбудованих систем перебуває у стадії розробки.[2]
Тулкіт написаний на мові С++ і розповсюджується під вільною ліцензією wxWindows Library Licence, схваленою Фондом ВПЗ та організацією OSI. Ліцензія заснована на LGPL і відрізняється дозволом використання власних умов для поширення похідних робіт в бінарній формі.
Історія
Робота над проєктом розпочалася у 1992 Юліаном Смартом (Julian Smart) в Університеті міста Единбурґ, який досі залишається головним розробником.
20 лютого 2004 року розробники wxWindows повідомили про те, що проєкт змінює назву на wxWidgets через вимогу корпорації Microsoft, яка побачила у старій назві порушення її права на торгову марку Windows[3]. За зміну імені розробники wxWidgets та інших зв'язаних проєктів отримали грошову компенсацію.
Використання
wxWidgets дозволяє компілювати програми на безлічі комп'ютерних платформ з мінімальними змінами у джерельному коді, або взагалі без них. Вона підтримує системи Microsoft Windows, Apple Macintosh, UNIX-подібні (для X11, Motif та GTK+), OpenVMS і OS/2. Вбудовувана версія знаходиться в розробці.
Бібліотека розроблена на C++, але може підключатися до безлічі інших розповсюджених мов, таких, як Python (wxPython), Smalltalk (wxSqueak), Perl та Java. Для ознайомлення з повним списком, з посиланнями на відповідні проєкти, дивіться додаткову документацію наприкінці статті.
Бібліотека не імітує вид компонентів, використовуючи графічні примітиви різних підтримуваних платформ. Замість цього wxWidgets надає тонку абстракцію до існуючих компонентів системи. Іншими словами, основний код wxWidgets воліє викликати «рідний» елемент інтерфейсу платформи, замість того, щоб повторно його реалізовувати. Це надає природного вигляду інтерфейс у порівнянні з бібліотеками на кшталт Swing (для Java).
wxWidgets розроблена не тільки для того, щоб створювати GUI. Вона також має систему обміну даними між процесами, мережеву бібліотеку та багато інших класів.
Деякі приклади застосунків, побудованих з використанням бібліотеки WxWidgets: Code::Blocks (IDE), CodeLite (IDE), Audacity, BitWise IM, Kirix Strata і багато інших.
Див. також
Примітки
- ↑ http://www.wxwidgets.org/about/newlicen.htm [Архівовано 2 липня 2010 у Wayback Machine.] (англ.) - Роз'яснення ліцензії
- ↑ wxEmbedded: wxWidgets for embedded applications. Sourceforge.net. Архів оригіналу за 2 липня 2013. Процитовано 23 квітня 2007.
- ↑ Smart, Julian; Robin Dunn (August 2004). Name change. Sourceforge.net. Архів оригіналу за 2 липня 2013. Процитовано 23 квітня 2007.
Посилання
- Офіційний сайт [Архівовано 24 жовтня 2017 у Wayback Machine.] (документація) [Архівовано 17 грудня 2009 у Wayback Machine.]
- Повідомлення про зміну імені
- Неофіційний форум
- Проєкти підтримки мов програмування:
- wxBasic [Архівовано 14 жовтня 2007 у Wayback Machine.] — для Бейсік
- wxPerl [Архівовано 1 квітня 2021 у Wayback Machine.] — для Перл
- wxPython [Архівовано 9 червня 2021 у Wayback Machine.] — для Python
- wxRuby — для Рубі
- wxSqueak — для Smalltalk
- wxLua [Архівовано 3 грудня 2007 у Wayback Machine.] — для Lua
- wx4j [Архівовано 15 грудня 2007 у Wayback Machine.] — для Java
- wxJS [Архівовано 6 лютого 2006 у Wayback Machine.] — для JavaScript
- wxHaskell [Архівовано 1 квітня 2021 у Wayback Machine.] — для Haskell
- wxEiffel [Архівовано 19 березня 2008 у Wayback Machine.] — для Eiffel
- wxD — для D
- wx.NET — для C#/.NET
- wxErlang — для Erlang
- wxGlade — графічний редактор форм для wxWidgets.
- wxDev-C++ [Архівовано 29 серпня 2008 у Wayback Machine.] — Dev-C++ IDE з редактором форм для wxWidgets
- visualwx [Архівовано 27 жовтня 2007 у Wayback Machine.] Ще один редактор форм і генератор коду для wxWidgets]
Довідкова документація
- Все про крос-платформне програмування з wxWidgets [Архівовано 3 травня 2022 у Wayback Machine.] (рос.) — Тематичний сайт про крос-платформну розробку програмного забезпечення з використанням бібліотеки wxWidgets. Статті, керівництво, відео-уроки, додаткові компоненти і бібліотеки.
- wxWidgets на RealCoding [Архівовано 12 грудня 2007 у Wayback Machine.] (рос.) — Серія статей по WxWidgets.
- Cross-Platform GUI Programming with wxWidgets [Архівовано 14 червня 2019 у Wayback Machine.] — перша опублікована книга, що описує роботу з wxWidgets.
- Drawing and Printing in C++ with wxWidgets [Архівовано 13 серпня 2007 у Wayback Machine.] — стаття описує ідею контексту пристрою, роз'яснює концепцію області малювання на зразок вікна або друкованої сторінки. Вона обговорює доступні класи контекстів пристроїв і набір «інструментів малювання», які wxWidgets надає для роботи з шрифтами, кольорами, малюванням примітивів, і зафарбовування областей.
- Створення крос-платформних GUI-застосувань з використанням wxWidgets [Архівовано 29 січня 2008 у Wayback Machine.] (рос.) — основи створення GUI-застосувань на базі wxWidgets.
- Використання wxWidgets [Архівовано 20 січня 2009 у Wayback Machine.] (рос.) — Блог, присвячений програмуванню з використанням wxWidgets