wxWidgets
wxWidgets | |
---|---|
![]() | |
Тип | библиотека элементов интерфейса (виджетов) |
Разработчик | Разработчики и участники |
Написана на | C++, Perl, Python |
Операционные системы |
Windows |
Языки интерфейса | На 37 языках, включая русский |
Последняя версия | |
Репозиторий | github.com/wxWidgets/wxW… |
Состояние | Активное |
Лицензия | wxWidgets License (совместима с GPL) |
Сайт | wxwidgets.org |
![]() |
wxWidgets (ранее известная как wxWindows) —
Технические особенности и преимущества
wxWidgets — это инструмент разработчика для написания настольных или мобильных приложений с
Приложения обычно показывают пользователю окна со стандартными
Такие развитые средства библиотеки wxWidgets позволяют писать программы на базе единого
версия находится в разработке.Библиотека написана на C++, но может подключаться ко множеству других распространённых языков, таких, как Ruby (wxRuby, Anvil), Python (wxPython), Smalltalk (wxSqueak), Perl, Erlang, Haskell[3], Lua[4].
Среди компиляторов C++ поддерживаются:
- и emx+gcc
- Microsoft Visual C++
- Borland C++
- Watcom C++
- VisualAge
- SymantecC++
- Digital Mars C++
Важная особенность wxWidgets: в отличие от некоторых других библиотек (Swing, Qt и др.), она максимально использует «родные» графические элементы интерфейса операционной системы всюду, где это возможно. Это существенное преимущество для многих пользователей, поскольку они привыкают работать в конкретной среде, и изменения интерфейса программ часто вызывают затруднения в их работе.
Также wxWidgets обладает всеми преимуществами, присущими бесплатной свободной платформе:
- нулевая стоимость позволяет легко использовать её небогатым малым фирмам и индивидуальным разработчикам и экономить бюджет крупным организациям;
- открытый исходный код обеспечивает чрезвычайно долгий срок жизни проекта даже при отходе от него первоначальных создателей, что позволяет гарантировать долгосрочное развитие и всех производных проектов;
- открытый код позволяет свободно производить его аудит (что важно для приложений, использующихся в критических сферах) и при необходимости самостоятельно модифицировать с добавлением нужных функций, не полагаясь на добрую волю исходного разработчика. Этот момент особенно ценен для внутрикорпоративного применения.
Более того, крайне «либеральная» лицензия wxWidgets допускает линковку с несвободными фрагментами кода, что позволяет использовать её и в закрытых коммерческих проектах.
Все вышеперечисленные особенности способствовали популярности библиотеки у самых разных разработчиков — от программистов-энтузиастов до крупных корпораций и государственных учреждений (в числе которых
Краткая история wxWidgets
Проект под названием wxWindows (w от
Быстро появилось маленькое, однако полное энтузиазма сообщество программистов на wxWindows и обзавелось своей
Вначале wxWindows был нацелен на
В 1997 году новая версия wxWindows 2 API была спроектирована при помощи Маркуса Холзема (который ещё во времена создания рассылки создал Xt-направление wxWindows). Вольфрам Глогер предложил идею портирования wxWindows на GTK, и Роберт Роблинг создал необходимые графические элементы пользователя, адаптированные для GNOME. Он стал основоположником разработки wxGTK, и поныне оставаясь главным специалистом в разработке Unix/Linux-порта wxWidgets.
В 1998 году порт для Windows и порт для GTK были совмещены и выложены под управлением системы CVS. Вадим Цейтлин присоединился к проекту, чтобы поспособствовать разработке огромной части дизайна и кода. Штефан Чомор также в 1998 начал создание порта на MacOS.
1999 год обозначен приходом программиста с именем Вацлав Славик (Vaclav Slavik). Он создал внушительные wxHTML-классы и основанный на HTML просмотрщик справочных файлов.
В 2000 году фирма SciTech Inc. профинансировала начало разработки wxUniversal — собственный для wxWindows набор графических элементов пользователя для использования на платформах, у которых пока что нет никаких графических элементов пользователя.
В 2002 году Джулиан Смарт и Роберт Ройблинг добавили порт wxX11, используя wxUniversal.
В июле 2003 года wxWindows начала запускаться на Windows CE, а Роберт Ройблинг продемонстрировал wxGTK-приложение, запущенное на встраиваемой платформе GPE Linux.
В апреле 2005 года была выпущена версия 2.6, в которой было осуществлено слияние всех основных портов фреймворка.
Распространённое ПО, написанное на wxWidgets
- Amaya — веб-браузер и редактор
- aMule — клиент файлообменной сети
- Aegisub — кроссплатформенный редактор субтитров
- Audacity — звуковой редактор
- BitTorrent — клиент файлообменной сети
- Code::Blocks — интегрированная среда разработки
- CodeLite — редактор для программистов
- Dolphin — эмулятор игровых приставок
- FileZilla — FTP-клиент
- KiCad — программа разводки печатных плат
- RapidSVN — клиент Subversion
- TrueCrypt — программа для шифрования
- wxMaxima — система компьютерной алгебры
- UnrealEd — редактор для Unreal Engine
- и многие другие.
См. также
Примечания
- ↑ Release 3.2.5 — 2024.
- ↑ JulianSmart.com Архивировано 26 ноября 2014 года.
- ↑ wxHaskell . Дата обращения: 1 октября 2009. Архивировано 23 апреля 2009 года.
- ↑ wxLua . Дата обращения: 22 февраля 2008. Архивировано из оригинала 17 августа 2010 года.
- ↑ History - wxWidgets . www.wxwidgets.org. Дата обращения: 31 марта 2023. Архивировано 31 марта 2023 года.
- ↑ wxWidgets Name Change (англ.). — Смена имени на wxWidgets. Дата обращения: 29 октября 2008. Архивировано 27 августа 2011 года.
Литература
- Боровский А. wxWidgets. Часть 1: Живая история // Linux Format : Журнал. — ноябрь 2007. — № 11 (98). — С. 84—87.
- Боровский А. wxWidgets. Часть 2: Основы применения // Linux Format : Журнал. — декабрь 2007. — № 12 (99). — С. 90—93.
Ссылки
- Официальный сайт
- Неофициальный форум
- Проекты поддержки языков программирования:
- wxBasic — для Бейсик
- wxPerl — для Perl
- wxPython — для Python
- wxRuby — для Ruby
- Anvil — для Ruby, на базе wxRuby, с улучшеным синтаксисом
- wxSqueak — для Smalltalk
- wxLua — для Lua
- wx4j — для Java
- wxJS Архивная копия от 6 февраля 2006 на Wayback Machine — для JavaScript
- wxHaskell — для Haskell
- wxEiffel — для Эйфель
- wxD — для D
- wx.NET — для .NET
- wxErlang — для Erlang
- wxEuphoria — для Euphoria
- wxGlade — графический редактор форм для wxWidgets.
- wxDev-C++ — IDEс редактором форм для wxWidgets
- visualwx — Ещё один редактор форм и генератор кода для wxWidgets
- wxFormBuilder — OpenSource дизайнер форм, и RAD инструмент для wxWidgets
- DialogBlocks — ShareWare конструктор диалогов wxWidgets с удобным визуальным интерфейсом
- Code::Blocks — OpenSource C++ IDE (на базе wxWidgets) c RAD средством разработки wxSmith. Включает конструктор GUI, управление проектом и кодом C++, визуализированы практически все возможности wxWidgets.
Справочная документация
- Всё о кроссплатформенном программировании с wxWidgets (англ.) — Тематический сайт о кроссплатформенной разработке программного обеспечения с использованием библиотеки wxWidgets. Статьи, руководства, видеоуроки, дополнительные компоненты и библиотеки.
- wxWidgets на RealCoding (рус.) — Серия статей по wxWidgets на русском языке.
- Cross-Platform GUI Programming with wxWidgets (англ.) — первая опубликованная книга, описывающая работу с wxWidgets.
- Drawing and Printing in C++ with wxWidgets (англ.) — статья описывает идею контекста устройства, разъясняет концепцию области рисования вроде окна или печатаемой страницы. Она обсуждает доступные классы контекстов устройств и набор «инструментов рисования», которые wxWidgets предоставляет для работы со шрифтами, цветом, рисованием примитивов, и закраски областей.
- Создание кроссплатформенных GUI-приложений с использованием wxWidgets (рус.) — основы создания GUI-приложений на базе wxWidgets.
- Programming with wxDev-C++ (англ.) — книга на английском языке, в которой описывается программирование с использованием wxWidgets в среде wxDev-C++.
- Использование wxWidgets (рус.) — Блог, посвященный программированию с использованием wxWidgets
- Программное обеспечение по алфавиту
- Библиотеки виджетов
- Библиотеки на основе X
- Свободные библиотеки программ
- Кроссплатформенное программное обеспечение
- Программное обеспечение для Windows
- Программное обеспечение для Linux
- Программное обеспечение для macOS
- Библиотеки C++
- Свободное программное обеспечение, написанное на C++
- WxWidgets