wxWidgets
Оригинальный автор(ы) | Джулиан Смарт [1] [2] [3] |
---|---|
Разработчик(и) | Различные разработчики и участники [4] |
Первоначальный выпуск | 1992 год [5] |
Стабильная версия | 3.2.4 (11 ноября 2023 г [6] ) [±] |
Репозиторий | |
Написано в | С++ |
Операционная система | Кросс-платформенный |
Тип | разработки Библиотека |
Лицензия | Лицензия wxWidgets |
Веб-сайт | wxвиджеты |
wxWidgets (ранее wxWindows ) — это набор инструментов и библиотека инструментов виджетов для создания графических пользовательских интерфейсов (GUI) для кроссплатформенных приложений. wxWidgets позволяет компилировать и запускать код графического интерфейса программы на нескольких компьютерных платформах без существенных изменений кода . Широкий выбор компиляторов и других инструментов для использования с wxWidgets облегчает разработку сложных приложений. [7] wxWidgets поддерживает широкий спектр популярных операционных систем и графических библиотек, как собственных , так и бесплатных .
Проект был начат под названием wxWindows в 1992 году Джулианом Смартом из Эдинбургского университета . [1] Проект был переименован в wxWidgets в 2004 году в ответ на претензию Microsoft UK на регистрацию товарного знака .
Это бесплатное , программное обеспечение с открытым исходным кодом распространяемое на условиях лицензии wxWidgets , которая удовлетворяет требованиям тех, кто желает производить программное обеспечение под лицензией GPL и несвободное программное обеспечение . [8]
Переносимость и развертывание
[ редактировать ]wxWidgets охватывает такие системы, как Microsoft Windows , Mac OS ( Carbon и Cocoa ), iOS ( Cocoa Touch ), Linux / Unix ( X11 , Motif и GTK ), OpenVMS , OS/2 и AmigaOS . Версия для встраиваемых систем находится в разработке. [9]
wxWidgets используется в различных отраслях промышленности, в первую очередь Xerox , Advanced Micro Devices (AMD), Lockheed Martin , NASA и Центром военно-морского анализа . Его также используют в государственном секторе и образовании, например, Дартмутская медицинская школа , Национальный институт исследования генома человека , Национальный центр биотехнологической информации и многие другие. [7] wxWidgets используется во многих проектах с открытым исходным кодом, [10] и отдельными разработчиками.
История
[ редактировать ]wxWidgets (изначально wxWindows; «w» — для Windows , а «x» — для X Window System ) [11] была основана в 1992 году Джулианом Смартом в Эдинбургском университете . [1] Он получил степень с отличием в области вычислительной техники в Университете Сент-Эндрюс в 1986 году и до сих пор является основным разработчиком. [2]
20 февраля 2004 года разработчики wxWindows объявили, что проект меняет свое название на wxWidgets в результате того, что Microsoft попросила Джулиана Смарта уважать Microsoft в Соединенном Королевстве торговую марку с термином Windows . [12]
Основные версии выпуска: 2.4 от 6 января 2003 г., 2.6 от 21 апреля 2005 г. и 2.8.0 от 14 декабря 2006 г. Версия 3.0 была выпущена 11 ноября 2013 г.
wxWidgets участвует в Google Summer of Code с 2006 года. [13] [14]
В следующей таблице представлена история выпусков wxWidgets, показывающая все основные версии.
Номер версии | Дата | Заметные изменения |
---|---|---|
Проект начат Джулианом Смартом | 1992 [15] | |
wxWindows 1 | ||
Альфа 1 | 5 апреля 1997 г. [16] | |
Бета 1 | 24 декабря 1998 г. [16] | |
wxWidgets 2 | ||
2.0.1 | 1 марта 1999 г. [16] | |
2.2.0 | 9 июля 2000 г. [17] | |
2.4.0 | 6 января 2003 г. [17] | |
2.6.0 | 21 апреля 2005 г. [17] | |
2.8.0 | 14 декабря 2006 г. [18] |
|
2.8.11 | 23 апреля 2010 г. | |
2.8.12 | 28 марта 2011 г. | |
2.9.0 | 8 сентября 2009 г. | |
2.9.1 | 19 июля 2010 г. | |
2.9.2 | 5 июля 2011 г. | |
2.9.3 | 14 декабря 2011 г. | |
2.9.4 | 9 июля 2012 г. | |
2.9.5 | 16 июля 2013 г. | |
wxWidgets 3 | ||
3.0.0 | 11 ноября 2013 г. [16] |
|
3.0.1 | 15 июня 2014 г. | |
3.0.2 | 6 октября 2014 г. | |
3.0.3 | 2 мая 2017 г. | |
3.0.4 | 8 марта 2018 г. | |
3.0.5 | 27 апреля 2020 г. | |
3.1.0 | 29 февраля 2016 г. |
|
3.1.1 | 19 февраля 2018 г. [19] |
|
3.1.2 | 10 декабря 2018 г. |
|
3.1.3 | 28 октября 2019 г. |
|
3.1.4 | 22 июля 2020 г. |
|
3.1.5 | 14 апреля 2021 г. |
|
3.1.6 | 4 апреля 2022 г. |
|
3.1.7 | 6 июня 2022 г. |
|
3.2.0 | 7 июля 2022 г. |
|
3.2.1 | 9 сентября 2022 г. |
|
3.2.2 | 9 февраля 2023 г. |
|
3.2.2.1 | 13 февраля 2023 г. |
|
3.2.3 | 10 октября 2023 г. |
|
3.2.4 | 11 ноября 2023 г. |
|
Будущие версии |
Лицензия
[ редактировать ]Совместимость с Debian FSG | Да |
---|---|
ФСФ одобрено | Да |
OSI одобрено | Да |
Совместимость с лицензией GPL | Да |
Авторское лево | Да |
Связывание из кода с другой лицензией | Да |
Веб-сайт | www |
wxWidgets распространяется по специальной лицензии wxWindows , аналогичной GNU Lesser General Public License (LGPL), за исключением того, что производные работы в двоичной форме могут распространяться на собственных условиях пользователя. [8] Эта лицензия является лицензией свободного программного обеспечения, одобренной FSF. [20] Создание бесплатного программного обеспечения wxWidgets . Он был одобрен Инициативой открытого исходного кода (OSI). [21]
Официальная поддержка
[ редактировать ]Поддерживаемые платформы
[ редактировать ]wxWidgets поддерживается на следующих платформах: [22] [23]
- Windows — wxMSW (32/64-разрядные версии Windows XP до Windows 11)
- Linux/Unix – wxGTK , wxX11, wxMotif
- Mac OS — wxMac ( Mac OS X 10.3 с использованием Carbon, Mac OS X 10.5 с использованием Cocoa), wxOSX/Cocoa (32/64-разрядная версия Mac OS X 10.7 или новее)
- OS/2 – wxOS2, wxPM, wxWidgets для GTK или Motif можно скомпилировать в OS/2.
- Встроенные платформы – wxEmbedded [9]
Внешние порты
[ редактировать ]- Amiga – wxWidgets-AOS: порт AmigaOS (в разработке) [24]
Поддерживаемые компиляторы
[ редактировать ]Официально подтверждено, что wxWidgets корректно работает со следующими компиляторами: [25] [26]
Инструментарий | Компилятор | Версия |
---|---|---|
wxMSW | Microsoft Visual Studio – Visual C++ | 5.0+ |
Borland C++ (выпал из версии 3.1.5) | 5.5+ | |
C++Builder | 2006+ | |
Ватком С++, OpenWatcom | 10.6+ | |
КодВоин | 7+ | |
Сигвин | 1.5+ | |
МинГВ | 2.0+ | |
Компилятор Digital Mars C/C++ | 8.40+ | |
wxGTK | г++ | 2.95+ |
Кланг++ | 3.3+ | |
Компилятор Intel C++ | 9.1+ | |
Сан Студия C/C++ | 5.9 | |
HP AC++ | 3.8 | |
IBM XL C/С++ | 8.0 |
Привязки языков программирования
[ редактировать ]wxWidgets Библиотека реализована на C++ , с привязками , доступными для многих часто используемых языков программирования . [27]
wxWidgets лучше всего описать как набор инструментов для собственного режима , поскольку он обеспечивает тонкую абстракцию для собственных виджетов платформы, в отличие от эмуляции отображения виджетов с использованием графических примитивов. Вызов собственного виджета на целевой платформе приводит к созданию более естественного интерфейса, чем у таких наборов инструментов, как Swing (для Java), а также обеспечивает производительность и другие преимущества. [28]
Набор инструментов также не ограничивается разработкой графического пользовательского интерфейса, имея уровень межпроцессного взаимодействия , функциональные возможности сети сокетов и многое другое.
Инструменты RAD и IDE для wxWidgets
[ редактировать ]Существует множество инструментов быстрой разработки приложений (RAD) и интегрированной среды разработки (IDE). Известные инструменты включают в себя: [29] [30]
- Code::Blocks (через плагин wxSmith)
- CodeLite (через плагин wxCrafter)
- wxFormBuilder
Приложения, созданные с использованием wxWidgets
[ редактировать ]Известные приложения, использующие wxWidgets:
- 0 AD - видеоигра FOSS , похожая на Age of Empires.
- Amaya — инструмент для веб-разработки
- aMule – приложение для однорангового обмена файлами
- ActivePresenter – программа для записи экрана, видеоредактор и приложение для электронного обучения
- Audacity – кроссплатформенный звуковой редактор
- BitTorrent – приложение для однорангового обмена файлами
- Открытая инфраструктура Беркли для сетевых вычислений - с открытым исходным кодом. промежуточного программного обеспечения система
- Code::Blocks — C/C++ IDE
- CodeLite – простой редактор C++ (сборник бесплатных инструментов, реализованных с помощью плагинов)
- FileZilla — FTP-клиент
- FreeFileSync – бесплатное программное обеспечение для синхронизации файлов с открытым исходным кодом.
- GrandOrgue – виртуальный симулятор органа
- Guayadeque Music Player – музыкальный проигрыватель с базой данных
- Голливуд – использует wxWidgets в своем плагине RapaGUI.
- KiCad – бесплатный пакет программного обеспечения для автоматизации проектирования электроники (EDA).
- RapidSVN — клиент Subversion
- TortoiseCVS — CVS-клиент
См. также
[ редактировать ]- FLTK — легкий, кроссплатформенный, неродной набор инструментов для виджетов.
- Инструментарий FOX — быстрый кроссплатформенный набор инструментов для виджетов с открытым исходным кодом.
- GTK — набор инструментов GIMP, набор инструментов для виджетов, используемый GNOME . приложениями
- gtkmm — версия GTK для C++.
- Juce — обширный кроссплатформенный набор инструментов для виджетов.
- IUP — многоплатформенный набор инструментов для создания собственных графических пользовательских интерфейсов.
- Qt (набор инструментов) — платформа приложений, используемая KDE . приложениями
- U++ — кроссплатформенная среда разработки на C++.
- Набор инструментов для виджетов
- Список наборов виджетов
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с «О проекте wxWidgets» . wxwidgets.org . Проверено 2 января 2010 г.
- ^ Перейти обратно: а б «О Джулиане Смарте, www.anthemion.co.uk» . Anthemion.co.uk . Проверено 8 июня 2009 г.
- ^ «Джулиан Смарт» . bookfayre.cz . Проверено 8 июня 2009 г.
- ^ «Команда — wxWidgets» . wxwidgets.org .
- ^ «История — wxWidgets» . www.wxwidgets.org .
- ^ «wxWidgets: выпущена версия 3.2.4» . 11 ноября 2023 г. Проверено 11 ноября 2023 г.
- ^ Перейти обратно: а б «О том, кто использует wxWidgets?» . wxwidgets.org . Проверено 12 апреля 2011 г.
- ^ Перейти обратно: а б « Страница «Лицензия» на сайте» .
Лицензия wxWindows по сути является LGPL, за исключением того, что производные работы в двоичной форме могут распространяться на собственных условиях пользователя.
- ^ Перейти обратно: а б «wxEmbedded | домашняя страница встроенной кроссплатформенной библиотеки графического интерфейса» . www.wxembedded.com .
- ^ «Список приложений с открытым исходным кодом, использующих wxWidgets» . SourceForge.net . Проверено 22 апреля 2011 г.
- ^ «История — wxWidgets» . www.wxwidgets.org . Проверено 31 марта 2023 г.
- ^ Умный, Джулиан; Данн, Робин (август 2004 г.). «Смена имени» . Sourceforge.net . Проверено 23 апреля 2007 г.
- ^ Смарт, Джулиан (10 октября 2006 г.). «Google Summer of Code 2006: обзор проектов wxWidgets» . wxwidgets.org . Проверено 11 апреля 2011 г.
- ^ «Google Лето кода 2006» . Проверено 11 апреля 2011 г.
- ^ «История wxWidgets» . wxwidgets.org . Проверено 11 апреля 2011 г.
- ^ Перейти обратно: а б с д «Журнал изменений wxWidgets» . wxwidgets.org . Проверено 11 апреля 2011 г.
- ^ Перейти обратно: а б с «Новости» . wxwidgets.org . Проверено 11 апреля 2011 г.
- ^ Судиарто Рахарджо, Вилли (14 декабря 2006 г.). «WxWidgets 2.8.0» . Проверено 11.04.2011 .
- ^ Перейти обратно: а б «Выпуски wxWidgets/wxWidgets» . Гитхаб . Проверено 07 марта 2018 г.
- ^ «Различные лицензии и комментарии к ним – Проект GNU – Фонд свободного программного обеспечения» .
- ^ «Инициатива открытого исходного кода OSI – Лицензия библиотеки wxWindows: Лицензирование» . Инициатива открытого исходного кода . Проверено 28 апреля 2011 г.
- ^ «wxWidgets: Введение» . docs.wxwidgets.org . Проверено 14 января 2016 г.
- ^ «wxWidgets: Подробности о платформе» . docs.wxwidgets.org . Проверено 14 января 2016 г.
- ^ «wxWidgets-AOS: порт AmigaOS» . Проверено 24 апреля 2011 г.
- ^ «Поддерживаемые платформы» . wxwidgets.org . Проверено 24 апреля 2011 г.
- ^ «Разработка: Поддерживаемые классы — WxWiki» . wiki.wxwidgets.org .
- ^ «Общая информация о wxWidgets» . wxwidgets.org . Проверено 1 августа 2015 г.
- ^ «WxWidgets по сравнению с другими наборами инструментов» . wxwidgets.org . Проверено 2 января 2010 г.
- ^ «Инструменты для wxWidgets» . wxwidgets.org . Проверено 12 апреля 2011 г.
- ^ «Список интегрированных сред разработки» . wxwidgets.org . Проверено 12 апреля 2011 г.
Дальнейшее чтение
[ редактировать ]- Умный, Джулиан; Хок, Кевин; Чомор, Стефан (5 августа 2005 г.), Кроссплатформенное программирование графического пользовательского интерфейса с помощью wxWidgets , Прентис Холл , ISBN 978-0-13-147381-2