wxWidgets

Материал из Википедии — свободной энциклопедии

wxWidgets
Логотип программы wxWidgets
Тип библиотека элементов интерфейса (виджетов)
Разработчик Разработчики и участники
Написана на C++, Perl, Python
Операционные системы
Windows
Языки интерфейса На 37 языках, включая русский
Последняя версия
Репозиторий github.com/wxWidgets/wxW…
Состояние Активное
Лицензия wxWidgets License (совместима с GPL)
Сайт wxwidgets.org
Логотип Викисклада Медиафайлы на Викискладе

wxWidgets (ранее известная как wxWindows) —

кроссплатформенных
на уровне исходного кода приложений. Основным применением wxWidgets является построение
1992 Джулианом Смартом (Julian Smart), который до сих пор является членом основной группы разработчиков и уделяет ему внимание, в частности, разрабатывая среду построения графических интерфейсов на wxWidgets — DialogBlocks[2]
.

Технические особенности и преимущества

wxWidgets — это инструмент разработчика для написания настольных или мобильных приложений с

кроссплатформенных приложений
и обеспечивает их стандартное поведение.

Приложения обычно показывают пользователю окна со стандартными

сетями, классы для организации многопоточности, конфигурирования приложений, межпроцессного взаимодействия, доступа к базам данных
, отладки, отправки дампов и множество других инструментов.

Такие развитые средства библиотеки wxWidgets позволяют писать программы на базе единого

версия находится в разработке.

Библиотека написана на C++, но может подключаться ко множеству других распространённых языков, таких, как Ruby (wxRuby, Anvil), Python (wxPython), Smalltalk (wxSqueak), Perl, Erlang, Haskell[3], Lua[4].

Среди компиляторов C++ поддерживаются:

Важная особенность wxWidgets: в отличие от некоторых других библиотек (Swing, Qt и др.), она максимально использует «родные» графические элементы интерфейса операционной системы всюду, где это возможно. Это существенное преимущество для многих пользователей, поскольку они привыкают работать в конкретной среде, и изменения интерфейса программ часто вызывают затруднения в их работе.

Также wxWidgets обладает всеми преимуществами, присущими бесплатной свободной платформе:

  • нулевая стоимость позволяет легко использовать её небогатым малым фирмам и индивидуальным разработчикам и экономить бюджет крупным организациям;
  • открытый исходный код обеспечивает чрезвычайно долгий срок жизни проекта даже при отходе от него первоначальных создателей, что позволяет гарантировать долгосрочное развитие и всех производных проектов;
  • открытый код позволяет свободно производить его аудит (что важно для приложений, использующихся в критических сферах) и при необходимости самостоятельно модифицировать с добавлением нужных функций, не полагаясь на добрую волю исходного разработчика. Этот момент особенно ценен для внутрикорпоративного применения.

Более того, крайне «либеральная» лицензия wxWidgets допускает линковку с несвободными фрагментами кода, что позволяет использовать её и в закрытых коммерческих проектах.

Все вышеперечисленные особенности способствовали популярности библиотеки у самых разных разработчиков — от программистов-энтузиастов до крупных корпораций и государственных учреждений (в числе которых

NASA
и многие другие).

Краткая история wxWidgets

Проект под названием wxWindows (w от

FTP-сервер
отделения в сентябре 1992, и другие разработчики начали использовать его код.

Быстро появилось маленькое, однако полное энтузиазма сообщество программистов на wxWindows и обзавелось своей

почтовой рассылкой
. Добавления и исправления получали распространение в рассылке. Постепенно расширялся круг пользовательской аудитории библиотеки по всему миру: индивидуальные программисты, академические группы, государственные учреждения и те, кто нашёл, что wxWindows — более удобный продукт с лучшей поддержкой, чем коммерческие продукты, которые они до этого видели или использовали.

Вначале wxWindows был нацелен на

Win32. Поскольку XView открывал путь на Motif
, то перенос на Motif был запущен весьма оперативно.

В 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.

торговой маркой Windows (за смену имени разработчики wxWidgets и других связанных проектов получили денежную компенсацию)[6]. Также в 2004 Штефан Чомор и его помощники успешно завершили перенос wxWidgets (wxMac) на MAC OS X, значительно расширив функциональные возможности приложений для OS X. Порт, использующий Cocoa, был заметно улучшен (направление возглавляли Дэвид Эллиот и Уильям Осборн). Уильям Осборн выиграл конкурс по созданию версии wxWidgets для Palm OS 6
, задачей ставилась минимальная поддержка платформы.

В апреле 2005 года была выпущена версия 2.6, в которой было осуществлено слияние всех основных портов фреймворка.

Распространённое ПО, написанное на wxWidgets

См. также Категория:Приложения, использующие WxWidgets
  • Amaya — веб-браузер и редактор
  • aMule — клиент файлообменной сети
  • Aegisub — кроссплатформенный редактор субтитров
  • Audacity — звуковой редактор
  • BitTorrent — клиент файлообменной сети
  • Code::Blocks — интегрированная среда разработки
  • CodeLite — редактор для программистов
  • Dolphin — эмулятор игровых приставок
  • FileZilla — FTP-клиент
  • KiCad — программа разводки печатных плат
  • RapidSVN — клиент Subversion
  • TrueCrypt — программа для шифрования
  • wxMaxima — система компьютерной алгебры
  • UnrealEd — редактор для Unreal Engine
  • и многие другие.

См. также

Примечания

  1. Release 3.2.5 — 2024.
  2. JulianSmart.com Архивировано 26 ноября 2014 года.
  3. wxHaskell. Дата обращения: 1 октября 2009. Архивировано 23 апреля 2009 года.
  4. wxLua. Дата обращения: 22 февраля 2008. Архивировано из оригинала 17 августа 2010 года.
  5. History - wxWidgets. www.wxwidgets.org. Дата обращения: 31 марта 2023. Архивировано 31 марта 2023 года.
  6. wxWidgets Name Change (англ.). — Смена имени на wxWidgets. Дата обращения: 29 октября 2008. Архивировано 27 августа 2011 года.

Литература

Ссылки

Справочная документация