wxWidgets

Homepage: wxWidgets

wxWidgets позволяет компилировать программы на множестве компьютерных платформ с минимальными изменениями в исходном коде, либо вообще без них. Она поддерживает системы Microsoft Windows, Apple Macintosh, UNIX-подобные (для X11, Motif и GTK+), OpenVMS и OS/2. Встраиваемая (Embedded) версия находится в разработке. Библиотека разработана на C++, но может подключаться ко множеству других распространённых языков, таких, как Ruby (wxRuby, Anvil), Python (wxPython), Smalltalk (wxSqueak), Perl, Erlang, Haskell (wxHaskell).

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

  • Элемент ненумерованного спискаGCC и его портированные варианты Cygwin MinGW и emx+gcc
  • Microsoft Visual C++
  • Borland C++
  • Watcom C++
  • VisualAge
  • Symantec C++
  • Digital Mars C++

Особенность, которая отличает wxWidgets от многих других фреймворков, таких как MFC и OWL, — это многоплатформенная природа. wxWidgets имеет API, который одинаков или почти одинаков на всех поддерживаемых платформах. Это означает, что вы можете написать приложение, к примеру, под Windows и затем с очень немногими (если они вообще понадобятся) изменениями перекомпилировать его под Linux или Mac OS X. Это дает огромное преимущество по сравнению с раздельным программированием под каждую платформу: вам не придется изучать специализированный API для каждой платформы. Кроме того, при выпуске новых версий операционных систем и версий wxWidgets уже написанные приложения всегда будут выглядеть актуально и использовать последние графические версии элементов управления.

  • wxWidgets использует графические элементы интерфейса операционной системы. Многие фреймворки такие как Swing и Qt используют собственные графические элементы управления, снабжая их сменяемыми темами для каждой платформы. Напротив, wxWidgets использует родные графические элементы пользовательского интерфейса всюду где это возможно. В результате они не только выглядят как родные для операционной системы — они на самом деле родные. Это очень важно для пользователей, привыкших работать в конкретной среде, поскольку любое, даже самое незначительное, изменение интерфейса сказывается на их способности свободно использовать свой опыт управления в стиле стандарта их ОС. Вместо этого wxWidgets предоставляет тонкую абстракцию к существующим компонентам системы.
  • wxWidgets использует C++. Почему не Java? Java отлично подходит для web-приложений, но не является удачным выбором для десктопа. Прежде всего, C++ приложения, работающие с wxWidgets быстрее, имеют более естественный вид. Они проще в установке, поскольку не требуется специальная виртуальная машина. C++, к тому же, предоставляет простой доступ к низкоуровневой функциональности, и написанный код может быть легко интегрирован с уже имеющимся C/C++ кодом.
  • wxWidgets — бесплатная свободная платформа. Это важный психологический и стратегический момент. Создавая исходный код с использованием бесплатных свободных библиотек, всегда можно решить свои задачи редактируя исходный код; это гораздо практичнее, чем отправлять запрос на требуемую функциональность производителю библиотеки и дожидаться обновления.

Многие аспекты создания приложений, которые иначе пришлось бы решать самостоятельно, в wxWidgets уже инкапсулированы в готовые к применению классы. wxWidgets имеет широкий спектр пользователей — от программистов энтузиастов до крупных корпораций, от отделов научного программирования до медицинских исследовательских групп, от экологических исследователей до телекоммуникационной индустрии.

Ссылки

wxWidgets

WxDev-C++

Homepage: WxDev-C++

wxDev-C++ является развитием проекта Dev-C++, но так же содержит дизайнер форм для библиотеки разработки wxWidgets. WxDev-C++ включает все свойства Dev-C++, а также новейшую версию wxWidgets.

wxFormBuilder

Homepage: wxFormBuilder

Code::Blocks

Code::Blocks — свободная кроссплатформенная среда разработки. Code::Blocks написана на Си++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D (с ограничениями). Code::Blocks разрабатывается для Windows, Linux и Mac OS X. Среду можно собрать из исходников практически под любую Unix-подобную систему.

Important note for Ubuntu users: To be able to use the Debian packages on Ubuntu Karmic Koala (9.10) and Lucid Lynx (10.04) you have to use the wxWidgets packages from apt.wxwidgets.org, because the packages provided by Ubuntu are not compatible with the ones from wxwidgets.org. Alternatively you can use the Ubuntu repo provided by our user pasgui.
  • Первый вариант
# wget http://apt.wxwidgets.org/key.asc | sudo apt-key add -
# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 10.04 LTS
Release:	10.04
Codename:	lucid
# nano /etc/apt/sources.list
...
# wxWidgets/wxPython repository at apt.wxwidgets.org
deb http://apt.wxwidgets.org/ lucid-wx main
deb-src http://apt.wxwidgets.org/ lucid-wx main  

# aptitude update
PQ VPS сервера в 28+ странах.